X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b62f00d8e3ec5437ab780cb3d73d299cc61e20c..e17978953a7e6e5cc01823c07d717b7c1ce7f1ae:/wxPython/src/libpy.c diff --git a/wxPython/src/libpy.c b/wxPython/src/libpy.c index d8d22da4f4..1116e677df 100644 --- a/wxPython/src/libpy.c +++ b/wxPython/src/libpy.c @@ -317,11 +317,11 @@ SWIG_GetPtr(char *c, void **ptr, char *t) if (*c != '_') { *ptr = (void *) 0; if (strcmp(c,"NULL") == 0) return (char *) 0; - else c; + else return c; } c++; /* Extract hex value from pointer */ - while (d = *c) { + while ((d = *c) != 0) { if ((d >= '0') && (d <= '9')) p = (p << 4) + (d - '0'); else if ((d >= 'a') && (d <= 'f')) @@ -362,7 +362,7 @@ SWIG_GetPtr(char *c, void **ptr, char *t) sp = &SwigPtrTable[start]; /* Try to find a match */ - while (start <= end) { + while (start < end) { /* was "<=" --robin */ if (strncmp(t,sp->name,sp->len) == 0) { name = sp->name; len = sp->len; @@ -409,6 +409,8 @@ SWIG_GetPtrObj(PyObject *obj, void **ptr, char *type) { Py_DECREF(sobj); } str = PyString_AsString(sobj); + if (str == NULL) + return ""; return SWIG_GetPtr(str,ptr,type); }