• Alexander Barkov's avatar
    MDEV-27042 UCA: Resetting contractions to ignorable does not work well · f9ad8072
    Alexander Barkov authored
    The weight scanner routine scanner_next() did not properly handle the cases
    when a contraction produces no weights (is ignorable).
    
    Adding a helper routine my_uca_scanner_set_weight() and using
    it in all cases:
    
    - A single ASCII character
    - A contraction starting with an ASCII character
    - A multi-byte character
    - A contraction starting with a multi-byte character
    
    Also adding two other helper routines:
    
    - my_uca_scanner_next_expansion_weight()
    - my_uca_scanner_set_weight_outside_maxchar()
    
    to avoid using scanner->wbeg directly inside scanner_next().
    This reduces the probability of similar future bugs.
    f9ad8072
ctype-uca.c 2.12 MB
The source could not be displayed because it is larger than 1 MB. You can load it anyway or download it instead.