Converts a string into a collation key that can be compared
with other collation keys produced by the same function using strcmp().
In order to sort filenames correctly, this function treats the dot '.'
as a special case. Most dictionary orderings seem to consider it
insignificant, thus producing the ordering "event.c" "eventgenerator.c"
"event.h" instead of "event.c" "event.h" "eventgenerator.c". Also, we
would like to treat numbers intelligently so that "file1" "file10" "file5"
is sorted as "file1" "file5" "file10".
Note that the returned string is not guaranteed to be in any
encoding, especially UTF-8. The returned value is meant to be
used only for comparisons.
Parameters
str: string
a UTF-8 encoded string.
len: number
length of str, in bytes, or -1 if str is nul-terminated.
Returns string
a newly allocated string. The contents of the string are only meant to be used when sorting. This string should be freed with g_free() when you are done with it.
Converts a string into a collation key that can be compared with other collation keys produced by the same function using
strcmp().In order to sort filenames correctly, this function treats the dot '.' as a special case. Most dictionary orderings seem to consider it insignificant, thus producing the ordering "event.c" "eventgenerator.c" "event.h" instead of "event.c" "event.h" "eventgenerator.c". Also, we would like to treat numbers intelligently so that "file1" "file10" "file5" is sorted as "file1" "file5" "file10".
Note that this function depends on the current locale.
Note that the returned string is not guaranteed to be in any encoding, especially UTF-8. The returned value is meant to be used only for comparisons.