connectivity/source/commontools/CommonTools.cxx | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
New commits: commit 47bbe217607374ccd3a76f1ef6d82e43efd31ba1 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Tue May 30 09:13:44 2017 +0200 untwist the logic in convertName2SQLName Change-Id: Ib3cfa3a8a2bdc691e3f6db25672a37c8ede1ffd5 Reviewed-on: https://gerrit.libreoffice.org/38180 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/connectivity/source/commontools/CommonTools.cxx b/connectivity/source/commontools/CommonTools.cxx index 3a9f237ce824..82e497b2e65b 100644 --- a/connectivity/source/commontools/CommonTools.cxx +++ b/connectivity/source/commontools/CommonTools.cxx @@ -211,21 +211,19 @@ OUString convertName2SQLName(const OUString& rName,const OUString& _rSpecials) { if(isValidSQLName(rName,_rSpecials)) return rName; - OUString aNewName(rName); + const sal_Unicode* pStr = rName.getStr(); + // if not valid + if (*pStr >= 128 || rtl::isAsciiDigit(*pStr)) + return OUString(); + + OUStringBuffer aNewName(rName); sal_Int32 nLength = rName.getLength(); - bool bValid(*pStr < 128 && !rtl::isAsciiDigit(*pStr)); - for (sal_Int32 i=0; bValid && i < nLength; ++pStr,++i ) + for (sal_Int32 i=0; i < nLength; ++pStr,++i ) if(!isCharOk(*pStr,_rSpecials)) - { - aNewName = aNewName.replace(*pStr,'_'); - pStr = aNewName.getStr() + i; - } - - if ( !bValid ) - aNewName.clear(); + aNewName[i] = '_'; - return aNewName; + return aNewName.makeStringAndClear(); } OUString quoteName(const OUString& _rQuote, const OUString& _rName) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits