[PATCH 2 of 5 foldmap-in-C V2] parsers._asciilower: use an explicit return object

Siddharth Agarwal sid0 at fb.com
Wed Apr 1 16:00:00 CDT 2015


# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1427921931 25200
#      Wed Apr 01 13:58:51 2015 -0700
# Node ID d00904680bc9a864604fa23e19480e60b7fc6feb
# Parent  d624f49c6f5f4741b8cdd1b3c8a9d2a305893c8c
parsers._asciilower: use an explicit return object

No functional change, but this will make upcoming patches cleaner.

diff --git a/mercurial/parsers.c b/mercurial/parsers.c
--- a/mercurial/parsers.c
+++ b/mercurial/parsers.c
@@ -98,6 +98,7 @@
 	char *str, *newstr;
 	Py_ssize_t i, len;
 	PyObject *newobj = NULL;
+	PyObject *ret = NULL;
 
 	str = PyBytes_AS_STRING(str_obj);
 	len = PyBytes_GET_SIZE(str_obj);
@@ -121,10 +122,11 @@
 		newstr[i] = lowertable[(unsigned char)c];
 	}
 
-	return newobj;
+	ret = newobj;
+	Py_INCREF(ret);
 quit:
 	Py_XDECREF(newobj);
-	return NULL;
+	return ret;
 }
 
 static PyObject *asciilower(PyObject *self, PyObject *args)


More information about the Mercurial-devel mailing list