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
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to