X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/903506828b7d042350eae97b5014a63ffca17ef5..7b4fee49300c44b2f387c56f4cee9ac3e9b87fb9:/src/common/encconv.cpp diff --git a/src/common/encconv.cpp b/src/common/encconv.cpp index 8422433e81..759dd58fa5 100644 --- a/src/common/encconv.cpp +++ b/src/common/encconv.cpp @@ -157,7 +157,7 @@ bool wxEncodingConverter::Init(wxFontEncoding input_enc, wxFontEncoding output_e m_Table[128 + i] = (wchar_t)(128 + i); #else m_Table[128 + i] = (char)(128 + i); -#endif +#endif } delete[] rev; @@ -182,7 +182,7 @@ void wxEncodingConverter::Convert(const char* input, char* output) return; } - wxASSERT_MSG(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); + wxCHECK_RET(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); for (i = input, o = output; *i != 0;) *(o++) = (char)(m_Table[(wxUint8)*(i++)]); @@ -208,7 +208,7 @@ void wxEncodingConverter::Convert(const char* input, wchar_t* output) return; } - wxASSERT_MSG(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); + wxCHECK_RET(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); for (i = input, o = output; *i != 0;) *(o++) = (wchar_t)(m_Table[(wxUint8)*(i++)]); @@ -233,7 +233,7 @@ void wxEncodingConverter::Convert(const wchar_t* input, char* output) return; } - wxASSERT_MSG(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); + wxCHECK_RET(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); for (i = input, o = output; *i != 0;) *(o++) = (char)(m_Table[(wxUint16)*(i++)]); @@ -259,7 +259,7 @@ void wxEncodingConverter::Convert(const wchar_t* input, wchar_t* output) return; } - wxASSERT_MSG(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); + wxCHECK_RET(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); for (i = input, o = output; *i != 0;) *(o++) = (wchar_t)(m_Table[(wxUint8)*(i++)]); @@ -276,14 +276,20 @@ wxString wxEncodingConverter::Convert(const wxString& input) wxString s; const wxChar *i; - wxASSERT_MSG(m_Table != NULL, wxT("You must call wxEncodingConverter::Init() before actually converting!")); + wxCHECK_MSG(m_Table != NULL, s, + wxT("You must call wxEncodingConverter::Init() before actually converting!")); if (m_UnicodeInput) + { for (i = input.c_str(); *i != 0; i++) s << (wxChar)(m_Table[(wxUint16)*i]); + } else + { for (i = input.c_str(); *i != 0; i++) s << (wxChar)(m_Table[(wxUint8)*i]); + } + return s; } @@ -377,7 +383,14 @@ static wxFontEncoding }; - +static bool FindEncoding(const wxFontEncodingArray& arr, wxFontEncoding f) +{ + for (wxFontEncodingArray::const_iterator it = arr.begin(), en = arr.end(); + it != en; ++it) + if (*it == f) + return true; + return false; +} wxFontEncodingArray wxEncodingConverter::GetPlatformEquivalents(wxFontEncoding enc, int platform) { @@ -406,9 +419,9 @@ wxFontEncodingArray wxEncodingConverter::GetPlatformEquivalents(wxFontEncoding e if (EquivalentEncodings[clas][i][e] == enc) { for (f = EquivalentEncodings[clas][platform]; *f != STOP; f++) - if (*f == enc) arr.Add(enc); + if (*f == enc) arr.push_back(enc); for (f = EquivalentEncodings[clas][platform]; *f != STOP; f++) - if (arr.Index(*f) == wxNOT_FOUND) arr.Add(*f); + if (!FindEncoding(arr, *f)) arr.push_back(*f); i = NUM_OF_PLATFORMS/*hack*/; break; } clas++; @@ -436,7 +449,7 @@ wxFontEncodingArray wxEncodingConverter::GetAllEquivalents(wxFontEncoding enc) { for (j = 0; j < NUM_OF_PLATFORMS; j++) for (f = EquivalentEncodings[clas][j]; *f != STOP; f++) - if (arr.Index(*f) == wxNOT_FOUND) arr.Add(*f); + if (!FindEncoding(arr, *f)) arr.push_back(*f); i = NUM_OF_PLATFORMS/*hack*/; break; } clas++;