]> granicus.if.org Git - python/commitdiff
Deal with NULL fields in mkpwent.
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 17 Sep 2002 09:34:06 +0000 (09:34 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 17 Sep 2002 09:34:06 +0000 (09:34 +0000)
Modules/pwdmodule.c

index cb139bb036d6ef7d25d3f15daee2bb465b6894f2..9134edc1b17965e7a50bb26e0671ec2e95ecaee4 100644 (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);