ext/standard/versioning.c: Slightly refactor compare_special_version_forms()

This commit is contained in:
Gina Peter Bnayard 2024-08-13 19:33:53 +02:00 committed by Gina Peter Banyard
parent 8109d21065
commit ab99161444

View file

@ -77,36 +77,36 @@ php_canonicalize_version(const char *version)
typedef struct { typedef struct {
const char *name; const char *name;
uint8_t name_len;
int order; int order;
} special_forms_t; } special_forms_t;
static int static int compare_special_version_forms(char *form1, char *form2)
compare_special_version_forms(char *form1, char *form2)
{ {
int found1 = -1, found2 = -1; int found1 = -1, found2 = -1;
special_forms_t special_forms[11] = { special_forms_t special_forms[11] = {
{"dev", 0}, {ZEND_STRL("dev"), 0},
{"alpha", 1}, {ZEND_STRL("alpha"), 1},
{"a", 1}, {ZEND_STRL("a"), 1},
{"beta", 2}, {ZEND_STRL("beta"), 2},
{"b", 2}, {ZEND_STRL("b"), 2},
{"RC", 3}, {ZEND_STRL("RC"), 3},
{"rc", 3}, {ZEND_STRL("rc"), 3},
{"#", 4}, {ZEND_STRL("#"), 4},
{"pl", 5}, {ZEND_STRL("pl"), 5},
{"p", 5}, {ZEND_STRL("p"), 5},
{NULL, 0}, {NULL, 0, 0},
}; };
special_forms_t *pp; special_forms_t *pp;
for (pp = special_forms; pp && pp->name; pp++) { for (pp = special_forms; pp && pp->name; pp++) {
if (strncmp(form1, pp->name, strlen(pp->name)) == 0) { if (strncmp(form1, pp->name, pp->name_len) == 0) {
found1 = pp->order; found1 = pp->order;
break; break;
} }
} }
for (pp = special_forms; pp && pp->name; pp++) { for (pp = special_forms; pp && pp->name; pp++) {
if (strncmp(form2, pp->name, strlen(pp->name)) == 0) { if (strncmp(form2, pp->name, pp->name_len) == 0) {
found2 = pp->order; found2 = pp->order;
break; break;
} }