From: Guido van Rossum Date: Wed, 23 Dec 1998 05:01:38 +0000 (+0000) Subject: Add 'N' format character to Py_BuildValue -- like 'O' but doesn't INCREF. X-Git-Tag: v1.5.2b2~508 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d341500d8f61633aefe90f3c8d4cc154360812ae;p=thirdparty%2FPython%2Fcpython.git Add 'N' format character to Py_BuildValue -- like 'O' but doesn't INCREF. Patch and suggestion by Greg Couch. --- diff --git a/Python/modsupport.c b/Python/modsupport.c index 6066aa860e13..56bde9e974fc 100644 --- a/Python/modsupport.c +++ b/Python/modsupport.c @@ -332,6 +332,7 @@ do_mkvalue(p_format, p_va) return v; } + case 'N': case 'S': case 'O': if (**p_format == '&') { @@ -345,7 +346,8 @@ do_mkvalue(p_format, p_va) PyObject *v; v = va_arg(*p_va, PyObject *); if (v != NULL) - Py_INCREF(v); + if (*(*p_format - 1) != 'N') + Py_INCREF(v); else if (!PyErr_Occurred()) /* If a NULL was passed * because a call that should