Lines Matching refs:b

95 sd_int strverscmp_improved(const sd_char *a, const sd_char *b) {  in strverscmp_improved()  argument
126 if (isempty(a) || isempty(b)) in strverscmp_improved()
127 return strcmp_ptr(a, b); in strverscmp_improved()
136 while (*b != '\0' && !is_valid_version_char(*b)) in strverscmp_improved()
137 b++; in strverscmp_improved()
140 if (*a == '~' || *b == '~') { in strverscmp_improved()
142 r = CMP(*a != '~', *b != '~'); in strverscmp_improved()
148 b++; in strverscmp_improved()
154 if (*a == '\0' || *b == '\0') in strverscmp_improved()
155 return CMP(*a, *b); in strverscmp_improved()
158 if (*a == '-' || *b == '-') { in strverscmp_improved()
160 r = CMP(*a != '-', *b != '-'); in strverscmp_improved()
165 b++; in strverscmp_improved()
169 if (*a == '^' || *b == '^') { in strverscmp_improved()
170 r = CMP(*a != '^', *b != '^'); in strverscmp_improved()
175 b++; in strverscmp_improved()
179 if (*a == '.' || *b == '.') { in strverscmp_improved()
180 r = CMP(*a != '.', *b != '.'); in strverscmp_improved()
185 b++; in strverscmp_improved()
188 if (isdigit(*a) || isdigit(*b)) { in strverscmp_improved()
192 while (*b == '0') in strverscmp_improved()
193 b++; in strverscmp_improved()
199 for (bb = b; isdigit(*bb); bb++) in strverscmp_improved()
204 r = CMP(aa - a, bb - b); in strverscmp_improved()
209 r = strncmp(a, b, aa - a); in strverscmp_improved()
216 for (bb = b; is_alpha(*bb); bb++) in strverscmp_improved()
220 r = strncmp(a, b, MIN(aa - a, bb - b)); in strverscmp_improved()
225 r = CMP(aa - a, bb - b); in strverscmp_improved()
232 b = bb; in strverscmp_improved()