diff --git a/string/obsolete/nsString.cpp b/string/obsolete/nsString.cpp index ad9461f4b8ca..dbe9a38e181f 100644 --- a/string/obsolete/nsString.cpp +++ b/string/obsolete/nsString.cpp @@ -889,14 +889,14 @@ nsCString& nsCString::Assign(char aChar) { * @param * @return */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCString& nsCString::operator=(const nsSubsumeCStr& aSubsumeString) { - nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX and VAC++ compiler CSubsume(*this,temp); #else nsCString& nsCString::operator=(nsSubsumeCStr& aSubsumeString) { CSubsume(*this,aSubsumeString); -#endif // AIX +#endif // AIX || XP_OS2_VACPP return *this; } #endif @@ -1946,14 +1946,14 @@ nsCAutoString::nsCAutoString(PRUnichar aChar) : nsCString(){ * @update gess 1/4/99 * @param reference to a subsumeString */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCAutoString::nsCAutoString(const nsSubsumeCStr& aSubsumeStr) :nsCString() { - nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX and VAC++ compilers CSubsume(*this,temp); #else nsCAutoString::nsCAutoString( nsSubsumeCStr& aSubsumeStr) :nsCString() { CSubsume(*this,aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP } /** diff --git a/string/obsolete/nsString.h b/string/obsolete/nsString.h index 6c01c9205a57..e75cba6f42b5 100644 --- a/string/obsolete/nsString.h +++ b/string/obsolete/nsString.h @@ -237,6 +237,7 @@ public: nsSubsumeCStr operator+(char aChar); #endif + /********************************************************************** Lexomorphic transforms... *********************************************************************/ @@ -432,8 +433,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsCString& operator=(nsSubsumeCStr& aSubsumeString); #endif @@ -813,11 +814,11 @@ public: // nsCAutoString(PRUnichar aChar); #endif -#ifdef AIX - nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX and VAC++ require a const #else nsCAutoString(nsSubsumeCStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS diff --git a/string/obsolete/nsString2.h b/string/obsolete/nsString2.h index fc71b6ed2eaf..b861f65b2077 100644 --- a/string/obsolete/nsString2.h +++ b/string/obsolete/nsString2.h @@ -124,8 +124,8 @@ public: * This constructor takes a subsumestr * @param reference to subsumestr */ -#ifdef AIX - nsString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const here +#if defined(AIX) || defined(XP_OS2_VACPP) + nsString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ require a const here #else nsString(nsSubsumeStr& aSubsumeStr); #endif @@ -468,8 +468,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsString& operator=(nsSubsumeStr& aSubsumeString); #endif @@ -904,11 +904,11 @@ public: // nsAutoString(const nsStr& aString); #endif -#ifdef AIX - nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ requires a const #else nsAutoString(nsSubsumeStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS diff --git a/xpcom/ds/nsString.cpp b/xpcom/ds/nsString.cpp index ad9461f4b8ca..dbe9a38e181f 100644 --- a/xpcom/ds/nsString.cpp +++ b/xpcom/ds/nsString.cpp @@ -889,14 +889,14 @@ nsCString& nsCString::Assign(char aChar) { * @param * @return */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCString& nsCString::operator=(const nsSubsumeCStr& aSubsumeString) { - nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX and VAC++ compiler CSubsume(*this,temp); #else nsCString& nsCString::operator=(nsSubsumeCStr& aSubsumeString) { CSubsume(*this,aSubsumeString); -#endif // AIX +#endif // AIX || XP_OS2_VACPP return *this; } #endif @@ -1946,14 +1946,14 @@ nsCAutoString::nsCAutoString(PRUnichar aChar) : nsCString(){ * @update gess 1/4/99 * @param reference to a subsumeString */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCAutoString::nsCAutoString(const nsSubsumeCStr& aSubsumeStr) :nsCString() { - nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX and VAC++ compilers CSubsume(*this,temp); #else nsCAutoString::nsCAutoString( nsSubsumeCStr& aSubsumeStr) :nsCString() { CSubsume(*this,aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP } /** diff --git a/xpcom/ds/nsString.h b/xpcom/ds/nsString.h index 6c01c9205a57..e75cba6f42b5 100644 --- a/xpcom/ds/nsString.h +++ b/xpcom/ds/nsString.h @@ -237,6 +237,7 @@ public: nsSubsumeCStr operator+(char aChar); #endif + /********************************************************************** Lexomorphic transforms... *********************************************************************/ @@ -432,8 +433,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsCString& operator=(nsSubsumeCStr& aSubsumeString); #endif @@ -813,11 +814,11 @@ public: // nsCAutoString(PRUnichar aChar); #endif -#ifdef AIX - nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX and VAC++ require a const #else nsCAutoString(nsSubsumeCStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS diff --git a/xpcom/ds/nsString2.h b/xpcom/ds/nsString2.h index fc71b6ed2eaf..b861f65b2077 100644 --- a/xpcom/ds/nsString2.h +++ b/xpcom/ds/nsString2.h @@ -124,8 +124,8 @@ public: * This constructor takes a subsumestr * @param reference to subsumestr */ -#ifdef AIX - nsString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const here +#if defined(AIX) || defined(XP_OS2_VACPP) + nsString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ require a const here #else nsString(nsSubsumeStr& aSubsumeStr); #endif @@ -468,8 +468,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsString& operator=(nsSubsumeStr& aSubsumeString); #endif @@ -904,11 +904,11 @@ public: // nsAutoString(const nsStr& aString); #endif -#ifdef AIX - nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ requires a const #else nsAutoString(nsSubsumeStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS diff --git a/xpcom/io/nsDirectoryService.cpp b/xpcom/io/nsDirectoryService.cpp index e673ac84b3c2..193bf931cbbd 100644 --- a/xpcom/io/nsDirectoryService.cpp +++ b/xpcom/io/nsDirectoryService.cpp @@ -31,6 +31,8 @@ #include #include #include +#elif defined(XP_OS2) +#define MAX_PATH _MAX_PATH #elif defined(XP_PC) #include #include @@ -99,6 +101,17 @@ static nsresult GetCurrentProcessDirectory(nsILocalFile** aFile) #ifdef XP_PC +#ifdef XP_OS2 + PPIB ppib; + PTIB ptib; + char buffer[CCHMAXPATH]; + DosGetInfoBlocks( &ptib, &ppib); + DosQueryModuleName( ppib->pib_hmte, CCHMAXPATH, buffer); + *strrchr( buffer, '\\') = '\0'; // XXX DBCS misery + localFile->InitWithPath(buffer); + *aFile = localFile; + return NS_OK; +#else char buf[MAX_PATH]; if ( ::GetModuleFileName(0, buf, sizeof(buf)) ) { // chop of the executable name by finding the rightmost backslash @@ -110,6 +123,7 @@ static nsresult GetCurrentProcessDirectory(nsILocalFile** aFile) *aFile = localFile; return NS_OK; } +#endif #elif defined(XP_MAC) // get info for the the current process to determine the directory diff --git a/xpcom/io/nsFileSpec.cpp b/xpcom/io/nsFileSpec.cpp index e76210435b3f..3d16ec9e2cb9 100644 --- a/xpcom/io/nsFileSpec.cpp +++ b/xpcom/io/nsFileSpec.cpp @@ -41,7 +41,7 @@ #include #include -#ifdef XP_PC +#if defined(XP_PC) && !defined(XP_OS2) #include #endif @@ -357,7 +357,7 @@ char* nsSimpleCharString::GetLeaf(char inSeparator) const return nsnull; char* chars = mData->mString; -#ifdef XP_PC +#if defined(XP_PC) && !defined(XP_OS2) const char* lastSeparator = (const char*) _mbsrchr((const unsigned char *) chars, inSeparator); #else const char* lastSeparator = strrchr(chars, inSeparator); @@ -374,7 +374,7 @@ char* nsSimpleCharString::GetLeaf(char inSeparator) const // So now, separator was the last character. Poke in a null instead. *(char*)lastSeparator = '\0'; // Should use const_cast, but Unix has old compiler. -#ifdef XP_PC +#if defined(XP_PC) && !defined(XP_OS2) leafPointer = (const char*) _mbsrchr((const unsigned char *) chars, inSeparator); #else leafPointer = strrchr(chars, inSeparator); diff --git a/xpcom/string/obsolete/nsString.cpp b/xpcom/string/obsolete/nsString.cpp index ad9461f4b8ca..dbe9a38e181f 100644 --- a/xpcom/string/obsolete/nsString.cpp +++ b/xpcom/string/obsolete/nsString.cpp @@ -889,14 +889,14 @@ nsCString& nsCString::Assign(char aChar) { * @param * @return */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCString& nsCString::operator=(const nsSubsumeCStr& aSubsumeString) { - nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeString); // a temp is needed for the AIX and VAC++ compiler CSubsume(*this,temp); #else nsCString& nsCString::operator=(nsSubsumeCStr& aSubsumeString) { CSubsume(*this,aSubsumeString); -#endif // AIX +#endif // AIX || XP_OS2_VACPP return *this; } #endif @@ -1946,14 +1946,14 @@ nsCAutoString::nsCAutoString(PRUnichar aChar) : nsCString(){ * @update gess 1/4/99 * @param reference to a subsumeString */ -#ifdef AIX +#if defined(AIX) || defined(XP_OS2_VACPP) nsCAutoString::nsCAutoString(const nsSubsumeCStr& aSubsumeStr) :nsCString() { - nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX compiler + nsSubsumeCStr temp(aSubsumeStr); // a temp is needed for the AIX and VAC++ compilers CSubsume(*this,temp); #else nsCAutoString::nsCAutoString( nsSubsumeCStr& aSubsumeStr) :nsCString() { CSubsume(*this,aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP } /** diff --git a/xpcom/string/obsolete/nsString.h b/xpcom/string/obsolete/nsString.h index 6c01c9205a57..e75cba6f42b5 100644 --- a/xpcom/string/obsolete/nsString.h +++ b/xpcom/string/obsolete/nsString.h @@ -237,6 +237,7 @@ public: nsSubsumeCStr operator+(char aChar); #endif + /********************************************************************** Lexomorphic transforms... *********************************************************************/ @@ -432,8 +433,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsCString& operator=(const nsSubsumeCStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsCString& operator=(nsSubsumeCStr& aSubsumeString); #endif @@ -813,11 +814,11 @@ public: // nsCAutoString(PRUnichar aChar); #endif -#ifdef AIX - nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsCAutoString(const nsSubsumeCStr& aSubsumeStr); // AIX and VAC++ require a const #else nsCAutoString(nsSubsumeCStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS diff --git a/xpcom/string/obsolete/nsString2.h b/xpcom/string/obsolete/nsString2.h index fc71b6ed2eaf..b861f65b2077 100644 --- a/xpcom/string/obsolete/nsString2.h +++ b/xpcom/string/obsolete/nsString2.h @@ -124,8 +124,8 @@ public: * This constructor takes a subsumestr * @param reference to subsumestr */ -#ifdef AIX - nsString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const here +#if defined(AIX) || defined(XP_OS2_VACPP) + nsString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ require a const here #else nsString(nsSubsumeStr& aSubsumeStr); #endif @@ -468,8 +468,8 @@ public: // Yes, I know this makes assignment from a |nsSubsumeString| not do the special thing // |nsSubsumeString| needs to go away - #ifdef AIX - nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX requires a const here + #if defined(AIX) || defined(XP_OS2_VACPP) + nsString& operator=(const nsSubsumeStr& aSubsumeString); // AIX and VAC++ requires a const here #else nsString& operator=(nsSubsumeStr& aSubsumeString); #endif @@ -904,11 +904,11 @@ public: // nsAutoString(const nsStr& aString); #endif -#ifdef AIX - nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX requires a const +#if defined(AIX) || defined(XP_OS2_VACPP) + nsAutoString(const nsSubsumeStr& aSubsumeStr); // AIX and VAC++ requires a const #else nsAutoString(nsSubsumeStr& aSubsumeStr); -#endif // AIX +#endif // AIX || XP_OS2_VACPP #ifndef NEW_STRING_APIS