Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
libpkg: slightly modernize version stages
Kyle Evans committed 5 years ago
commit 53345001e6e8ae1806311ccc0589d7d28aa38439
parent 894a07a
1 file changed +9 -9
modified libpkg/pkg_version.c
@@ -144,17 +144,16 @@ typedef struct {
 * Oliver Eikemeier
 */

-
static const struct {
+
static const struct stage {
	const char *name;
	size_t namelen;
	int value;
-
} stage[] = {
+
} stages[] = {
	{ "pl",    2,  0        },
	{ "alpha", 5, 'a'-'a'+1 },
	{ "beta",  4, 'b'-'a'+1 },
	{ "pre",   3, 'p'-'a'+1 },
	{ "rc",    2, 'r'-'a'+1 },
-
	{ NULL,    0,  -1       }
};

static const char *
@@ -195,14 +194,15 @@ get_component(const char *position, version_component *component)
		/* handle special suffixes */
		if (isalpha(pos[1])) {
			unsigned int i;
-
			for (i = 0; stage[i].name; i++) {
-
				size_t len = stage[i].namelen;
-
				if (strncasecmp(pos, stage[i].name, len) == 0 &&
-
				    !isalpha(pos[stage[i].namelen])) {
+
			for (i = 0; i < nitems(stages); i++) {
+
				const struct stage *stage = &stages[i];
+
				size_t len = stage->namelen;
+
				if (strncasecmp(pos, stage->name, len) == 0 &&
+
				    !isalpha(pos[stage->namelen])) {
					if (hasstage) {
						/* stage to value */
-
						component->a = stage[i].value;
-
						pos += stage[i].namelen;
+
						component->a = stage->value;
+
						pos += stage->namelen;
					} else {
						/* insert dot */
						component->a = 0;