Hi Michael, On Wednesday, 2012-08-01 22:02:50 +0200, Michael Stahl wrote:
> On 01/08/12 19:05, Eike Rathke wrote: > > On Wednesday, 2012-08-01 18:17:12 +0200, Stephan Bergmann wrote: > > > >> make rtl::OUString::copy(beginIndex, count) clip to [0..length)? > >> yeah, why not (then again, -1's sentinel nature, cf. indexOf, might > >> mean that silent clipping of beginIndex=-1 to beginIndex=0 is > >> unfortunate) > > > > We may step into more of these traps in transitions from String to > > OUString, so clipping IMHO is good. > > > > I think beginIndex<0 or count<=0 should always return an empty string > > and output a SAL_WARN, maybe also SAL_WARN if clipping occurred as that > > may indicate a logic error. > > no, it should assert(). passing in invalid indexes is clearly a bug > that must be fixed. Well, yes, but the assert() hits only with debug, in non-debug build the copy() happily (probably depending on memory layout) may copy excess characters on Linux while it may crash on Windows or Mac. So for many developers it may still go unnoticed. My suggestion then: keep the assert() for debug/dbgutil heroes but clip thereafter for when the assert() is not active. Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD
pgp8xd4Hs0WT2.pgp
Description: PGP signature
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice