]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/tokenzr.cpp
1. wxWindow::IsTopLevel() added and documented
[wxWidgets.git] / src / common / tokenzr.cpp
index eb992377113bf19e711d9f2a2b8b9eb9af21398e..19ae5e0f29a44ab49cfe32d98f3adb5deef8048b 100644 (file)
 #pragma implementation "tokenzr.h"
 #endif
 
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#endif
+
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/tokenzr.h"
@@ -72,6 +82,16 @@ bool wxStringTokenizer::HasMoreToken()
   return (m_string.Length() != 0);
 }
 
+// AVS - added to fix leading whitespace / mult. delims bugs
+void wxStringTokenizer::EatLeadingDelims() 
+{
+  int pos;
+
+  while ((pos=FindDelims(m_string, m_delims))==0) { // while leading delims
+     m_string = m_string.Mid((size_t)1);     // trim 'em from the left
+  }
+}
+
 wxString wxStringTokenizer::NextToken()
 {
   register off_t pos, pos2;
@@ -80,10 +100,14 @@ wxString wxStringTokenizer::NextToken()
   if (m_string.IsNull())
     return m_string;
 
+  if (!m_retdelims)
+    EatLeadingDelims(); // AVS - added to fix leading whitespace /
+                        // mult. delims bugs
+
   pos = FindDelims(m_string, m_delims);
   if (pos == -1) {
     r_string = m_string;
-    m_string = (char *)NULL;
+    m_string = wxEmptyString;
     
     return r_string;
   }