]> pd.if.org Git - zpackage/blobdiff - zpm-vercmp.c
move C source files into src
[zpackage] / zpm-vercmp.c
diff --git a/zpm-vercmp.c b/zpm-vercmp.c
deleted file mode 100644 (file)
index b0e5117..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#define _POSIX_C_SOURCE 2 
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <unistd.h>
-
-#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<<cmp);
-               
-               if (testmask) {
-                       pass = (testmask & (1 << cmp));
-                       if (!pass) {
-                               failed++;
-                       }
-               }
-
-               cmp = zpm_vercmp(greatest, b);
-               if (cmp > 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;
-       }
-}