- allow index and match specification in getinstalledrpmdbids()
authorMichael Schroeder <mls@suse.de>
Wed, 15 Jul 2009 16:37:29 +0000 (18:37 +0200)
committerMichael Schroeder <mls@suse.de>
Wed, 15 Jul 2009 16:37:29 +0000 (18:37 +0200)
ext/repo_rpmdb.c
ext/repo_rpmdb.h

index d9c7849..911f1af 100644 (file)
@@ -2185,19 +2185,21 @@ getinstalledrpmdbids(struct rpm_by_state *state, const char *index, const char *
 }
 
 int
-rpm_installedrpmdbids(const char *rootdir, Queue *rpmdbidq)
+rpm_installedrpmdbids(const char *rootdir, const char *index, const char *match, Queue *rpmdbidq)
 {
   struct rpm_by_state state;
   struct rpmdbentry *entries;
   int nentries, i;
   char *namedata;
 
+  if (!index)
+    index = "Name";
   if (rpmdbidq)
     queue_empty(rpmdbidq);
   memset(&state, 0, sizeof(state));
   if (!(state.dbenv = opendbenv(rootdir)))
     return 0;
-  entries = getinstalledrpmdbids(&state, "Name", 0, &nentries, &namedata, 0);
+  entries = getinstalledrpmdbids(&state, index, match, &nentries, &namedata, 0);
   if (rpmdbidq)
     for (i = 0; i < nentries; i++)
       queue_push(rpmdbidq, entries[i].rpmdbid);
index e5856e4..78dd2f3 100644 (file)
@@ -32,4 +32,4 @@ void *rpm_byrpmh(struct headerToken_s *h, void **statep);
 
 char *rpm_query(void *rpmhandle, Id what);
 void rpm_iterate_filelist(void *rpmhandle, int flags, void (*cb)(void *, const char *, int, const char *), void *cbdata);
-int  rpm_installedrpmdbids(const char *rootdir, Queue *rpmdbidq);
+int  rpm_installedrpmdbids(const char *rootdir, const char *index, const char *match, Queue *rpmdbidq);