cpython: c48980af7df2 (original) (raw)
--- a/Modules/pwdmodule.c +++ b/Modules/pwdmodule.c @@ -6,6 +6,13 @@ #include <pwd.h> +#include "clinic/pwdmodule.c.h" +/[clinic input] +output preset file +module pwd +[clinic start generated code]/ +/[clinic end generated code: output=da39a3ee5e6b4b0d input=bbcf68b1f549f917]/ + static PyStructSequence_Field struct_pwd_type_fields[] = { {"pw_name", "user name"}, {"pw_passwd", "password"}, @@ -87,18 +94,25 @@ mkpwent(struct passwd *p) return v; } -PyDoc_STRVAR(pwd_getpwuid__doc__, -"getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\n[](#l1.22)
pw_gid,pw_gecos,pw_dir,pw_shell)\n\[](#l1.23)
-Return the password database entry for the given numeric user ID.\n[](#l1.24) -See help(pwd) for more on password database entries."); +/*[clinic input] +pwd.getpwuid +
+
+Return the password database entry for the given numeric user ID.
+
+See help(pwd)
for more on password database entries.
+[clinic start generated code]*/
static PyObject *
-pwd_getpwuid(PyObject *self, PyObject *args)
+pwd_getpwuid(PyModuleDef module, PyObject uidobj)
+/[clinic end generated code: output=cba29ae4c2bcb8e1 input=ae64d507a1c6d3e8]/
{
uid_t uid;
struct passwd *p;
- if (!_Py_Uid_Converter(uidobj, &uid)) { if (PyErr_ExceptionMatches(PyExc_OverflowError)) PyErr_Format(PyExc_KeyError, "getpwuid(): uid not found");
@@ -116,21 +130,25 @@ pwd_getpwuid(PyObject *self, PyObject *a return mkpwent(p); } -PyDoc_STRVAR(pwd_getpwnam__doc__, -"getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\n[](#l1.55)
pw_gid,pw_gecos,pw_dir,pw_shell)\n\[](#l1.56)
-Return the password database entry for the given user name.\n[](#l1.57) -See help(pwd) for more on password database entries."); +/*[clinic input] +pwd.getpwnam +
+
+Return the password database entry for the given user name.
+
+See help(pwd)
for more on password database entries.
+[clinic start generated code]*/
static PyObject *
-pwd_getpwnam(PyObject *self, PyObject *args)
+pwd_getpwnam_impl(PyModuleDef module, PyObject arg)
+/[clinic end generated code: output=66848d42d386fca3 input=d5f7e700919b02d3]/
{
char *name;
struct passwd *p;
- if (!PyArg_ParseTuple(args, "U:getpwnam", &arg))
if ((bytes = PyUnicode_EncodeFSDefault(arg)) == NULL) return NULL; if (PyBytes_AsStringAndSize(bytes, &name, NULL) == -1) @@ -147,14 +165,17 @@ out: }return NULL;[](#l1.81)
#ifdef HAVE_GETPWENT -PyDoc_STRVAR(pwd_getpwall__doc__, -"getpwall() -> list_of_entries\n[](#l1.90) -Return a list of all available password database entries, [](#l1.91) -in arbitrary order.\n[](#l1.92) -See help(pwd) for more on password database entries."); +/[clinic input] +pwd.getpwall + +Return a list of all available password database entries, in arbitrary order. + +See help(pwd) for more on password database entries. +[clinic start generated code]/ static PyObject * -pwd_getpwall(PyObject self) +pwd_getpwall_impl(PyModuleDef module) +/[clinic end generated code: output=ab30e37bf26d431d input=d7ecebfd90219b85]/ { PyObject *d; struct passwd *p; @@ -177,11 +198,10 @@ pwd_getpwall(PyObject *self) #endif static PyMethodDef pwd_methods[] = {