i18npool/source/search/textsearch.cxx TransliterationModules bug?

Eike Rathke erack at redhat.com
Mon Mar 23 14:28:13 PDT 2015


Hi Michael,

On Monday, 2015-03-23 15:49:35 +0100, Michael Stahl wrote:

> static const sal_Int32 COMPLEX_TRANS_MASK =
>     COMPLEX_TRANS_MASK_TMP |
>     TransliterationModules_IGNORE_KANA |
>     TransliterationModules_FULLWIDTH_HALFWIDTH;
> 
> the FULLWIDTH_HALFWIDTH value is 4 and the TransliterationModules enum
> is very odd in that it is basically split into 2 ranges and values <
> 0xFF are not to be used as bitflags, whereas values > 0xFF are always
> defined as single bits.
> 
> using FULLWIDTH_HALFWIDTH in the mask looks like it would affect the
> value NumToTextFormalLower_ko = 12 as well which is probably not
> intentional?

Sigh.. probably not.. looks like the non-bit values need to be
explicitly checked for at all places where (... & COMPLEX_TRANS_MASK) is
done instead of simply using them in the mask. Same for
SIMPLE_TRANS_MASK and SIMPLE_TRANS_MASK_REPATTERN.

    TransliterationModules_UPPERCASE_LOWERCASE |
    TransliterationModules_LOWERCASE_UPPERCASE

in SIMPLE_TRANS_MASK_REPATTERN equals 3 and so matches quite some values ...
comparing such masked value with a SIMPLE_TRANS_MASK-masked value
also doesn't look right.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key "ID" 0x65632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150323/e3b6c189/attachment.sig>


More information about the LibreOffice mailing list