2014-08-22 15:08:46 -03:00
|
|
|
/*[clinic input]
|
|
|
|
preserve
|
|
|
|
[clinic start generated code]*/
|
|
|
|
|
2022-08-11 18:25:49 -03:00
|
|
|
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
|
|
|
|
# include "pycore_gc.h" // PyGC_Head
|
|
|
|
# include "pycore_runtime.h" // _Py_ID()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2014-08-22 15:08:46 -03:00
|
|
|
PyDoc_STRVAR(pwd_getpwuid__doc__,
|
|
|
|
"getpwuid($module, uidobj, /)\n"
|
|
|
|
"--\n"
|
|
|
|
"\n"
|
|
|
|
"Return the password database entry for the given numeric user ID.\n"
|
|
|
|
"\n"
|
|
|
|
"See `help(pwd)` for more on password database entries.");
|
|
|
|
|
|
|
|
#define PWD_GETPWUID_METHODDEF \
|
|
|
|
{"getpwuid", (PyCFunction)pwd_getpwuid, METH_O, pwd_getpwuid__doc__},
|
|
|
|
|
|
|
|
PyDoc_STRVAR(pwd_getpwnam__doc__,
|
2018-09-07 14:10:39 -03:00
|
|
|
"getpwnam($module, name, /)\n"
|
2014-08-22 15:08:46 -03:00
|
|
|
"--\n"
|
|
|
|
"\n"
|
|
|
|
"Return the password database entry for the given user name.\n"
|
|
|
|
"\n"
|
|
|
|
"See `help(pwd)` for more on password database entries.");
|
|
|
|
|
|
|
|
#define PWD_GETPWNAM_METHODDEF \
|
2015-04-03 18:12:11 -03:00
|
|
|
{"getpwnam", (PyCFunction)pwd_getpwnam, METH_O, pwd_getpwnam__doc__},
|
2014-08-22 15:08:46 -03:00
|
|
|
|
|
|
|
static PyObject *
|
2018-09-07 14:10:39 -03:00
|
|
|
pwd_getpwnam_impl(PyObject *module, PyObject *name);
|
2014-08-22 15:08:46 -03:00
|
|
|
|
|
|
|
static PyObject *
|
2018-09-07 14:10:39 -03:00
|
|
|
pwd_getpwnam(PyObject *module, PyObject *arg)
|
2014-08-22 15:08:46 -03:00
|
|
|
{
|
|
|
|
PyObject *return_value = NULL;
|
2018-09-07 14:10:39 -03:00
|
|
|
PyObject *name;
|
2014-08-22 15:08:46 -03:00
|
|
|
|
2018-12-25 07:23:47 -04:00
|
|
|
if (!PyUnicode_Check(arg)) {
|
2019-08-29 11:49:08 -03:00
|
|
|
_PyArg_BadArgument("getpwnam", "argument", "str", arg);
|
2014-08-22 15:08:46 -03:00
|
|
|
goto exit;
|
2016-06-09 10:16:06 -03:00
|
|
|
}
|
2018-12-25 07:23:47 -04:00
|
|
|
if (PyUnicode_READY(arg) == -1) {
|
|
|
|
goto exit;
|
|
|
|
}
|
|
|
|
name = arg;
|
2018-09-07 14:10:39 -03:00
|
|
|
return_value = pwd_getpwnam_impl(module, name);
|
2014-08-22 15:08:46 -03:00
|
|
|
|
|
|
|
exit:
|
|
|
|
return return_value;
|
|
|
|
}
|
|
|
|
|
|
|
|
#if defined(HAVE_GETPWENT)
|
|
|
|
|
|
|
|
PyDoc_STRVAR(pwd_getpwall__doc__,
|
|
|
|
"getpwall($module, /)\n"
|
|
|
|
"--\n"
|
|
|
|
"\n"
|
|
|
|
"Return a list of all available password database entries, in arbitrary order.\n"
|
|
|
|
"\n"
|
|
|
|
"See help(pwd) for more on password database entries.");
|
|
|
|
|
|
|
|
#define PWD_GETPWALL_METHODDEF \
|
|
|
|
{"getpwall", (PyCFunction)pwd_getpwall, METH_NOARGS, pwd_getpwall__doc__},
|
|
|
|
|
|
|
|
static PyObject *
|
2016-07-07 11:35:15 -03:00
|
|
|
pwd_getpwall_impl(PyObject *module);
|
2014-08-22 15:08:46 -03:00
|
|
|
|
|
|
|
static PyObject *
|
2016-07-07 11:35:15 -03:00
|
|
|
pwd_getpwall(PyObject *module, PyObject *Py_UNUSED(ignored))
|
2014-08-22 15:08:46 -03:00
|
|
|
{
|
|
|
|
return pwd_getpwall_impl(module);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* defined(HAVE_GETPWENT) */
|
|
|
|
|
|
|
|
#ifndef PWD_GETPWALL_METHODDEF
|
|
|
|
#define PWD_GETPWALL_METHODDEF
|
|
|
|
#endif /* !defined(PWD_GETPWALL_METHODDEF) */
|
2022-08-11 18:25:49 -03:00
|
|
|
/*[clinic end generated code: output=a95bc08653cda56b input=a9049054013a1b77]*/
|