]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/utilscmn.cpp
RenameEntry/Group() functions added to wxConfig and derivations (not yet
[wxWidgets.git] / src / common / utilscmn.cpp
index cb7890e7a8dd666d256acd63895bcd00fd4db1b9..fc82bca82c348233741d15691a439a63cfe228cb 100644 (file)
 
 #if wxUSE_IOSTREAMH
 #include <iostream.h>
+#include <fstream.h>
 #else
 #include <iostream>
+#include <fstream>
+#  ifdef _MSC_VER
+      using namespace std;
+#  endif
 #endif
 
-#include <fstream.h>
 #include <ctype.h>
 #include <stdio.h>
 #include <stdlib.h>
 #endif
 #endif
 #include <time.h>
+#ifndef __MWERKS__
 #include <sys/types.h>
 #include <sys/stat.h>
+#endif
+
+#ifdef __SALFORDC__
+#include <clib.h>
+#endif
 
 // Pattern matching code.
 // Yes, this path is deliberate (for Borland compilation)
 
 extern char *wxBuffer;
 
+#ifdef __WXMAC__
+int strcasecmp(const char *str_1, const char *str_2)
+{
+  register char c1, c2;
+  do {
+    c1 = tolower(*str_1++);
+    c2 = tolower(*str_2++);
+  } while ( c1 && (c1 == c2) );
+
+  return c1 - c2;
+}
+
+int strncasecmp(const char *str_1, const char *str_2, size_t maxchar)
+{
+
+  register char c1, c2;
+  while( maxchar--) 
+  {
+    c1 = tolower(*str_1++);
+    c2 = tolower(*str_2++);
+    
+    if ( !c1 || c1!=c2 )
+               return c1 - c2;
+                   
+  } ;
+
+  return 0 ;
+
+}
+#endif
 #ifdef __VMS__
 // we have no strI functions under VMS, therefore I have implemented
 // an inefficient but portable version: convert copies of strings to lowercase
@@ -114,8 +154,13 @@ int strncasecmp(const char *str_1, const char *str_2, size_t maxchar)
 #ifdef __WINDOWS__
 
 #ifndef __GNUWIN32__
+#ifndef __MWERKS__
 #define strcasecmp stricmp
 #define strncasecmp strnicmp
+#else
+#define strcasecmp _stricmp
+#define strncasecmp _strnicmp
+#endif
 #endif
 
 #ifdef _MSC_VER
@@ -386,6 +431,14 @@ char *wxStripMenuCodes (char *in, char *out)
   return tmpOut;
 }
 
+wxString wxStripMenuCodes(const wxString& str)
+{
+    char *buf = new char[str.Length() + 1];
+    wxStripMenuCodes((char*) (const char*) str, buf);
+    wxString str1(buf);
+    delete[] buf;
+    return str1;
+}
 
 /*
  * Window search functions
@@ -433,7 +486,7 @@ wxFindWindowByLabel1 (const wxString& title, wxWindow * parent)
 
   if (parent)
     {
-      for (wxNode * node = parent->GetChildren()->First (); node; node = node->Next ())
+      for (wxNode * node = parent->GetChildren().First (); node; node = node->Next ())
        {
          wxWindow *win = (wxWindow *) node->Data ();
          wxWindow *retwin = wxFindWindowByLabel1 (title, win);
@@ -489,7 +542,7 @@ wxFindWindowByName1 (const wxString& title, wxWindow * parent)
 
   if (parent)
     {
-      for (wxNode * node = parent->GetChildren()->First (); node; node = node->Next ())
+      for (wxNode * node = parent->GetChildren().First (); node; node = node->Next ())
        {
          wxWindow *win = (wxWindow *) node->Data ();
          wxWindow *retwin = wxFindWindowByName1 (title, win);
@@ -513,50 +566,6 @@ wxFindMenuItemId (wxFrame * frame, const wxString& menuString, const wxString& i
   return menuBar->FindMenuItem (menuString, itemString);
 }
 
-/*
- * wxDebugStreamBuf
- */
-#if !defined(_WINDLL)
-wxDebugStreamBuf::wxDebugStreamBuf(void)
-{
-  if (allocate()) setp(base(),ebuf());
-}
-
-int wxDebugStreamBuf::overflow(int WXUNUSED(i))
-{
-  int len = pptr() - pbase();
-  char *txt = new char[len+1];
-  strncpy(txt, pbase(), len);
-  txt[len] = '\0';
-#ifdef __WXMSW__
-  OutputDebugString((LPCSTR)txt);
-#else
-  fprintf(stderr, txt);
-#endif
-  setp(pbase(), epptr());
-  delete[] txt;
-  return EOF;
-}
-
-int wxDebugStreamBuf::sync(void)
-{
-  int len = pptr() - pbase();
-  char *txt = new char[len+1];
-  strncpy(txt, pbase(), len);
-  txt[len] = '\0';
-#ifdef __WXMSW__
-  OutputDebugString((LPCSTR)txt);
-#else
-  fprintf(stderr, txt);
-#endif
-  setp(pbase(), epptr());
-  delete[] txt;
-  return 0;
-}
-
-#endif
-
 /*
 On Fri, 21 Jul 1995, Paul Craven wrote:
 
@@ -791,3 +800,14 @@ wxString wxGetTextFromUser(const wxString& message, const wxString& caption,
         return wxString("");
 }
 
+#ifdef __MWERKS__
+char *strdup(const char *s) 
+{
+       return strcpy( (char*) malloc( strlen( s ) + 1 ) , s ) ;
+}
+
+int    isascii( int c ) 
+{
+       return ( c >= 0 && c < 128 ) ;
+}
+#endif