codepoint_t c1=0, c2=0;
size_t size1, size2;
codepoint_t c1=0, c2=0;
size_t size1, size2;
+ /* handle null ptr comparisons to simplify the use in qsort */
+ if (s1 == s2) return 0;
+ if (s1 == NULL) return -1;
+ if (s2 == NULL) return 1;
+
while (*s1 && *s2) {
c1 = next_codepoint(s1, &size1);
c2 = next_codepoint(s2, &size2);
while (*s1 && *s2) {
c1 = next_codepoint(s1, &size1);
c2 = next_codepoint(s2, &size2);
codepoint_t c1=0, c2=0;
size_t size1, size2;
codepoint_t c1=0, c2=0;
size_t size1, size2;
+ /* handle null ptr comparisons to simplify the use in qsort */
+ if (s1 == s2) return 0;
+ if (s1 == NULL) return -1;
+ if (s2 == NULL) return 1;
+
while (*s1 && *s2 && n) {
n--;
while (*s1 && *s2 && n) {
n--;