Seite 1 von 1

[C-API] Invalide Objekte erkennem

Verfasst: Sonntag 6. Juni 2010, 18:59
von theliquidwave
Hallo.
Wenn ich beispielsweise folgenden Code verwende:

Code: Alles auswählen

PyObject *pyArg1;
PyObject *pyArg2;
PyObject *pyArg3;

if (!PyArg_ParseTuple(pyArgs, "O|OO", &pyArg1, &pyArg2, &pyArg3))
{
    return (PyObject*)NULL;
}

// pyArg1, pyArg2 und pyArg3 haben hier alle eine Adresse
// wenn ich jedoch z.B. den 2. und 3. Parameter nicht übergebe, crasht folgendes:
if (PyList_Check(pyArg2))
{
    // crasht, pyArg2 ist aber nicht NULL
}
Wie bekomme ich nun heraus, ob das dahintersteckende PyObject* auch wirklich valid ist?

Gruß

Re: [C-API] Invalide Objekte erkennem

Verfasst: Sonntag 6. Juni 2010, 21:32
von tordmor
Vermutlich, in dem Du die Pointer mit NULL initialisierst.

Re: [C-API] Invalide Objekte erkennem

Verfasst: Montag 7. Juni 2010, 01:20
von theliquidwave
Owned :mrgreen:
Ok, das war nun wirklich dumm...

Gruß & Danke