"Martin v. Loewis" wrote: > > > I was thinking of using pointer indirection for this: > > > > foo(PyObject *self, int *i) > > > > If i is given as argument, *i is set to the value, otherwise > > i is set to NULL. > > That is a good idea; I'll try to update my patch to more calling > conventions. This morning another idea popped up which could help us with handling generic callings schemes: How about making *all* parameters pointers ?! The calling mechanism would then just have to deal with an changing number of parameters and not with different types (this is how PyArg_ParseTuple() works too if I remember correctly). We could easily provide calling schemes for 1 - n arguments that way and the types of these arguments would be defined by the parser string just like before. Examples: foo(PyObject *self, PyObject *obj, int *i) bar(PyObject *self, int *i, int *j, char *txt, int *len) To call these, the calling mechanism would have to cast these to: foo(void *, void *, void *) bar(void *, void *, void *, void *, void *) Wouldn't this work ? -- Marc-Andre Lemburg CEO eGenix.com Software GmbH ______________________________________________________________________ Company & Consulting: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4