Hi, 2014/1/3 Serhiy Storchaka <storch...@gmail.com>: >> - if (!PyArg_ParseTuple(arg, "kl:_acquire_restore", &count, &owner)) >> + if (!PyArg_ParseTuple(args, "(kl):_acquire_restore", &count, &owner)) >> return NULL; > > Please don't use "(...)" in PyArg_ParseTuple, it is dangerous (see issue6083 > [1]). > > [1] http://bugs.python.org/issue6083
Oh, I didn't know this issue. Keeping a reference to the tuple is annoying, it adds a lot of cleanup code. Would it be possible to handle this issue in Argument Clinic, split the function in two parts: a function to parse arguments and keep references, and the implementation function? I already saw that when a format requires to keep a reference. See for example os_path() and os_path_impl() in Modules/posixmodule.c. Victor _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com