aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Modules/grpmodule.c
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.ru>2022-02-10 16:44:39 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:39 +0300
commite9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch)
tree64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/tools/python3/src/Modules/grpmodule.c
parent2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff)
downloadydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/tools/python3/src/Modules/grpmodule.c')
-rw-r--r--contrib/tools/python3/src/Modules/grpmodule.c302
1 files changed, 151 insertions, 151 deletions
diff --git a/contrib/tools/python3/src/Modules/grpmodule.c b/contrib/tools/python3/src/Modules/grpmodule.c
index e9976501c6..cdb3ae859b 100644
--- a/contrib/tools/python3/src/Modules/grpmodule.c
+++ b/contrib/tools/python3/src/Modules/grpmodule.c
@@ -34,32 +34,32 @@ static PyStructSequence_Desc struct_group_type_desc = {
};
-typedef struct {
- PyTypeObject *StructGrpType;
-} grpmodulestate;
-
-static inline grpmodulestate*
-get_grp_state(PyObject *module)
-{
- void *state = PyModule_GetState(module);
- assert(state != NULL);
- return (grpmodulestate *)state;
-}
-
-#define modulestate_global get_grp_state(PyState_FindModule(&grpmodule))
-
-static struct PyModuleDef grpmodule;
-
-#define DEFAULT_BUFFER_SIZE 1024
-
+typedef struct {
+ PyTypeObject *StructGrpType;
+} grpmodulestate;
+
+static inline grpmodulestate*
+get_grp_state(PyObject *module)
+{
+ void *state = PyModule_GetState(module);
+ assert(state != NULL);
+ return (grpmodulestate *)state;
+}
+
+#define modulestate_global get_grp_state(PyState_FindModule(&grpmodule))
+
+static struct PyModuleDef grpmodule;
+
+#define DEFAULT_BUFFER_SIZE 1024
+
static PyObject *
mkgrent(struct group *p)
{
int setIndex = 0;
- PyObject *v, *w;
+ PyObject *v, *w;
char **member;
- if ((v = PyStructSequence_New(modulestate_global->StructGrpType)) == NULL)
+ if ((v = PyStructSequence_New(modulestate_global->StructGrpType)) == NULL)
return NULL;
if ((w = PyList_New(0)) == NULL) {
@@ -111,9 +111,9 @@ static PyObject *
grp_getgrgid_impl(PyObject *module, PyObject *id)
/*[clinic end generated code: output=30797c289504a1ba input=15fa0e2ccf5cda25]*/
{
- PyObject *py_int_id, *retval = NULL;
- int nomem = 0;
- char *buf = NULL, *buf2 = NULL;
+ PyObject *py_int_id, *retval = NULL;
+ int nomem = 0;
+ char *buf = NULL, *buf2 = NULL;
gid_t gid;
struct group *p;
@@ -124,7 +124,7 @@ grp_getgrgid_impl(PyObject *module, PyObject *id)
PyErr_Clear();
if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
"group id must be int, not %.200",
- Py_TYPE(id)->tp_name) < 0) {
+ Py_TYPE(id)->tp_name) < 0) {
return NULL;
}
py_int_id = PyNumber_Long(id);
@@ -136,49 +136,49 @@ grp_getgrgid_impl(PyObject *module, PyObject *id)
}
Py_DECREF(py_int_id);
}
-#ifdef HAVE_GETGRGID_R
- int status;
- Py_ssize_t bufsize;
- /* Note: 'grp' will be used via pointer 'p' on getgrgid_r success. */
- struct group grp;
-
- Py_BEGIN_ALLOW_THREADS
- bufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
- if (bufsize == -1) {
- bufsize = DEFAULT_BUFFER_SIZE;
- }
-
- while (1) {
- buf2 = PyMem_RawRealloc(buf, bufsize);
- if (buf2 == NULL) {
- p = NULL;
- nomem = 1;
- break;
- }
- buf = buf2;
- status = getgrgid_r(gid, &grp, buf, bufsize, &p);
- if (status != 0) {
- p = NULL;
- }
- if (p != NULL || status != ERANGE) {
- break;
- }
- if (bufsize > (PY_SSIZE_T_MAX >> 1)) {
- nomem = 1;
- break;
- }
- bufsize <<= 1;
- }
-
- Py_END_ALLOW_THREADS
-#else
- p = getgrgid(gid);
-#endif
- if (p == NULL) {
- PyMem_RawFree(buf);
- if (nomem == 1) {
- return PyErr_NoMemory();
- }
+#ifdef HAVE_GETGRGID_R
+ int status;
+ Py_ssize_t bufsize;
+ /* Note: 'grp' will be used via pointer 'p' on getgrgid_r success. */
+ struct group grp;
+
+ Py_BEGIN_ALLOW_THREADS
+ bufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
+ if (bufsize == -1) {
+ bufsize = DEFAULT_BUFFER_SIZE;
+ }
+
+ while (1) {
+ buf2 = PyMem_RawRealloc(buf, bufsize);
+ if (buf2 == NULL) {
+ p = NULL;
+ nomem = 1;
+ break;
+ }
+ buf = buf2;
+ status = getgrgid_r(gid, &grp, buf, bufsize, &p);
+ if (status != 0) {
+ p = NULL;
+ }
+ if (p != NULL || status != ERANGE) {
+ break;
+ }
+ if (bufsize > (PY_SSIZE_T_MAX >> 1)) {
+ nomem = 1;
+ break;
+ }
+ bufsize <<= 1;
+ }
+
+ Py_END_ALLOW_THREADS
+#else
+ p = getgrgid(gid);
+#endif
+ if (p == NULL) {
+ PyMem_RawFree(buf);
+ if (nomem == 1) {
+ return PyErr_NoMemory();
+ }
PyObject *gid_obj = _PyLong_FromGid(gid);
if (gid_obj == NULL)
return NULL;
@@ -186,11 +186,11 @@ grp_getgrgid_impl(PyObject *module, PyObject *id)
Py_DECREF(gid_obj);
return NULL;
}
- retval = mkgrent(p);
-#ifdef HAVE_GETGRGID_R
- PyMem_RawFree(buf);
-#endif
- return retval;
+ retval = mkgrent(p);
+#ifdef HAVE_GETGRGID_R
+ PyMem_RawFree(buf);
+#endif
+ return retval;
}
/*[clinic input]
@@ -207,8 +207,8 @@ static PyObject *
grp_getgrnam_impl(PyObject *module, PyObject *name)
/*[clinic end generated code: output=67905086f403c21c input=08ded29affa3c863]*/
{
- char *buf = NULL, *buf2 = NULL, *name_chars;
- int nomem = 0;
+ char *buf = NULL, *buf2 = NULL, *name_chars;
+ int nomem = 0;
struct group *p;
PyObject *bytes, *retval = NULL;
@@ -217,56 +217,56 @@ grp_getgrnam_impl(PyObject *module, PyObject *name)
/* check for embedded null bytes */
if (PyBytes_AsStringAndSize(bytes, &name_chars, NULL) == -1)
goto out;
-#ifdef HAVE_GETGRNAM_R
- int status;
- Py_ssize_t bufsize;
- /* Note: 'grp' will be used via pointer 'p' on getgrnam_r success. */
- struct group grp;
-
- Py_BEGIN_ALLOW_THREADS
- bufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
- if (bufsize == -1) {
- bufsize = DEFAULT_BUFFER_SIZE;
- }
-
- while(1) {
- buf2 = PyMem_RawRealloc(buf, bufsize);
- if (buf2 == NULL) {
- p = NULL;
- nomem = 1;
- break;
- }
- buf = buf2;
- status = getgrnam_r(name_chars, &grp, buf, bufsize, &p);
- if (status != 0) {
- p = NULL;
- }
- if (p != NULL || status != ERANGE) {
- break;
- }
- if (bufsize > (PY_SSIZE_T_MAX >> 1)) {
- nomem = 1;
- break;
- }
- bufsize <<= 1;
- }
-
- Py_END_ALLOW_THREADS
-#else
- p = getgrnam(name_chars);
-#endif
- if (p == NULL) {
- if (nomem == 1) {
- PyErr_NoMemory();
- }
- else {
- PyErr_Format(PyExc_KeyError, "getgrnam(): name not found: %R", name);
- }
+#ifdef HAVE_GETGRNAM_R
+ int status;
+ Py_ssize_t bufsize;
+ /* Note: 'grp' will be used via pointer 'p' on getgrnam_r success. */
+ struct group grp;
+
+ Py_BEGIN_ALLOW_THREADS
+ bufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
+ if (bufsize == -1) {
+ bufsize = DEFAULT_BUFFER_SIZE;
+ }
+
+ while(1) {
+ buf2 = PyMem_RawRealloc(buf, bufsize);
+ if (buf2 == NULL) {
+ p = NULL;
+ nomem = 1;
+ break;
+ }
+ buf = buf2;
+ status = getgrnam_r(name_chars, &grp, buf, bufsize, &p);
+ if (status != 0) {
+ p = NULL;
+ }
+ if (p != NULL || status != ERANGE) {
+ break;
+ }
+ if (bufsize > (PY_SSIZE_T_MAX >> 1)) {
+ nomem = 1;
+ break;
+ }
+ bufsize <<= 1;
+ }
+
+ Py_END_ALLOW_THREADS
+#else
+ p = getgrnam(name_chars);
+#endif
+ if (p == NULL) {
+ if (nomem == 1) {
+ PyErr_NoMemory();
+ }
+ else {
+ PyErr_Format(PyExc_KeyError, "getgrnam(): name not found: %R", name);
+ }
goto out;
}
retval = mkgrent(p);
out:
- PyMem_RawFree(buf);
+ PyMem_RawFree(buf);
Py_DECREF(bytes);
return retval;
}
@@ -327,52 +327,52 @@ users are not explicitly listed as members of the groups they are in\n\
according to the password database. Check both databases to get\n\
complete membership information.)");
-static int grpmodule_traverse(PyObject *m, visitproc visit, void *arg) {
- Py_VISIT(get_grp_state(m)->StructGrpType);
- return 0;
-}
+static int grpmodule_traverse(PyObject *m, visitproc visit, void *arg) {
+ Py_VISIT(get_grp_state(m)->StructGrpType);
+ return 0;
+}
-static int grpmodule_clear(PyObject *m) {
- Py_CLEAR(get_grp_state(m)->StructGrpType);
- return 0;
-}
+static int grpmodule_clear(PyObject *m) {
+ Py_CLEAR(get_grp_state(m)->StructGrpType);
+ return 0;
+}
+
+static void grpmodule_free(void *m) {
+ grpmodule_clear((PyObject *)m);
+}
-static void grpmodule_free(void *m) {
- grpmodule_clear((PyObject *)m);
-}
-
static struct PyModuleDef grpmodule = {
PyModuleDef_HEAD_INIT,
"grp",
grp__doc__,
- sizeof(grpmodulestate),
+ sizeof(grpmodulestate),
grp_methods,
NULL,
- grpmodule_traverse,
- grpmodule_clear,
- grpmodule_free,
+ grpmodule_traverse,
+ grpmodule_clear,
+ grpmodule_free,
};
PyMODINIT_FUNC
PyInit_grp(void)
{
- PyObject *m;
- if ((m = PyState_FindModule(&grpmodule)) != NULL) {
- Py_INCREF(m);
- return m;
- }
-
- if ((m = PyModule_Create(&grpmodule)) == NULL) {
+ PyObject *m;
+ if ((m = PyState_FindModule(&grpmodule)) != NULL) {
+ Py_INCREF(m);
+ return m;
+ }
+
+ if ((m = PyModule_Create(&grpmodule)) == NULL) {
return NULL;
}
-
- grpmodulestate *state = PyModule_GetState(m);
- state->StructGrpType = PyStructSequence_NewType(&struct_group_type_desc);
- if (state->StructGrpType == NULL) {
+
+ grpmodulestate *state = PyModule_GetState(m);
+ state->StructGrpType = PyStructSequence_NewType(&struct_group_type_desc);
+ if (state->StructGrpType == NULL) {
return NULL;
- }
-
- Py_INCREF(state->StructGrpType);
- PyModule_AddObject(m, "struct_group", (PyObject *) state->StructGrpType);
+ }
+
+ Py_INCREF(state->StructGrpType);
+ PyModule_AddObject(m, "struct_group", (PyObject *) state->StructGrpType);
return m;
}