On 07/13/2012 11:37 PM, Christophe JAILLET wrote:
Le 13/07/2012 23:17, Lubos Lunak a écrit :
according to my understanding,

OUString::compareToAscii(RTL_CONSTASCII_STRINGPARAM("A string")) gives
  compareAsciiL - the L means it gets the string length from the macro
I was speaking about compareToAscii, without the L. compareAsciiL does
not seem to exist anyway.
      sal_Int32 compareToAscii( const sal_Char * asciiStr, sal_Int32
maxLength ) const SAL_THROW(())

OUString str_1("abc");

str_1.compareToAscii("a")                             --> should give false
str_1.compareToAscii(RTL_CONSTASCII_STRINGPARAM("a")) --> should give
true because only the first char of the 2 strings will be compared

In fact I made the same mistake as you. RTL_CONSTASCII_STRINGPARAM made
me think about the length of the literal but in this case, it also has a
real effect on the result (unless I'm wrong :))

Indeed, see <http://cgit.freedesktop.org/libreoffice/core/commit/?id=4ad006fc76b0f7fdd267c64fc868aaf63e281a31> "Confusing behavior of cmopareToAscii overloads." That's probably the reason why Lubos left compareToAscii alone when adding the string literal overloads.

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to