Push header getter flags down to internal helpers
authorPanu Matilainen <pmatilai@redhat.com>
Sat, 17 May 2008 06:37:32 +0000 (09:37 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Sat, 17 May 2008 06:37:32 +0000 (09:37 +0300)
lib/header.c
lib/header.h

index 5902983..973466e 100644 (file)
@@ -1339,10 +1339,10 @@ headerFindI18NString(Header h, indexEntry entry)
  * @param h            header
  * @param tag          tag to retrieve
  * @retval td          tag data container
- * @param minMem       string pointers reference header memory?
+ * @param flags                flags to control retrieval
  * @return             1 on success, 0 on not found
  */
-static int intGetTdEntry(Header h, rpmTag tag, rpmtd td, int minMem)
+static int intGetTdEntry(Header h, rpmTag tag, rpmtd td, headerGetFlags flags)
 {
     indexEntry entry;
     int rc;
@@ -1367,7 +1367,7 @@ static int intGetTdEntry(Header h, rpmTag tag, rpmtd td, int minMem)
        td->data = headerFindI18NString(h, entry);
        break;
     default:
-       rc = copyTdEntry(entry, td, minMem);
+       rc = copyTdEntry(entry, td, (flags & HEADERGET_MINMEM));
        break;
     }
 
@@ -1404,7 +1404,6 @@ static int intGetTagExt(Header h, rpmTag tag, rpmtd td, headerTagTagFunction tag
 int headerGet(Header h, rpmTag tag, rpmtd td, headerGetFlags flags)
 {
     int rc;
-    int minMem = flags & HEADERGET_MINMEM;
     headerTagTagFunction tagfunc = NULL;
 
     assert(td != NULL);
@@ -1416,7 +1415,7 @@ int headerGet(Header h, rpmTag tag, rpmtd td, headerGetFlags flags)
     if (tagfunc) {
        rc = intGetTagExt(h, tag, td, tagfunc);
     } else {
-       rc = intGetTdEntry(h, tag, td, minMem);
+       rc = intGetTdEntry(h, tag, td, flags);
     }
 
     assert(tag == td->tag);
@@ -1427,12 +1426,12 @@ static int headerGetWrap(Header h, rpmTag tag,
                rpmTagType * type,
                rpm_data_t * p,
                rpm_count_t * c,
-               int minMem)
+               headerGetFlags flags)
 {
     struct rpmtd_s td;
     int rc;
 
-    rc = headerGet(h, tag, &td, minMem);
+    rc = headerGet(h, tag, &td, flags);
     TDWRAP();
     return rc;
 }
@@ -1442,7 +1441,7 @@ int headerGetEntry(Header h, rpmTag tag,
                        rpm_data_t * p,
                        rpm_count_t * c)
 {
-    return headerGetWrap(h, tag, type, p, c, 0);
+    return headerGetWrap(h, tag, type, p, c, HEADERGET_DEFAULT);
 }
 
 int headerGetEntryMinMemory(Header h, rpmTag tag,
index 56880aa..cba3157 100644 (file)
@@ -181,7 +181,7 @@ int headerIsEntry(Header h, rpmTag tag);
 
 typedef enum headerGetFlags_e {
     HEADERGET_DEFAULT  = 0,
-    HEADERGET_MINMEM   = (1 << 0), /* pointers to header instead of copies */
+    HEADERGET_MINMEM   = (1 << 0), /* string pointers refer to header memory */
     HEADERGET_EXT      = (1 << 1), /* lookup extension types too */
 } headerGetFlags;