From fd727fd969cdbba54eec1b94c1ec6647d6fe38fe Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 6 Feb 2006 16:24:23 +0000 Subject: [PATCH] codegen/argtypes.py (UInt64Arg.write_param): Parse long arguments using ParseTuple and friends; allows ints to passed... Original commit message from CVS: 2006-02-06 Andy Wingo * codegen/argtypes.py (UInt64Arg.write_param): Parse long arguments using ParseTuple and friends; allows ints to passed for longs as a side benefit. --- ChangeLog | 6 ++++++ codegen/argtypes.py | 18 ++++++------------ common | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ba8cfeae9..4035264d76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-06 Andy Wingo + + * codegen/argtypes.py (UInt64Arg.write_param): Parse long + arguments using ParseTuple and friends; allows ints to passed for + longs as a side benefit. + 2006-02-02 Edward Hervey * gst/gst.override: diff --git a/codegen/argtypes.py b/codegen/argtypes.py index d4a62194ed..0be2e47ac0 100644 --- a/codegen/argtypes.py +++ b/codegen/argtypes.py @@ -294,19 +294,13 @@ class Int64Arg(ArgType): info.codeafter.append(' return PyLong_FromLongLong(ret);') class UInt64Arg(ArgType): - dflt = ' if (py_%(name)s)\n' \ - ' %(name)s = PyLong_AsUnsignedLongLong(py_%(name)s);\n' - before = ' %(name)s = PyLong_AsUnsignedLongLong(py_%(name)s);\n' def write_param(self, ptype, pname, pdflt, pnull, keeprefcount, info): - if pdflt: - info.varlist.add('guint64', pname + ' = ' + pdflt) - info.codebefore.append(self.dflt % {'name':pname}) - else: - info.varlist.add('guint64', pname) - info.codebefore.append(self.before % {'name':pname}) - info.varlist.add('PyObject', "*py_" + pname + ' = NULL') - info.arglist.append(pname) - info.add_parselist('O!', ['&PyLong_Type', '&py_' + pname], [pname]) + if pdflt: + info.varlist.add('guint64', pname + ' = ' + pdflt) + else: + info.varlist.add('guint64', pname) + info.arglist.append(pname) + info.add_parselist('K', ['&' + pname], [pname]) def write_return(self, ptype, ownsreturn, info): info.varlist.add('guint64', 'ret') info.codeafter.append(' return PyLong_FromUnsignedLongLong(ret);') diff --git a/common b/common index 79d67fe009..58567e5519 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 79d67fe009b6120b82d51df860c78e8361f02aea +Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e