Added routines for retrieving GIFs
authorewt <devnull@localhost>
Tue, 19 Dec 1995 16:17:21 +0000 (16:17 +0000)
committerewt <devnull@localhost>
Tue, 19 Dec 1995 16:17:21 +0000 (16:17 +0000)
CVS patchset: 59
CVS date: 1995/12/19 16:17:21

lib/oldrpmdb.h
oldrpmdb.c

index 87b9cdf..67e2630 100644 (file)
@@ -52,6 +52,8 @@ struct rpmdbLabel * rpmdbFindPackagesByLabel(struct rpmdb * rpmdb,
                                             struct rpmdbLabel label);
 
 char * rpmdbGetPackageGroup(struct rpmdb * rpmdb, struct rpmdbLabel label);
+char * rpmdbGetPackageGif(struct rpmdb * rpmdb, struct rpmdbLabel label,
+                         int * size);
 int rpmdbGetPackageInfo(struct rpmdb * rpmdb, struct rpmdbLabel label,
                        struct rpmdbPackageInfo * pinfo);
 void rpmdbFreePackageInfo(struct rpmdbPackageInfo package);
index 8e022b3..bc6270c 100644 (file)
@@ -381,6 +381,28 @@ char * rpmdbGetPackageGroup(struct rpmdb * rpmdb, struct rpmdbLabel label) {
     return g;
 }
 
+/* Returns NULL on error or if no icon exists */
+char * rpmdbGetPackageGif(struct rpmdb * rpmdb, struct rpmdbLabel label,
+                         int * size) {
+    datum key, rec;
+    char * labelstr;
+
+    labelstr = rpmdbLabelToLabelstr(label, 0);
+    
+    key.dptr = labelstr;
+    key.dsize = strlen(labelstr);
+    
+    rec = gdbm_fetch(rpmdb->iconIndex, key);
+    free(labelstr);
+    if (!rec.dptr) {
+       return NULL;
+    }
+
+    *size = rec.dsize;
+
+    return rec.dptr;
+}
+
 /* return 0 on success, 1 on failure */
 int rpmdbGetPackageInfo(struct rpmdb * rpmdb, struct rpmdbLabel label,
                        struct rpmdbPackageInfo * pinfo) {