diff options
author | Gökhan Gurbetoğlu <gokhan.gurbetoglu@pardus.org.tr> | 2016-06-21 11:45:30 +0300 |
---|---|---|
committer | jan iversen <jani@documentfoundation.org> | 2016-06-23 10:01:18 +0000 |
commit | ea5a5b1dbb669415586520c2b0c526b133aa07e4 (patch) | |
tree | aa75c3b4737c8fa2690e3c4ba29e3a3c56d7e0e8 | |
parent | 9b9e5cfd2fa629b2e1dc4a193e48a4a4e8d34126 (diff) |
tdf#99589 - tolower / toupper - dangerous to Turks ...
Change-Id: Id3b9abd557f2b8dfc942589362452cbdb0232da9
Reviewed-on: https://gerrit.libreoffice.org/26546
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
-rw-r--r-- | editeng/source/misc/svxacorr.cxx | 3 | ||||
-rw-r--r-- | idl/source/cmptools/hash.cxx | 4 | ||||
-rw-r--r-- | rsc/source/tools/rscchar.cxx | 3 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtftokenizer.cxx | 3 |
4 files changed, 9 insertions, 4 deletions
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index 86589673072a..d736d946e2b1 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -66,6 +66,7 @@ #include <vcl/help.hxx> #include <set> #include <unordered_map> +#include <rtl/character.hxx> using namespace ::com::sun::star::ucb; using namespace ::com::sun::star::uno; @@ -1374,7 +1375,7 @@ void SvxAutoCorrect::DoAutoCorrect( SvxAutoCorrDoc& rDoc, const OUString& rTxt, if( ( IsAutoCorrFlag( ChgOrdinalNumber ) && (nInsPos >= 2 ) && // fdo#69762 avoid autocorrect for 2e-3 - ( '-' != cChar || 'E' != toupper(rTxt[nInsPos-1]) || '0' > rTxt[nInsPos-2] || '9' < rTxt[nInsPos-2] ) && + ( '-' != cChar || 'E' != rtl::toAsciiUpperCase(rTxt[nInsPos-1]) || '0' > rTxt[nInsPos-2] || '9' < rTxt[nInsPos-2] ) && FnChgOrdinalNumber( rDoc, rTxt, nCapLttrPos, nInsPos, eLang ) ) || ( IsAutoCorrFlag( SetINetAttr ) && ( ' ' == cChar || '\t' == cChar || 0x0a == cChar || !cChar ) && diff --git a/idl/source/cmptools/hash.cxx b/idl/source/cmptools/hash.cxx index 22faf3826d7e..fc63730b0a94 100644 --- a/idl/source/cmptools/hash.cxx +++ b/idl/source/cmptools/hash.cxx @@ -26,6 +26,8 @@ #include <hash.hxx> #include <tools/debug.hxx> +#include <rtl/character.hxx> + SvStringHashEntry::~SvStringHashEntry() { }; SvHashTable::SvHashTable( sal_uInt32 nMaxEntries ) @@ -121,7 +123,7 @@ sal_uInt32 SvStringHashTable::HashFunc( const OString& rElement ) const int nShift = 0; while( *pStr ) { - if( isupper( *pStr ) ) + if( rtl::isAsciiUpperCase( *pStr ) ) nHash ^= sal_uInt32(*pStr - 'A' + 26) << nShift; else nHash ^= sal_uInt32(*pStr - 'a') << nShift; diff --git a/rsc/source/tools/rscchar.cxx b/rsc/source/tools/rscchar.cxx index b00d61f8869b..dbe096e24a4c 100644 --- a/rsc/source/tools/rscchar.cxx +++ b/rsc/source/tools/rscchar.cxx @@ -26,6 +26,7 @@ #include <rtl/textcvt.h> #include <rtl/textenc.h> #include <rtl/alloc.h> +#include <rtl/character.hxx> char * RscChar::MakeUTF8( char * pStr, sal_uInt16 nTextEncoding ) { @@ -109,7 +110,7 @@ char * RscChar::MakeUTF8( char * pStr, sal_uInt16 nTextEncoding ) { if( isdigit( *pStr ) ) nChar = nChar * 16 + (sal_uInt8)*pStr - (sal_uInt8)'0'; - else if( isupper( *pStr ) ) + else if( rtl::isAsciiUpperCase( *pStr ) ) nChar = nChar * 16 + (sal_uInt8)*pStr - (sal_uInt8)'A' +10; else nChar = nChar * 16 + (sal_uInt8)*pStr - (sal_uInt8)'a' +10; diff --git a/writerfilter/source/rtftok/rtftokenizer.cxx b/writerfilter/source/rtftok/rtftokenizer.cxx index 2dab78922af1..83ecf695f7b4 100644 --- a/writerfilter/source/rtftok/rtftokenizer.cxx +++ b/writerfilter/source/rtftok/rtftokenizer.cxx @@ -12,6 +12,7 @@ #include <vcl/svapp.hxx> #include <rtl/strbuf.hxx> #include <rtfskipdestination.hxx> +#include <rtl/character.hxx> #include <com/sun/star/io/BufferSizeExceededException.hpp> using namespace com::sun::star; @@ -169,7 +170,7 @@ int RTFTokenizer::asHex(char ch) ret = ch - '0'; else { - if (islower(ch)) + if (rtl::isAsciiLowerCase(ch)) { if (ch < 'a' || ch > 'f') return -1; |