]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed (yet another?) crash in wxStrtok
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 8 Sep 2002 00:49:26 +0000 (00:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 8 Sep 2002 00:49:26 +0000 (00:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/wxchar.cpp

index 63ae0e26e7ab12bc8078e51eace2f52c0000c978..db698b6e5750b39ed991985fc28acac83c6aa3bc 100644 (file)
@@ -920,22 +920,35 @@ int WXDLLEXPORT wxStrnicmp(const wxChar *s1, const wxChar *s2, size_t n)
 #ifndef wxStrtok
 WXDLLEXPORT wxChar * wxStrtok(wxChar *psz, const wxChar *delim, wxChar **save_ptr)
 {
-  if (!psz) psz = *save_ptr;
-  psz += wxStrspn(psz, delim);
-  if (!*psz) {
-    *save_ptr = (wxChar *)NULL;
-    return (wxChar *)NULL;
-  }
-  wxChar *ret = psz;
-  psz = wxStrpbrk(psz, delim);
-  if (!psz) *save_ptr = (wxChar*)NULL;
-  else {
-    *psz = wxT('\0');
-    *save_ptr = psz + 1;
-  }
-  return ret;
+    if (!psz)
+    {
+        psz = *save_ptr;
+        if ( !psz )
+            return NULL;
+    }
+
+    psz += wxStrspn(psz, delim);
+    if (!*psz)
+    {
+        *save_ptr = (wxChar *)NULL;
+        return (wxChar *)NULL;
+    }
+
+    wxChar *ret = psz;
+    psz = wxStrpbrk(psz, delim);
+    if (!psz)
+    {
+        *save_ptr = (wxChar*)NULL;
+    }
+    else
+    {
+        *psz = wxT('\0');
+        *save_ptr = psz + 1;
+    }
+
+    return ret;
 }
-#endif
+#endif // wxStrtok
 
 #ifndef wxSetlocale
 WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale)