diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2017-08-23 09:09:57 +0300 |
---|---|---|
committer | Aron Budea <aron.budea@collabora.com> | 2017-11-22 16:27:11 +0100 |
commit | f3af5926f93f46e96caa6b85e08723f150c94463 (patch) | |
tree | 347e600db3cfd28e4317539876c29b061d675bb7 /include/rtl/ustring.h | |
parent | 3c01d0ff65342432055dcb575601f3b3f446e8bd (diff) |
tdf#111964: only trim XML whitespace
OUString::trim() uses rtl_uString_newTrim, which relies upon
rtl_ImplIsWhitespace. The latter treats as whitespaces not only
characters with values less than or equal to 32, but also Unicode
General Punctuation area Space and some Control characters. Thus,
using OUString::trim() is incorrect when the goal is to trim XML
whitespace, which is defined as one of 0x09, 0x0A, 0x0D, 0x20.
The comments for OUString::trim() and rtl_uString_newTrim are
corrected to describe which characters are considered whitespace.
A unit test included.
Change-Id: I45a132be923a52dcd5a4c35aeecb53d423b49fec
Reviewed-on: https://gerrit.libreoffice.org/41444
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 5b518ab051cc04e672ceb01da42b06625a1a4ce9)
Reviewed-on: https://gerrit.libreoffice.org/44758
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
Diffstat (limited to 'include/rtl/ustring.h')
-rw-r--r-- | include/rtl/ustring.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/rtl/ustring.h b/include/rtl/ustring.h index 831ecd66d9be..50dbd75a5ecc 100644 --- a/include/rtl/ustring.h +++ b/include/rtl/ustring.h @@ -2023,7 +2023,9 @@ SAL_DLLPUBLIC void SAL_CALL rtl_uString_newToAsciiUpperCase( string. The new string results from removing all characters with values less than - or equal to 32 (the space character) form both ends of str. + or equal to 32 (the space character), and also Unicode General Punctuation + area Space and some Control characters, form both ends of str (see + rtl_ImplIsWhitespace). This function cannot be used for language-specific conversion. The new string does not necessarily have a reference count of 1 (in cases where |