Issue 9369: const char* for PyObject_CallMethod and PyObject_CallFunction (original) (raw)

Created on 2010-07-24 09:53 by neXyon, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
patch.diff neXyon,2010-07-24 10:02 patch
constness.patch lars,2013-01-09 15:46 Patch to add const to a few API arguments review
constness.patch lars,2013-01-09 16:01 review
Messages (15)
msg111437 - (view) Author: Jörg Müller (neXyon) Date: 2010-07-24 09:53
Patch attached
msg111439 - (view) Author: Jörg Müller (neXyon) Date: 2010-07-24 10:02
I've merged the patch with the changes from Armin in .
msg117887 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2010-10-02 17:05
Martin, what do you think about this kind of changes? Are there possible regressions or incompatibilities?
msg117888 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2010-10-02 17:09
AFAICT, they are compatible, so +1. The typical proposition of an incompatible change either proposes to use const char* as the return type, or has multi-level pointers that are proposed to be constified.
msg117889 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2010-10-02 17:14
Thanks for the confirmation!
msg179451 - (view) Author: Lars (lars) Date: 2013-01-09 15:27
Any reason why this issue is still open? I just got a lot of compiler warnings when building Numpy, so this isn't just relevant to C++ programmers. (Btw., I did RTFM: the issue's Resolution is "accepted" but that option is not documented.)
msg179453 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2013-01-09 15:31
Let's try this again for 3.4
msg179457 - (view) Author: Lars (lars) Date: 2013-01-09 15:46
Redid the patch.
msg179462 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2013-01-09 15:55
Docs update needed. Perhaps some other functions which accepts char* (i.e. PyObject_CallMethodObjArgs or PyDict_GetItemString) should be fixed.
msg179463 - (view) Author: Lars (lars) Date: 2013-01-09 16:01
Oops, forgot to save changes to Doc/c-api/object.rst. PyObject_CallMethodObjArgs takes a PyObject*, mustn't that be non-const for reference counting to work? PyDict_GetItemString already has const, just not in refcounts.dat. Fixed.
msg179493 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2013-01-09 22:13
> PyObject_CallMethodObjArgs takes a PyObject*, mustn't that be non-const for reference counting to work? Then refcounts.dat wrong. > PyDict_GetItemString already has const, just not in refcounts.dat. Fixed. There are a lot of char* arguments in refcounts.dat. If refcounts.dat differs from actual function signature, this is a bug, and fix must be applied to other versions too. If they conform, perhaps this argument can be enhanced to "const char*" in 3.4. Therefore two issues are needed, one for the new feature, and one for the bugfixing.
msg182191 - (view) Author: Lars (lars) Date: 2013-02-15 23:43
I'm sorry, I really don't understand this refcounts.dat file and I'm not going to hack it further. Does the patch as it currently stands solve the issue with CallMethod and CallFunction, or not? (It has the changes to the docs.)
msg190284 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-05-29 10:11
Looks good to me.
msg190314 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2013-05-29 15:36
Jörg, Lars, can you please submit a contributor form? http://python.org/psf/contrib/contrib-form/ http://python.org/psf/contrib/
msg190315 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2013-05-29 15:51
New changeset 0a45896a7cde by Serhiy Storchaka in branch 'default': Issue #9369: The types of `char*` arguments of PyObject_CallFunction() and http://hg.python.org/cpython/rev/0a45896a7cde
History
Date User Action Args
2022-04-11 14:57:04 admin set github: 53615
2013-06-24 08:32:19 serhiy.storchaka set status: open -> closed
2013-05-29 15:52:16 serhiy.storchaka set resolution: accepted -> fixedstage: commit review -> resolved
2013-05-29 15:51:18 python-dev set nosy: + python-devmessages: +
2013-05-29 15:36:32 serhiy.storchaka set messages: +
2013-05-29 11:13:14 serhiy.storchaka set assignee: serhiy.storchaka
2013-05-29 10:11:58 pitrou set nosy: + pitroumessages: +
2013-05-28 19:50:25 serhiy.storchaka link issue1772673 dependencies
2013-02-15 23:43:37 lars set messages: +
2013-01-09 22:13:59 serhiy.storchaka set messages: +
2013-01-09 16:01:17 lars set files: + constness.patchmessages: +
2013-01-09 15:55:52 serhiy.storchaka set nosy: + serhiy.storchakamessages: +
2013-01-09 15:46:33 lars set files: + constness.patchmessages: +
2013-01-09 15:31:24 christian.heimes set nosy: + christian.heimesmessages: + versions: + Python 3.4, - Python 3.2
2013-01-09 15:27:28 lars set nosy: + larsmessages: +
2010-10-02 23:25:19 Trundle set nosy: + Trundle
2010-10-02 17:14:35 amaury.forgeotdarc set resolution: acceptedmessages: +
2010-10-02 17:09:35 loewis set messages: +
2010-10-02 17:05:06 amaury.forgeotdarc set nosy: + amaury.forgeotdarc, loewismessages: +
2010-07-24 11:17:49 eric.araujo set nosy: + aronacherstage: commit review
2010-07-24 11:16:57 eric.araujo link issue9368 superseder
2010-07-24 10:02:48 neXyon set files: - patch.diff
2010-07-24 10:02:19 neXyon set files: + patch.difftype: enhancement -> behaviormessages: +
2010-07-24 09:53:20 neXyon create