X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0ed460c2e7802793d591c84f3cfdbff159c5549..cfad3750c3ecc821ffae8b9b3de852551270846d:/src/common/utilscmn.cpp?ds=sidebyside diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index d590221e91..1488ca866c 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -51,8 +51,14 @@ #endif #endif #include +#ifndef __MWERKS__ #include #include +#endif + +#ifdef __SALFORDC__ +#include +#endif // Pattern matching code. // Yes, this path is deliberate (for Borland compilation) @@ -70,6 +76,36 @@ 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 @@ -118,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 @@ -525,54 +566,6 @@ wxFindMenuItemId (wxFrame * frame, const wxString& menuString, const wxString& i return menuBar->FindMenuItem (menuString, itemString); } -/* - * wxDebugStreamBuf - */ -#if !defined(_WINDLL) - -wxDebugStreamBuf::wxDebugStreamBuf(void) -{ - // usage doesn't need this, and i have no idea how to simulate it. -#if wxUSE_IOSTREAMH - if (allocate()) - setp(base(),ebuf()); -#endif -} - -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: @@ -807,3 +800,52 @@ 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 + +// Overloaded functions, taking a wxString +bool wxGetHostName(wxString& name) +{ + bool success = wxGetHostName(wxBuffer, 500); + if (success) + { + name = wxBuffer; + return TRUE; + } + else + return FALSE; +} + +bool wxGetUserId(wxString& buf) +{ + bool success = wxGetUserId(wxBuffer, 500); + if (success) + { + buf = wxBuffer; + return TRUE; + } + else + return FALSE; +} + +bool wxGetUserName(wxString& buf) +{ + bool success = wxGetUserName(wxBuffer, 500); + if (success) + { + buf = wxBuffer; + return TRUE; + } + else + return FALSE; +} +