]> pd.if.org Git - zpackage/blobdiff - zpm-addfile.c
change chown to lchown
[zpackage] / zpm-addfile.c
index 480c38a044314b7fc27887811779c3e11942ffcf..4484e79c21d2920c13282d6a53dc7a2c0dc91faa 100644 (file)
@@ -5,20 +5,32 @@
 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);
-       if (zpm_import(&pkg, av[2], 0, hash)) {
-               zpm_commit(&pkg);
-               fprintf(stdout, "%s\n", hash);
-               //fprintf(stdout, "%s %s\n", hash, av[2]);
+
+       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 {
-               exit(1);
+               fprintf(stderr, "failed to open database %s\n", av[1]);
+               exit(EXIT_FAILURE);
        }
+
+       zpm_commit(&pkg);
        zpm_close(&pkg);
        return 0;
 }