fdo#38838 - Removal/Replacement of the String/UniString with OUString once and for all.
Norbert Thiebaud
nthiebaud at gmail.com
Tue Jan 15 11:40:54 PST 2013
On Tue, Jan 15, 2013 at 12:26 PM, Eike Rathke <erack at redhat.com> wrote:
>
> For example, a
>
> if (String.Search(...) == STRING_NOTFOUND)
>
> replaced with
>
> if (OUString.indexOf(...) == STRING_NOTFOUND)
>
> will not work.
A even more tricky case is this:
String's functions usually deal silently with out-of-buffer
stituations, like asking to delete a part that overflow or even is
entirely outside a string.
and Search return as indicated above STRING_NOTFOUND that is 0xffff
i.e the max unsigned value of Xub_StrLen
so some code use this 'feature' to code something like:
pos=String.Search('#')
String.Erase(pos)
IOW: automated conversion is _not_ an option. String => OUString
convertion have to be carefully audited by hand, even if 99% of these
are trivial.
Norbert
More information about the LibreOffice
mailing list