Possible solutions:
- always use strcoll - gives a consistent ('a' < 'A' and 'ą' < 'Ą') ordering but is slower for ascii characters, especially in case insensitive mode.
- just flip 'a-z' and 'A-Z' codes manually [1] (also gives 'a' < 'A' and 'ą' < 'Ą')
- wait for http://sourceware.org/bugzilla/show_bug.cgi?id=14039 to be resolved (would give 'A' < 'a' and 'Ą' < 'ą' but that's very unlikely)
No solution (but hopefully this will be fixed upstream). If fixed, then the workaround in the patch (g_strconcat) will not be necessary, so we can then improve performance a bit by removing it.
IMHO the code is ready to be used, I don't have anything else to add.
There are some remaining issues, which cannot be easily fixed:
1. 'A' < 'a' but 'ą' < 'Ą' - this is because former is coming from ascii code comparison, and the latter from strcoll. sourceware. org/bugzilla/ show_bug. cgi?id= 14039
Reported upstream: http://
Possible solutions: sourceware. org/bugzilla/ show_bug. cgi?id= 14039 to be resolved (would give 'A' < 'a' and 'Ą' < 'ą' but that's very unlikely)
- always use strcoll - gives a consistent ('a' < 'A' and 'ą' < 'Ą') ordering but is slower for ascii characters, especially in case insensitive mode.
- just flip 'a-z' and 'A-Z' codes manually [1] (also gives 'a' < 'A' and 'ą' < 'Ą')
- wait for http://
2. あ < a < あa < aa < あaa sourceware. org/bugzilla/ show_bug. cgi?id= 14038
Reported upstream: http://
No solution (but hopefully this will be fixed upstream). If fixed, then the workaround in the patch (g_strconcat) will not be necessary, so we can then improve performance a bit by removing it.