Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

strnatcmp.c use a fn pointer to call strcmp/strcasecmp

Change-Id: I2bfaeec4cf2af4bed8f0781bcfa24b0b104fb22a

+6 -10
+6 -10
firmware/common/strnatcmp.c
··· 122 122 return 0; 123 123 } 124 124 125 - static int strnatcmp0(char const *a, char const *b, int fold_case) 125 + static int strnatcmp0(char const *a, char const *b, 126 + int (*cmp_fn)(const char*, const char*)) 126 127 { 127 128 int ai, bi; 128 129 int ca, cb; ··· 150 151 if (!ca && !cb) { 151 152 /* The strings compare the same. Call str[case]cmp() to ensure 152 153 consistent results. */ 153 - if(fold_case) 154 - return strcasecmp(a,b); 155 - else 156 - return strcmp(a,b); 154 + return cmp_fn(a,b); 157 155 } 158 156 159 - if (fold_case) { 157 + if (cmp_fn == &strcasecmp) { 160 158 ca = nat_unify_case(ca); 161 159 cb = nat_unify_case(cb); 162 160 } ··· 170 168 } 171 169 } 172 170 173 - 174 - 175 171 int strnatcmp(const char *a, const char *b) { 176 - return strnatcmp0(a, b, 0); 172 + return strnatcmp0(a, b, strcmp); 177 173 } 178 174 179 175 180 176 /* Compare, recognizing numeric string and ignoring case. */ 181 177 int strnatcasecmp(const char *a, const char *b) { 182 - return strnatcmp0(a, b, 1); 178 + return strnatcmp0(a, b, &strcasecmp); 183 179 }