]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/libpy.c
wxUniversal fixes:
[wxWidgets.git] / wxPython / src / libpy.c
index d8d22da4f4e365939bac9385bba91c0b279167fe..1116e677df78433c162c5240281e31e109a434c8 100644 (file)
@@ -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;
   if (*c != '_') {
     *ptr = (void *) 0;
     if (strcmp(c,"NULL") == 0) return (char *) 0;
-    else c;
+    else return c;
   }
   c++;
   /* Extract hex value from pointer */
   }
   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'))
     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 */
   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;
     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);
       Py_DECREF(sobj);
   }
   str = PyString_AsString(sobj);
+  if (str == NULL)
+      return "";
   return SWIG_GetPtr(str,ptr,type);
 }
 
   return SWIG_GetPtr(str,ptr,type);
 }