vcl/source/text/mnemonic.cxx | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-)
New commits: commit cde2bf606960b7bf0945b394a70e0e5c1a947ec0 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Fri Mar 1 14:46:21 2024 +0600 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sat Mar 2 04:39:06 2024 +0100 Simplify removeMnemonicFromString Change-Id: I38ed29cb9c6296c364330c667fccf573d3d5cd5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164181 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/vcl/source/text/mnemonic.cxx b/vcl/source/text/mnemonic.cxx index 7336032b8d12..9a63c2e7d785 100644 --- a/vcl/source/text/mnemonic.cxx +++ b/vcl/source/text/mnemonic.cxx @@ -18,33 +18,22 @@ OUString removeMnemonicFromString(OUString const& rStr) OUString removeMnemonicFromString(OUString const& rStr, sal_Int32& rMnemonicPos) { OUString aStr = rStr; - sal_Int32 nLen = aStr.getLength(); - sal_Int32 i = 0; + sal_Int32 nLen = aStr.getLength() - 1; // Don't remove trailing ~ rMnemonicPos = -1; - while (i < nLen) + for (sal_Int32 i = 0; i < nLen; ++i) { if (aStr[i] == '~') { - if (nLen <= i + 1) - break; - - if (aStr[i + 1] != '~') + aStr = aStr.replaceAt(i, 1, u""); + nLen--; + if (aStr[i] != '~') { if (rMnemonicPos == -1) rMnemonicPos = i; - aStr = aStr.replaceAt(i, 1, u""); - nLen--; - } - else - { - aStr = aStr.replaceAt(i, 1, u""); - nLen--; - i++; } + // else skip the escaped second ~ } - else - i++; } return aStr;