fix grep call
[platform/upstream/libsolv.git] / tools / repomdxml2solv.c
index 2dcdb7e..58b1d00 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "pool.h"
 #include "repo.h"
+#include "chksum.h"
 #include "repo_repomdxml.h"
 #include "common_write.h"
 
@@ -41,7 +42,7 @@ doquery(Pool *pool, Repo *repo, const char *query)
   qp = strchr(query, ':');
   if (qp)
     {
-      type = strn2id(pool, query, qp - query, 0);
+      type = pool_strn2id(pool, query, qp - query, 0);
       if (!type)
        exit(0);
       qp++;
@@ -49,7 +50,7 @@ doquery(Pool *pool, Repo *repo, const char *query)
   else
     qp = query;
   snprintf(qbuf, sizeof(qbuf), "repository:repomd:%s", qp);
-  id = str2id(pool, qbuf, 0);
+  id = pool_str2id(pool, qbuf, 0);
   if (!id)
     exit(0);
   dataiterator_init(&di, pool, repo, SOLVID_META, id, 0, 0);
@@ -66,19 +67,19 @@ doquery(Pool *pool, Repo *repo, const char *query)
        {
        case REPOKEY_TYPE_ID:
        case REPOKEY_TYPE_CONSTANTID:
-         printf("%s\n", id2str(pool, di.kv.id));
+         printf("%s\n", pool_id2str(pool, di.kv.id));
          break;
        case REPOKEY_TYPE_STR:
          printf("%s\n", di.kv.str);
          break;
        case REPOKEY_TYPE_NUM:
-         printf("%d\n", di.kv.num);
+       case REPOKEY_TYPE_CONSTANT:
+         printf("%llu\n", SOLV_KV_NUM64(&di.kv));
          break;
+       case REPOKEY_TYPE_MD5:
        case REPOKEY_TYPE_SHA1:
-         printf("sha1:%s\n", repodata_chk2str(di.data, di.key->type, (unsigned char *)di.kv.str));
-         break;
        case REPOKEY_TYPE_SHA256:
-         printf("sha256:%s\n", repodata_chk2str(di.data, di.key->type, (unsigned char *)di.kv.str));
+         printf("%s:%s\n", solv_chksum_type2str(di.key->type), repodata_chk2str(di.data, di.key->type, (unsigned char *)di.kv.str));
          break;
        default:
          break;
@@ -111,7 +112,11 @@ main(int argc, char **argv)
           break;
         }
     }
-  repo_add_repomdxml(repo, stdin, flags);
+  if (repo_add_repomdxml(repo, stdin, flags))
+    {
+      fprintf(stderr, "repomdxml2solv: %s\n", pool_errstr(pool));
+      exit(1);
+    }
   if (query)
     doquery(pool, repo, query);
   else