[Libreoffice] Funny piece of code.
Petr Mladek
pmladek at suse.cz
Mon Jan 2 07:51:13 PST 2012
Olivier Hallot píše v Po 02. 01. 2012 v 13:40 -0200:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi
>
> I stumbled on this piece of code in
>
> registry/tools/regcompare.cxx
>
> There must be a finesse in lines 326, 330, and so on that I missed
> miserably...
>
> Any advise welcome, or I will rip off the ternary operator.
>
> Thanks
>
> Olivier
>
> static OString getFieldAccess(RTFieldAccess fieldAccess)
> 318 {
> 319 OString ret;
> 320 if ( (fieldAccess & RT_ACCESS_INVALID) == RT_ACCESS_INVALID )
> 321 {
> 322 ret += OString("INVALID");
> 323 }
> 324 if ( (fieldAccess & RT_ACCESS_READONLY) == RT_ACCESS_READONLY )
> 325 {
> 326 ret += OString(ret.getLength() > 0 ? ",READONLY" :
> "READONLY");
> 327 }
> 328 if ( (fieldAccess & RT_ACCESS_OPTIONAL) == RT_ACCESS_OPTIONAL )
> 329 {
> 330 ret += OString(ret.getLength() > 0 ? ",OPTIONAL" :
> "OPTIONAL");
IMHO, you missed the comma "," ;-) It is used to delimit the words where
there are more added. The code generates strings like:
"INVALID"
"INVALID,READONLY" // uses comma ',' before "READONLY"
"READONLY" // uses pure "READONLY"
"READONLY,OPTIONAL"
Best Regards,
Petr
More information about the LibreOffice
mailing list