fdo#38838 - Removal/Replacement of the String/UniString with OUString once and for all.
Lubos Lunak
l.lunak at suse.cz
Wed Jan 16 09:45:03 PST 2013
On Tuesday 15 of January 2013, Norbert Thiebaud wrote:
> 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,
What you wrote above is AFAIK not written down anywhere, not in the wiki
page, not in the (non-existent) String class documentation, so any bets on
what the reality is?
Could you please add these cases to the strings wiki page?
--
Lubos Lunak
l.lunak at suse.cz
More information about the LibreOffice
mailing list