]> pd.if.org Git - zpackage/blobdiff - zpm-addfile.c
general search improvements
[zpackage] / zpm-addfile.c
index 961b6b806876a5fdff4bd0996264668df5877b6e..4484e79c21d2920c13282d6a53dc7a2c0dc91faa 100644 (file)
@@ -1,20 +1,36 @@
+#include <stdlib.h>
 #include <stdio.h>
 #include "zpm.h"
 
 int main(int ac, char **av){
        struct zpm pkg;
        char hash[65];
+       int i;
 
        if (ac < 3) {
                fprintf(stderr, "usage: db path\n");
                return 1;
        }
-       zpm_open(&pkg, av[1]);
-       zpm_begin(&pkg);
-       zpm_import(&pkg, av[2], 0, hash);
+
+       if (zpm_open(&pkg, av[1])) {
+               zpm_begin(&pkg);
+               for (i=2; i<ac; i++) {
+                       if (zpm_import(&pkg, av[i], 0, hash)) {
+                               fprintf(stdout, "%s\n", hash);
+       //                      zpm_addtopackage(&pkg, hash, 0);
+                               //fprintf(stdout, "%s %s\n", hash, av[2]);
+                       } else {
+                               zpm_rollback(&pkg);
+                               zpm_close(&pkg);
+                               exit(1);
+                       }
+               }
+       } else {
+               fprintf(stderr, "failed to open database %s\n", av[1]);
+               exit(EXIT_FAILURE);
+       }
+
        zpm_commit(&pkg);
        zpm_close(&pkg);
-       //fprintf(stdout, "%s %s\n", hash, av[2]);
-       fprintf(stdout, "%s\n", hash);
        return 0;
 }