Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
3.2.1
-
None
-
Reviewed
Description
I suppose the TODO below is referring to the "path" variable which is passed in as an output variable to PyArg_ParseTuple right below. The TODO may be removed, since the code is right. Code using PyArg_ParseTuple will borrow the reference from the calling code, since there's a stack behind the call to the enclosing function (pyzoo_get_children in this case) which won't go away until the function returns.
Index: src/contrib/zkpython/src/c/zookeeper.c
===================================================================
— src/contrib/zkpython/src/c/zookeeper.c (revision 885582)
+++ src/contrib/zkpython/src/c/zookeeper.c (working copy)
@@ -774,8 +774,6 @@
static PyObject *pyzoo_get_children(PyObject *self, PyObject *args)
{
- // TO DO: Does Python copy the string or the reference? If it's the former
- // we should free the String_vector
int zkhid;
char *path;
PyObject *watcherfn = Py_None;