Add a couple of architectures.
[platform/upstream/libsolv.git] / tools / rpmmd2solv.c
index 834f490..ee39eac 100644 (file)
@@ -20,7 +20,7 @@
 #include "repo.h"
 #include "repo_rpmmd.h"
 #include "common_write.h"
-#include "common_myfopen.h"
+#include "solv_xfopen.h"
 
 
 static void
@@ -78,19 +78,27 @@ main(int argc, char **argv)
       int l;
       char *fnp;
       l = strlen(dir) + 128;
-      fnp = sat_malloc(l+1);
+      fnp = solv_malloc(l+1);
       snprintf(fnp, l, "%s/primary.xml.gz", dir);
-      if (!(fp = myfopen(fnp)))
+      if (!(fp = solv_xfopen(fnp, 0)))
        {
          perror(fnp);
          exit(1);
        }
-      repo_add_rpmmd(repo, fp, 0, flags);
+      if (repo_add_rpmmd(repo, fp, 0, flags))
+       {
+         fprintf(stderr, "rpmmd2solv: %s: %s\n", fnp, pool_errstr(pool));
+         exit(1);
+       }
       fclose(fp);
       snprintf(fnp, l, "%s/diskusagedata.xml.gz", dir);
-      if ((fp = myfopen(fnp)))
+      if ((fp = solv_xfopen(fnp, 0)))
        {
-         repo_add_rpmmd(repo, fp, 0, flags);
+         if (repo_add_rpmmd(repo, fp, 0, flags))
+           {
+             fprintf(stderr, "rpmmd2solv: %s: %s\n", fnp, pool_errstr(pool));
+             exit(1);
+           }
          fclose(fp);
        }
       if (locale)
@@ -100,7 +108,7 @@ main(int argc, char **argv)
              fprintf(stderr, "-l parameter too long\n");
              exit(1);
            }
-         while (!(fp = myfopen(fnp)))
+         while (!(fp = solv_xfopen(fnp, 0)))
            {
              fprintf(stderr, "not opened %s\n", fnp);
              if (strlen(locale) > 2)
@@ -110,20 +118,30 @@ main(int argc, char **argv)
                      fprintf(stderr, "-l parameter too long\n");
                      exit(1);
                    }
-                 if ((fp = myfopen(fnp)))
+                 if ((fp = solv_xfopen(fnp, 0)))
                    break;
                }
              perror(fnp);
              exit(1);
            }
          fprintf(stderr, "opened %s\n", fnp);
-         repo_add_rpmmd(repo, fp, 0, flags);
+         if (repo_add_rpmmd(repo, fp, 0, flags))
+           {
+             fprintf(stderr, "rpmmd2solv: %s: %s\n", fnp, pool_errstr(pool));
+             exit(1);
+           }
          fclose(fp);
        }
-      sat_free(fnp);
+      solv_free(fnp);
     }
   else
-    repo_add_rpmmd(repo, stdin, 0, flags);
+    {
+      if (repo_add_rpmmd(repo, stdin, 0, flags))
+       {
+         fprintf(stderr, "rpmmd2solv: %s\n", pool_errstr(pool));
+         exit(1);
+       }
+    }
   tool_write(repo, basefile, attrname);
   pool_free(pool);
   exit(0);