[Python-Dev] Re: [Python-checkins] CVS: python/dist/src/Objects dictobject.c,2.65,2.66
Greg Stein
gstein@lyra.org
Thu, 30 Nov 2000 09:08:10 -0800
On Thu, Nov 30, 2000 at 04:31:07AM -0800, Moshe Zadka wrote:
>...
> *** dictobject.c 2000/09/01 23:29:27 2.65
> --- dictobject.c 2000/11/30 12:31:00 2.66
> ***************
> *** 710,713 ****
> --- 710,782 ----
>
> static PyObject *
> + dict_firstkey(register dictobject *mp, PyObject *args)
> + {
> + register int i;
> +
> + if (!PyArg_NoArgs(args))
> + return NULL;
PyArg_NoArgs() is deprecated because you cannot specify the method name. The
code should be:
if (!PyArg_ParseTuple(args, ":firstkey"))
return NULL;
(same in the next two funcs)
>...
> + if (mp->ma_table[i].me_value != NULL) {
> + PyObject *key = mp->ma_table[i].me_key;
> + PyObject *value = mp->ma_table[i].me_value;
> + PyObject *item = PyTuple_New(2);
> + if (item == NULL) {
> + return NULL;
> + }
> + Py_INCREF(key);
> + PyTuple_SetItem(item, 0, key);
> + Py_INCREF(value);
> + PyTuple_SetItem(item, 1, value);
These can be PyTuple_SET_ITEM() since you know you have a tuple.
Cheers,
-g
--
Greg Stein, http://www.lyra.org/