>> Please elaborate more. Why don't you use strcoll_l()[?]
>
> I do, but it might not be available.
>
>> Why don't you use temporary locale changes such as:
>>
>> old_locale =3D setlocale(LC_COLLATE, NULL);
>> setlocale(LC_COLLATE, your_faborite_locale);
>>
>> strcoll(blah blah);
>>
>> setlocaleLC_COLLATE, old_locale);
>
> Because it=92s not thread safe.

You can use GVL for that.