[Libreoffice-commits] replaceAll

Stephan Bergmann sbergman at redhat.com
Thu Jan 31 00:32:39 PST 2013


On 01/31/2013 01:58 AM, Michael Meeks wrote:
> On Wed, 2013-01-30 at 16:26 +0100, Stephan Bergmann wrote:
>>>       fix for the awkward OUString::replaceAll() behaviour
>>
>> Seeing this, that's the reason I've always been unhappy with such a
>> replaceAll function:  While it may appear "obviously useful," it easily
>> leads to broken code (like if rInfo1 is "wanna bet $2 this doesn't
>> work?", say, in the above snippet).
>
> 	We could deprecate it. Do we have a nice macro wrapped around some
> magic gcc: "really warn if return value unused" attribute - I assume
> there is one of those - that might help make it more sane ?

You missed my point, which was not the gotcha of ignoring the return 
value (which is already addressed with SAL_WARN_UNUSED_RESULT anyway), 
but the gotcha that a sequence of replaceAll calls to replace multiple 
placeholders with corresponding replacement values is broken in general 
(unless you can ensure that each invocation in the sequence does not 
introduce new instances of "subsequent" placeholders into the 
operated-upon string).

Stephan


More information about the LibreOffice mailing list