Skip to content
  • Martin Pitt's avatar
    Fix symbol names to be locale independent · 63c7f17c
    Martin Pitt authored
    We currently use upper() to present enum values, which are usually defined in
    lower case in the typelib, in upper cases. However, upper() is locale
    dependent, so that e. g. in tr_TR.UTF-8, "invalid" becomes "iNVALiD"
    because Turkish has some extra variants of "i".
    
    Use a local ASCII-only translate() call instead to avoid this. Thanks to Nils
    Philippsen for the idea!
    
    This also adds a test locale "te_ST@nouppera" which defines toupper('a') == 'a'.
    Run the Enum tests under this locale to reproduce the bug and verify the fix.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=649165
    63c7f17c