Deal with NULL fields in mkpwent.

This commit is contained in:
Martin v. Löwis 2002-09-17 09:34:06 +00:00
parent ceb7c18c10
commit 29275c9331
1 changed files with 12 additions and 1 deletions

View File

@ -44,6 +44,17 @@ exception is raised if the entry asked for cannot be found.");
static PyTypeObject StructPwdType;
static void
sets(PyObject *v, int i, char* val)
{
if (val)
PyStructSequence_SET_ITEM(v, i, PyString_FromString(val));
else {
PyStructSequence_SET_ITEM(v, i, Py_None);
Py_INCREF(Py_None);
}
}
static PyObject *
mkpwent(struct passwd *p)
{
@ -53,7 +64,7 @@ mkpwent(struct passwd *p)
return NULL;
#define SETI(i,val) PyStructSequence_SET_ITEM(v, i, PyInt_FromLong((long) val))
#define SETS(i,val) PyStructSequence_SET_ITEM(v, i, PyString_FromString(val))
#define SETS(i,val) sets(v, i, val)
SETS(setIndex++, p->pw_name);
SETS(setIndex++, p->pw_passwd);