Age | Commit message (Collapse) | Author |
|
by 10%, by avoiding an OUString construction in a hot path
through
XMLTextColumnContext_Impl::XMLTextColumnContext_Impl
-> sax::Convert::convertNumber
Also changed XMLTextAnimationStepPropertyHdl::importXML
to take advantage of the modified convertNumber passing
convention.
Change-Id: I4e5503dbb094c88a09af8b6dc8c22b6c53f9eb75
Reviewed-on: https://gerrit.libreoffice.org/81726
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I19d5ba10f5a9103bf96c19f8b3326e0bcc0a8686
Reviewed-on: https://gerrit.libreoffice.org/81463
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
...similar to OUStringChar, to be used in string concatenation expressions. And
enable the corresponding loplugin:stringadd check, and fix its findings.
Change-Id: I35ebb2253ba82bda6c98ae6ebd2ad4f27cf9abf9
Reviewed-on: https://gerrit.libreoffice.org/81456
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...instead of prefering the `const sal_Unicode *` overload
Change-Id: Idc8fd0a2188e2b3399965f303faa2aae8dcd6fd0
Reviewed-on: https://gerrit.libreoffice.org/81251
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...so forbid anything else, to avoid issues like the one described in
766cdd869d7d983e9e171a3eae0629cb9a0206ff "This code wants to add the numeric
SvxRotateMode value". Some remaining places that apparently do want to convert
some numeric value to sal_Unicode have been augmented with an explicit cast.
Change-Id: I6200a84e250e697bc88694bd71142ca1d9a13651
Reviewed-on: https://gerrit.libreoffice.org/81132
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Iab56f58889e01192d1e3187bf07d9d75e1ec1c94
Reviewed-on: https://gerrit.libreoffice.org/81041
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and create conversion methods on *StringBuffer to make this work
Change-Id: I3cf5ee3e139826168894b46eff8ee4bcde00cb7e
Reviewed-on: https://gerrit.libreoffice.org/80949
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It started out as a wrapper around character literals, but has by now become a
wrapper around arbitrary single characters. Besides updating the documentation,
this change is a mechanical
for i in $(git grep -Fl OUStringLiteral1); do sed -i -e s/OUStringLiteral1/OUStringChar/g "$i"; done
Change-Id: I1b9eaa4b3fbc9025ce4a4bffea3db1c16188b76f
Reviewed-on: https://gerrit.libreoffice.org/80892
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
and extend O*StringView to have a constructor that takes a pointer and a
length
Change-Id: I6120e96280f030757e855a6596efdae438b7e1e8
Reviewed-on: https://gerrit.libreoffice.org/80872
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...(which got introduced with 9b5dad13b56bdde7c40970351af3da3a2c3c9350
"loplugin:stringadd look for unnecessary temporaries", and had reportedly
broken CppunitTest_sc_ucalc on tml's Windows build by hitting the
"strlen( str ) == N - 1" assert at include/rtl/string.hxx:1867), by introducing
rtl::OStringView (and rtl::OUStringView, for consistency).
Change-Id: I766b600274302ded66a6bffc91be189b20ed1ac3
Reviewed-on: https://gerrit.libreoffice.org/80778
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...to find matches of
... << s.getStr()
(for the rtl string classes) that can be written as just
... << s
Some notes:
* The OUStringToOString(..., RTL_TEXTENCODING_UTF8) is left explicit in
desktop/source/app/crashreport.cxx (even though that would also be done
internally by the "<< OUString" operator) to clarify that these values are
written out as UTF-8 (and not as what that operator << happens to use, which
just also happens to be UTF-8).
* OUSTRING_TO_CSTR (include/oox/helper/helper.hxx) is no longer used now.
* Just don't bother to use osl_getThreadTextEncoding() in the SAL_WARN in
lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx.
* The toUtf8() in the SAL_DEBUG in pyuno/source/module/pyuno_module.cxx can just
go, too.
Change-Id: I4602f0379ef816bff310f1e51b57c56b7e3f0136
Reviewed-on: https://gerrit.libreoffice.org/80762
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
which defeat the *StringConcat optimisation.
Also make StringConcat conversions treat a nullptr as an empty string,
to match the O*String(char*) constructors.
Change-Id: If45f5b4b6a535c97bfeeacd9ec472a7603a52e5b
Reviewed-on: https://gerrit.libreoffice.org/80724
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5c31197b3b61f630b41e9ee4df08aade21a71f68
Reviewed-on: https://gerrit.libreoffice.org/80708
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ib9b27e2715034ef3e81d041526b705786837c491
Reviewed-on: https://gerrit.libreoffice.org/80707
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...that was present ever since d87f5d30879aca73fff271c254589fc41a91fdd0
"support for fast O(U)String concatenation using operator+" but was likely a
typo/thinko
Change-Id: I0e56166d95f447a26dba9b456255b4ed339f1e2f
Reviewed-on: https://gerrit.libreoffice.org/80668
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Tested-by: Jenkins
|
|
(and #include's of it in include/rtl/*.hxx are already guarded with
LIBO_INTERNAL_ONLY)
Change-Id: I9224f71a244a69ef69406ea3a5879b66b3cae3a3
Reviewed-on: https://gerrit.libreoffice.org/80666
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I48f9e55e987b709c2cfddab87e58248b50273ee7
Reviewed-on: https://gerrit.libreoffice.org/80706
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I020b7fef3c30cf6d5b161c33dab5bee6d2a6f91b
Reviewed-on: https://gerrit.libreoffice.org/80713
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Iff9bf649b1abf78c7b8abfe10b4eb331714dbd6e
Reviewed-on: https://gerrit.libreoffice.org/80705
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit fbbbc7e3f9a62a80d41bcf9621cc098fd45b94c7.
See discussion at https://gerrit.libreoffice.org/80637.
Change-Id: Ie3e5c73a0bd727e226ffb84e813c5b90e0e288d4
Reviewed-on: https://gerrit.libreoffice.org/80664
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
so we can construct efficient expressions when we have pointers to
unicode data
Also lightly reformat a couple of the older helpers to make it easier to
compare the different helpers.
Change-Id: Ib8a4227714e9218512b6871d3285e4e2703bec3b
Reviewed-on: https://gerrit.libreoffice.org/80639
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
so that we only have small number of places where to track capacity change
(I need that to try to analyze where the reallocations happen most often)
Change-Id: I077d5ebab845cb7e1deaac363d46e1fb2dbbb0c7
Reviewed-on: https://gerrit.libreoffice.org/80593
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I84237b0b20d5a5aefd7268f16a6254c83c320382
Reviewed-on: https://gerrit.libreoffice.org/80637
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
At least don't repeat the "O(U)StringNumber" in template argument
of base class, and the number type in ctor argument
Change-Id: I65cbe49a8fbbf5d9839cae9efc218130756a6710
Reviewed-on: https://gerrit.libreoffice.org/79822
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...and revert the relevant part of 2f5f45921b05904a4be1ff633be09c62cb44ff08
"support O(U)String::number() for fast string concatenation", as discussed in
the comments of that Gerrit change, now that
89bb0b0dcd8dc4656d0047cd10702d1c471c0fa1 "Deduplicate O(U)StringNumber
definitions; add toAsciiUpperCase" paved the way.
For consistency, also add conversion from rtl::OUStringNumber to
std::u16string_view, even if that remains unused as of now.
Change-Id: Ieb64bff0b59c22f3dec05c99fca5676b27a46e9a
Reviewed-on: https://gerrit.libreoffice.org/79750
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I38a59d2955a8081bf3ae701a102b0b5c68bd16f3
Reviewed-on: https://gerrit.libreoffice.org/79749
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I00e7ce62940907b5f4efc2b7f23f355c3e43ed6b
Reviewed-on: https://gerrit.libreoffice.org/79686
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I2e1b217d43806dd0f64239978211d5b17fcf311c
Reviewed-on: https://gerrit.libreoffice.org/79518
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
When I did the fast string concatenation, I didn't add any support
for number(), which simply returned a O(U)String, and so it did
the extra allocation/deallocation, although that could be avoided.
In order to support this, number() now returns a special temporary
return type, similarly to O(U)StringConcat, which allows delaying
the concatenation the same way.
Also similarly, the change of the return type in some cases requires
explicit cast to the actual string type. Usage of OString::getStr()
is so extensive in the codebase that I actually added it to the helper
class, after that it's only relatively few cases.
Change-Id: Iba6e158010e1e458089698c426803052b6f46031
Reviewed-on: https://gerrit.libreoffice.org/78873
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
<http://udk.openoffice.org/cpp/man/spec/textconversion.html> specifies that
FLAGS_UNDEFINED_ERROR, FLAGS_MBUNDEFINED_ERROR, and FLAGS_INVALID_ERROR: "Read
past the [erroneous] code in the input buffer [...]" But actual behavior of
rtl_convertTextToUnicode for the various rtl_TextEncoding values has been
inconsistent. Some erroneous input (mostly single-byte UNDEFINED and INVALID
ones) has not been consumed at all, some (multi-byte MBUNDEFINED and INVALID)
has been consumed partly, and some has been consumed fully as required.
However, at least since 8dd4265b9ddbd7786b6237676909eae5b540da0e "CWS-TOOLING:
integrate CWS hb18", Custom8BitToUnicode in sw/source/filter/ww8/ww8par.cxx
appears to rely on the broken behavior of not consuming erroneous input. (It
reads the chunk of valid input with e.g. some RTL_TEXTENCODING_MS_125x that
happens to exhibit the broken behavior of not consuming erroneous input, then
wants to try to re-read the erroneous input with RTL_TEXTENCODING_MS_1252. For
example, opening sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc triggers
that code. For whatever reason, the am_faksas.dot attached to
<https://bz.apache.org/ooo/show_bug.cgi?id=9240#c1> "Do not show lithuanian
letter 'Š'" appears to not, or at least no longer, trigger that code.)
Therefore, it would be useful to have a mode in which rtl_convertTextToUnicode
does not consume erroneous input. (And I plan on doing changes in
sal/osl/unx/file* that would benefit from that behavior, too.) But changing
rtl_convertTextToUnicode to generally not consume erroneous input would not be
feasible: If calls do not set RTL_TEXTTOUNICODE_FLAGS_FLUSH, part of an
erroneous input can already have been consumed by a previous call, so the
current call cannot undo that.
But a change that looks like it can work is to change the behavior only if
RTL_TEXTTOUNICODE_FLAGS_FLUSH is set. In that case we can at least not consume
the part of an erroneous input that has not yet been consumed by a previous call
(which would necessarily have been done with RTL_TEXTTOUNICODE_FLAGS_FLUSH
unset). The expecation is that code that relies on the don't-consume behavior
will do only single calls with RTL_TEXTTOUNICODE_FLAGS_FLUSH set (so reliably
not consume the complete erroneous input), while other code (which might do
calls in a loop) will not care whether erroneous input has been consumed,
anyway. This can be considered a mild form of behavioral API CHANGE (but note
that the old implementation didn't exhibit the requested behavior anyway).
So all implementations of rtl_convertTextToUnicode for the various
rtl_TextEncoding values have been adapted to the new behavior. The only
exceptions are ImplDummyToUnicode (sal/textenc/textcvt.cxx), which is a special
case anyway used by RTL_TEXTENCODING_DONTKNOW, and two out of three places
(marked with a "TODO" each) in ImplUTF7ToUnicode (sal/textenc/tcvtutf7.cxx),
where it is hard to retrofit the expected behaivor, and RTL_TEXTENCODING_UTF7 is
probably not relevant for the use cases relying on the don't-consume--behavior,
anyway.
Whether a similar change should be done for rtl_convertUnicodeToText can be
examined later.
Change-Id: I1ac2c4cfd99e2a0eca219f9a3855ef110b254855
Reviewed-on: https://gerrit.libreoffice.org/78584
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
idea from mike kaganski
look for places where we can mark move operators as noexcept, which
makes some STL operations more efficient
Change-Id: Id732b89d1fcadd5ceb0ea2b9d159fed06136330f
Reviewed-on: https://gerrit.libreoffice.org/78251
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I88f788b6d8f9363e2f7b5447f6f0b0203f0834f0
Reviewed-on: https://gerrit.libreoffice.org/77758
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Idaaec17114aa2b03c00da075f5accc4c0c0e69b4
Reviewed-on: https://gerrit.libreoffice.org/75768
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Andrea Gelmini <andrea.gelmini@gelma.net>
|
|
"an URI", to complete:
https://gerrit.libreoffice.org/#/c/75985/
Change-Id: I57489b05117fd12ae6aa22544437ab5bc6b5154f
Reviewed-on: https://gerrit.libreoffice.org/76037
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
|
|
Change-Id: I1b566ef38eaef3d6b20555e20b8353976fbdca5d
Reviewed-on: https://gerrit.libreoffice.org/75927
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I9843620c378d7c6dbb5696255eb123e0bca9b4bf
Reviewed-on: https://gerrit.libreoffice.org/75821
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Iac1e4f3e7ac7f3ea86e31179f2f45e3941abd3a1
Reviewed-on: https://gerrit.libreoffice.org/75822
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ib5c52f937cbbe3263d39e4778ae29097be7acadc
Reviewed-on: https://gerrit.libreoffice.org/75769
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I0974986301548cc5cd95dd40403bef0a5a7dd90d
Reviewed-on: https://gerrit.libreoffice.org/75770
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
6a7db071c75609093fc3a9cbc297b8069726a33e "tdf#125497 allow backspace to remove
CJK IVS" had moved these functions from sw/source/uibase/wrtsh/delete.cxx to
rtl/character.hxx, but the latter appears to be a less than ideal home for them:
For one, it is part of the stable URE interface, which makes it harder to
maintain (e.g., later versions of Unicode have added CJK Extension C--F code
blocks, which the current implementation of isCJKIVSCharacter does not reflect).
And for another, besides details of legacy/ubiquitous ASCII, it only deals with
the "hard" structure of Unicode (isUnicodeCodePoint, isSurrogate, etc.), not
with any specific code blocks or character classifications (which can change
over time). Internal i18nutil/unicode.hxx appears to be better suited.
Change-Id: I88b3e4e2488411f988c1a20f79b8a58626d93dce
Reviewed-on: https://gerrit.libreoffice.org/73873
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I5a692b6aab784518330f218d069feda66665a99c
Reviewed-on: https://gerrit.libreoffice.org/73836
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Japanese users prefer to remove a CJK IVS character
when pressing the backspace instead of removing
the selector part of IVS.
Change-Id: I4313d69ed52d82c5a7e4e4823b1da06f1d90bdad
Reviewed-on: https://gerrit.libreoffice.org/72971
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
|
|
The declaration in BarChart.cxx is particularly suspicious, because it
was using a < for the KeyEqual template parameter.
Been there since:
commit b2c3233e5f267b5d244d722a94424a3b224b3314
Date: Thu Dec 21 20:08:33 2017 +0900
chart2: suspend/resume setting rects dirty for 3D shapes
comphelper::OInterfaceCompare is no longer necessary
Change-Id: I8278c4a3d9113a18570ca237cd05d553ec8f3975
Reviewed-on: https://gerrit.libreoffice.org/71537
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit 8cfa7f4dc00f3dd37e57917ef25c806b0e9e6e73.
comment from sberg:
we already have 70519a43e0d89a6b5d89859a6851f8c757c6b0c7 "Replace OUStringBuffer::appendCopy with append(std::u16string_view)" (which can be extended to OStringBuffer if needed)
Change-Id: Ifcc550a8cf26ef38ad49fde8b067f53c999c9276
Reviewed-on: https://gerrit.libreoffice.org/70178
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which performs the append without needing the creation of a temporary
*String
Change-Id: If9ad3222275f26659db2e7df8d34f068977c4d17
Reviewed-on: https://gerrit.libreoffice.org/69826
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Doxygen is misled by the "127." at the beginning of a sentence and
converts it to "<ol><li>..."
So it is erroneously rendered as:
all ASCII characters are in the allowed range between 0 and
1. The ASCII string must be NULL-terminated.
Change-Id: If36de7d4df668b5f9e9f6c7ea139552798e349d2
Reviewed-on: https://gerrit.libreoffice.org/69360
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
...which is more general
Change-Id: I94f28f8eda887120cf5f143b4549e0339b60e6a7
Reviewed-on: https://gerrit.libreoffice.org/66155
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I32bba8f45ff3b77084aa2d416126f96c051022f4
Reviewed-on: https://gerrit.libreoffice.org/66073
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This partilally reverts commit 55ca35ab99fb1164cb2095384ed0937a533d9d3c,
the removal of <utility> was not correct, std::move() still requires it.
Change-Id: I1f905e332874b0aa72f537e37251f822258577d6
Reviewed-on: https://gerrit.libreoffice.org/66033
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I64131f59ce859a252baa9c84291d262bcb04fffd
Reviewed-on: https://gerrit.libreoffice.org/66012
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|