Bogus call to OUString::matchAsciiL in /framework/source/lomenubar/MenuItemStatusListener.cxx ?

David Tardon dtardon at redhat.com
Mon Jul 9 00:17:34 PDT 2012


Hi,

On Sun, Jul 08, 2012 at 02:37:49PM +0200, Christophe JAILLET wrote:
> Hi,
> At line 60 of
> /framework/source/lomenubar/MenuItemStatusListener.cxx, we can find
> :
> >>>>>>>
>     if ((Event.State >>= oULabel) &&
>         !oULabel.matchAsciiL ("private:", 8, 0) &&
>         !oULabel.matchAsciiL (".uno:", 5, 0)    &&
>         !oULabel.matchAsciiL ("slot:", 5, 0)    &&
>         !oULabel.matchAsciiL ("service:", 8, 0) &&
>         !oULabel.matchAsciiL (".cmd:", 5, 0)    &&
>         !oULabel.matchAsciiL ("macro:///", 5, 0))
> >>>>>>>
> Q1)  Why "macro:///" and 5 ? Shouldn't it be 9 ???

Copy-and-paste bug, I guess?

> 
> 
> Q2)  In other places, matchAscii is used in conjunction of
> RTL_CONSTASCII_STRINGPARAM. This way, the length of the string is
> computed by the compiler.
> 
> Is it the preferred way to do, in order to avoid hard coded constant ?

Yes, it is.

> If yes, I can provide a patch.

Please do.

D.


More information about the LibreOffice mailing list