Unicode.utf8CollateKeyForFilename

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]setlocale.

struct Unicode
static
string
utf8CollateKeyForFilename
(
string str
,
ptrdiff_t len
)

Parameters

str string

a UTF-8 encoded string.

len ptrdiff_t

length of str, in bytes, or -1 if str is nul-terminated.

Return Value

Type: string

a newly allocated string. This string should be freed with g_free() when you are done with it.

Meta