- store rpmdbid as TYPE_NUM. This means that TYPE_U32 is actually no longer used...
authorMichael Schroeder <mls@suse.de>
Mon, 19 Mar 2012 10:35:28 +0000 (11:35 +0100)
committerMichael Schroeder <mls@suse.de>
Mon, 19 Mar 2012 10:35:28 +0000 (11:35 +0100)
src/repo.c
src/repo_write.c

index 9e67a52..f5db371 100644 (file)
@@ -853,7 +853,7 @@ Repokey repo_solvablekeys[RPM_RPMDBID - SOLVABLE_NAME + 1] = {
   { SOLVABLE_SUGGESTS,    REPOKEY_TYPE_IDARRAY, 0, KEY_STORAGE_SOLVABLE },
   { SOLVABLE_SUPPLEMENTS, REPOKEY_TYPE_IDARRAY, 0, KEY_STORAGE_SOLVABLE },
   { SOLVABLE_ENHANCES,    REPOKEY_TYPE_IDARRAY, 0, KEY_STORAGE_SOLVABLE },
-  { RPM_RPMDBID,          REPOKEY_TYPE_U32, 0, KEY_STORAGE_SOLVABLE },
+  { RPM_RPMDBID,          REPOKEY_TYPE_NUM, 0, KEY_STORAGE_SOLVABLE },
 };
 
 static void
@@ -980,6 +980,7 @@ repo_search_md(Repo *repo, Id p, Id keyname, struct matchdata *md)
            if (repo->rpmdbid)
              {
                kv.num = repo->rpmdbid[p - repo->start];
+               kv.num2 = 0;
                repo_matchvalue(md, s, 0, repo_solvablekeys + (RPM_RPMDBID - SOLVABLE_NAME), &kv);
              }
            if (keyname || md->stop > SEARCH_NEXT_KEY)
index 1db6c50..b666d3b 100644 (file)
@@ -1072,7 +1072,7 @@ repo_write_filtered(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *
       else if (i < RPM_RPMDBID)
         keyd.type = REPOKEY_TYPE_REL_IDARRAY;
       else
-        keyd.type = REPOKEY_TYPE_U32;
+        keyd.type = REPOKEY_TYPE_NUM;
       keyd.size = 0;
       keyd.storage = KEY_STORAGE_SOLVABLE;
       if (keyfilter)
@@ -1696,7 +1696,7 @@ fprintf(stderr, "dir %d used %d\n", i, cbdata.dirused ? cbdata.dirused[i] : 1);
          if (s->enhances && cbdata.keymap[SOLVABLE_ENHANCES])
            data_addidarray_sort(xd, pool, needid, idarraydata + s->enhances, 0);
          if (repo->rpmdbid && cbdata.keymap[RPM_RPMDBID])
-           data_addu32(xd, repo->rpmdbid[i - repo->start]);
+           data_addid(xd, repo->rpmdbid[i - repo->start]);
          if (anyrepodataused)
            {
              cbdata.vstart = -1;