From 5e85fa920e5b0428e1310115053fe928086ef792 Mon Sep 17 00:00:00 2001 From: "scc%netscape.com" Date: Wed, 16 Feb 2000 15:08:55 +0000 Subject: [PATCH] I think this is the right fix for the wensleydale bustage. Added |operator*()| to |nsXPIDL[C]String|. Fixed |const|-ness of existing operators and made inline. Built and tested on Mac; if this doesn't help, I'll back it right out. r=ckritzer (I swear I'm not making this up!) git-svn-id: svn://10.0.0.236/trunk@61131 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/string/obsolete/nsXPIDLString.cpp | 12 ----- mozilla/string/obsolete/nsXPIDLString.h | 47 ++++++++++++++++++- mozilla/xpcom/ds/nsXPIDLString.cpp | 12 ----- mozilla/xpcom/ds/nsXPIDLString.h | 47 ++++++++++++++++++- .../xpcom/string/obsolete/nsXPIDLString.cpp | 12 ----- mozilla/xpcom/string/obsolete/nsXPIDLString.h | 47 ++++++++++++++++++- 6 files changed, 135 insertions(+), 42 deletions(-) diff --git a/mozilla/string/obsolete/nsXPIDLString.cpp b/mozilla/string/obsolete/nsXPIDLString.cpp index 0fd5778c39b..20aff8baca5 100644 --- a/mozilla/string/obsolete/nsXPIDLString.cpp +++ b/mozilla/string/obsolete/nsXPIDLString.cpp @@ -47,12 +47,6 @@ nsXPIDLString::~nsXPIDLString() } -nsXPIDLString::operator const PRUnichar*() -{ - return mBuf; -} - - PRUnichar* nsXPIDLString::Copy(const PRUnichar* aString) { @@ -135,12 +129,6 @@ nsXPIDLCString& nsXPIDLCString::operator =(const char* aCString) } -nsXPIDLCString::operator const char*() -{ - return mBuf; -} - - char* nsXPIDLCString::Copy(const char* aCString) { diff --git a/mozilla/string/obsolete/nsXPIDLString.h b/mozilla/string/obsolete/nsXPIDLString.h index 6881b6f8d22..925de57670e 100644 --- a/mozilla/string/obsolete/nsXPIDLString.h +++ b/mozilla/string/obsolete/nsXPIDLString.h @@ -116,7 +116,29 @@ public: /** * Return a reference to the immutable Unicode string. */ - operator const PRUnichar*(); + const PRUnichar* + get() const + { + return mBuf; + } + + operator const PRUnichar*() const + { + return get(); + } + + PRUnichar + operator*() const + { + return *get(); + } + + PRUnichar + operator[]( long index ) const + { + return get()[index]; + } + /** * Make a copy of the Unicode string. Use this function in the @@ -226,7 +248,28 @@ public: /** * Return a reference to the immutable single-byte string. */ - operator const char*(); + const char* + get() const + { + return mBuf; + } + + operator const char*() const + { + return get(); + } + + char + operator*() const + { + return *get(); + } + + char + operator[]( long index ) const + { + return get()[index]; + } /** * Make a copy of the single-byte string. Use this function in the diff --git a/mozilla/xpcom/ds/nsXPIDLString.cpp b/mozilla/xpcom/ds/nsXPIDLString.cpp index 0fd5778c39b..20aff8baca5 100644 --- a/mozilla/xpcom/ds/nsXPIDLString.cpp +++ b/mozilla/xpcom/ds/nsXPIDLString.cpp @@ -47,12 +47,6 @@ nsXPIDLString::~nsXPIDLString() } -nsXPIDLString::operator const PRUnichar*() -{ - return mBuf; -} - - PRUnichar* nsXPIDLString::Copy(const PRUnichar* aString) { @@ -135,12 +129,6 @@ nsXPIDLCString& nsXPIDLCString::operator =(const char* aCString) } -nsXPIDLCString::operator const char*() -{ - return mBuf; -} - - char* nsXPIDLCString::Copy(const char* aCString) { diff --git a/mozilla/xpcom/ds/nsXPIDLString.h b/mozilla/xpcom/ds/nsXPIDLString.h index 6881b6f8d22..925de57670e 100644 --- a/mozilla/xpcom/ds/nsXPIDLString.h +++ b/mozilla/xpcom/ds/nsXPIDLString.h @@ -116,7 +116,29 @@ public: /** * Return a reference to the immutable Unicode string. */ - operator const PRUnichar*(); + const PRUnichar* + get() const + { + return mBuf; + } + + operator const PRUnichar*() const + { + return get(); + } + + PRUnichar + operator*() const + { + return *get(); + } + + PRUnichar + operator[]( long index ) const + { + return get()[index]; + } + /** * Make a copy of the Unicode string. Use this function in the @@ -226,7 +248,28 @@ public: /** * Return a reference to the immutable single-byte string. */ - operator const char*(); + const char* + get() const + { + return mBuf; + } + + operator const char*() const + { + return get(); + } + + char + operator*() const + { + return *get(); + } + + char + operator[]( long index ) const + { + return get()[index]; + } /** * Make a copy of the single-byte string. Use this function in the diff --git a/mozilla/xpcom/string/obsolete/nsXPIDLString.cpp b/mozilla/xpcom/string/obsolete/nsXPIDLString.cpp index 0fd5778c39b..20aff8baca5 100644 --- a/mozilla/xpcom/string/obsolete/nsXPIDLString.cpp +++ b/mozilla/xpcom/string/obsolete/nsXPIDLString.cpp @@ -47,12 +47,6 @@ nsXPIDLString::~nsXPIDLString() } -nsXPIDLString::operator const PRUnichar*() -{ - return mBuf; -} - - PRUnichar* nsXPIDLString::Copy(const PRUnichar* aString) { @@ -135,12 +129,6 @@ nsXPIDLCString& nsXPIDLCString::operator =(const char* aCString) } -nsXPIDLCString::operator const char*() -{ - return mBuf; -} - - char* nsXPIDLCString::Copy(const char* aCString) { diff --git a/mozilla/xpcom/string/obsolete/nsXPIDLString.h b/mozilla/xpcom/string/obsolete/nsXPIDLString.h index 6881b6f8d22..925de57670e 100644 --- a/mozilla/xpcom/string/obsolete/nsXPIDLString.h +++ b/mozilla/xpcom/string/obsolete/nsXPIDLString.h @@ -116,7 +116,29 @@ public: /** * Return a reference to the immutable Unicode string. */ - operator const PRUnichar*(); + const PRUnichar* + get() const + { + return mBuf; + } + + operator const PRUnichar*() const + { + return get(); + } + + PRUnichar + operator*() const + { + return *get(); + } + + PRUnichar + operator[]( long index ) const + { + return get()[index]; + } + /** * Make a copy of the Unicode string. Use this function in the @@ -226,7 +248,28 @@ public: /** * Return a reference to the immutable single-byte string. */ - operator const char*(); + const char* + get() const + { + return mBuf; + } + + operator const char*() const + { + return get(); + } + + char + operator*() const + { + return *get(); + } + + char + operator[]( long index ) const + { + return get()[index]; + } /** * Make a copy of the single-byte string. Use this function in the