char *relstr;
};
-static void init_ver(struct ver *v, char *s) {
+static void init_ver(struct ver *v, const char *s) {
strncpy(v->str, s, 1023);
v->str[1023] = 0;
v->s = 0;
}
if (a->type == 1) {
int cmp;
+ if (a->s && ! b->s) return 1;
+ if (b->s && ! a->s) return -1;
+ if (!b->s && ! a->s) return 0;
cmp = strcmp(a->s, b->s);
if (cmp == 0) {
return 0;
/*
* alphabetic less than numeric
*/
-int zpm_vercmp(char *vsa, char *vsb) {
+int zpm_vercmp(const char *vsa, const char *vsb) {
struct ver a, b;
int an, bn;
int cmp;
}
return an < bn ? -1 : 1;
}
+ if (an == 0 && bn == 0) {
+ return 0;
+ }
cmp = ver_cmp(&a, &b);
if (cmp != 0) {
return cmp;