Hello,
Defining a user type which implements number protocol should be treated as a
number (long) in PyArg_ParseTuple using "l" format.
In getargs.c:
case 'l': {/* long int */
long *p = va_arg(*p_va, long *);
long ival;
if (float_argument_error(arg))
return converterr("integer<l>", arg, msgbuf, bufsize);
ival = PyLong_AsLong(arg);
if (ival == -1 && PyErr_Occurred())
return converterr("integer<l>", arg, msgbuf, bufsize);
else
*p = ival;
break;
}
ival should not be resolved through PyLong_AsLong, but through
functionality/interface like PyNumber_Long, thus allowing more diversity in
accessing the PyArg_Parse interfaces.
Petre
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com