X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-vercmp.c;fp=zpm-vercmp.c;h=0000000000000000000000000000000000000000;hb=5dd3c3e64a9574112dda77a5afc167f5daa53fd8;hp=b0e5117b8e703384f89f65dee630ca7dea8e2566;hpb=bd21f0a1265b43ad5f05353a39db31c16826f05c;p=zpackage diff --git a/zpm-vercmp.c b/zpm-vercmp.c deleted file mode 100644 index b0e5117..0000000 --- a/zpm-vercmp.c +++ /dev/null @@ -1,111 +0,0 @@ -#define _POSIX_C_SOURCE 2 - -#include -#include - -#include - -#include "zpm.h" - -/* - * -g greater than - * -l less than - * -e equal - * -L least : print least - * -G greatest : print greatest - * -q quiet: no print - */ -int main(int ac, char *av[]) { - int cmp; - char *a = 0, *b = 0; - int print = 1; - int argn, opt, pass, failed = 0; - - /* 0x1 = less than, 0x2 = equal, 0x4 = greater */ - unsigned testmask = 0; - unsigned testcases = 0; - - char *greatest = 0; - char *least = 0; - - if (ac < 2) return 1; - - while ((opt = getopt(ac, av, "qgleLG")) != -1) { - switch (opt) { - case 'q': print = 0; break; - case 'l': testmask |= 0x1; break; - case 'e': testmask |= 0x2; break; - case 'g': testmask |= 0x4; break; - case 'L': print = 2; break; - case 'G': print = 3; break; - default: - exit(EXIT_FAILURE); - break; - } - } - argn = optind; - - if (ac > argn) { - a = av[argn++]; - greatest = a; - least = a; - } - - while (ac > argn) { - b = av[argn++]; - - cmp = zpm_vercmp(a, b) + 1; - testcases |= (1< 0) { - greatest = b; - } - - cmp = zpm_vercmp(least, b); - if (cmp < 0) { - least = b; - } - } - - switch (testcases) { - case 0: /* no tests */ - cmp = 0; break; - case 1: /* only less than */ - cmp = 2; break; - case 2: /* only equal */ - cmp = 0; break; - case 4: /* only greater than */ - cmp = 1; break; - default: /* mixed */ - cmp = 3; break; - } - - switch (print) { - case 1: - printf("%d\n", cmp == 2 ? -1 : cmp); - break; - case 2: - if (greatest) printf("%s\n", greatest); - break; - case 3: - if (least) printf("%s\n", least); - break; - default: - break; - } - fflush(stdout); - - if (testmask == 0) { - return cmp; - } else { - return failed ? 1 : 0; - } -}