Remove the "dressed" rpmHeaderGetEntry() from API
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 20 Sep 2007 10:23:58 +0000 (13:23 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 20 Sep 2007 10:23:58 +0000 (13:23 +0300)
- only used by the python bindings, move it there...

lib/misc.c
lib/rpmlib.h
python/header-py.c

index 2fd3512..ddd728e 100644 (file)
@@ -226,54 +226,3 @@ char * currentDirectory(void)
     return currDir;
 }
 
-/*
- * XXX This is a "dressed" entry to headerGetEntry to do:
- *      1) DIRNAME/BASENAME/DIRINDICES -> FILENAMES tag conversions.
- *      2) i18n lookaside (if enabled).
- */
-int rpmHeaderGetEntry(Header h, int_32 tag, int_32 *type,
-       void **p, int_32 *c)
-{
-    switch (tag) {
-    case RPMTAG_OLDFILENAMES:
-    {  const char ** fl = NULL;
-       int count;
-       rpmfiBuildFNames(h, RPMTAG_BASENAMES, &fl, &count);
-       if (count > 0) {
-           *p = fl;
-           if (c)      *c = count;
-           if (type)   *type = RPM_STRING_ARRAY_TYPE;
-           return 1;
-       }
-       if (c)  *c = 0;
-       return 0;
-    }  break;
-
-    case RPMTAG_GROUP:
-    case RPMTAG_DESCRIPTION:
-    case RPMTAG_SUMMARY:
-    {  char fmt[128];
-       const char * msgstr;
-       const char * errstr;
-
-       fmt[0] = '\0';
-       (void) stpcpy( stpcpy( stpcpy( fmt, "%{"), tagName(tag)), "}\n");
-
-       /* XXX FIXME: memory leak. */
-        msgstr = headerSprintf(h, fmt, rpmTagTable, rpmHeaderFormats, &errstr);
-       if (msgstr) {
-           *p = (void *) msgstr;
-           if (type)   *type = RPM_STRING_TYPE;
-           if (c)      *c = 1;
-           return 1;
-       } else {
-           if (c)      *c = 0;
-           return 0;
-       }
-    }  break;
-
-    default:
-       return headerGetEntry(h, tag, type, p, c);
-       break;
-    }
-}
index cf6cc45..6698544 100644 (file)
@@ -153,22 +153,6 @@ void headerMergeLegacySigs(Header h, const Header sigh);
  */
 Header headerRegenSigHeader(const Header h, int noArchiveSize);
 
-/** \ingroup header
- * Retrieve tag info from header.
- * This is a "dressed" entry to headerGetEntry to do:
- *     1) DIRNAME/BASENAME/DIRINDICES -> FILENAMES tag conversions.
- *     2) i18n lookaside (if enabled).
- *
- * @param h            header
- * @param tag          tag
- * @retval type                address of tag value data type
- * @retval p           address of pointer to tag value(s)
- * @retval c           address of number of values
- * @return             0 on success, 1 on bad magic, 2 on error
- */
-int rpmHeaderGetEntry(Header h, int_32 tag, int_32 *type,
-               void **p, int_32 *c);
-
 /**
  * Automatically generated table of tag name/value pairs.
  */
index 96fb82f..4e2b830 100644 (file)
@@ -363,6 +363,66 @@ long tagNumFromPyObject (PyObject *item)
 }
 
 /** \ingroup py_c
+ * Retrieve tag info from header.
+ * This is a "dressed" entry to headerGetEntry to do:
+ *     1) DIRNAME/BASENAME/DIRINDICES -> FILENAMES tag conversions.
+ *     2) i18n lookaside (if enabled).
+ *
+ * @param h            header
+ * @param tag          tag
+ * @retval type                address of tag value data type
+ * @retval p           address of pointer to tag value(s)
+ * @retval c           address of number of values
+ * @return             0 on success, 1 on bad magic, 2 on error
+ */
+static int dressedHeaderGetEntry(Header h, int_32 tag, int_32 *type,
+       void **p, int_32 *c)
+{
+    switch (tag) {
+    case RPMTAG_OLDFILENAMES:
+    {  const char ** fl = NULL;
+       int count;
+       rpmfiBuildFNames(h, RPMTAG_BASENAMES, &fl, &count);
+       if (count > 0) {
+           *p = fl;
+           if (c)      *c = count;
+           if (type)   *type = RPM_STRING_ARRAY_TYPE;
+           return 1;
+       }
+       if (c)  *c = 0;
+       return 0;
+    }  break;
+
+    case RPMTAG_GROUP:
+    case RPMTAG_DESCRIPTION:
+    case RPMTAG_SUMMARY:
+    {  char fmt[128];
+       const char * msgstr;
+       const char * errstr;
+
+       fmt[0] = '\0';
+       (void) stpcpy( stpcpy( stpcpy( fmt, "%{"), tagName(tag)), "}\n");
+
+       /* XXX FIXME: memory leak. */
+        msgstr = headerSprintf(h, fmt, rpmTagTable, rpmHeaderFormats, &errstr);
+       if (msgstr) {
+           *p = (void *) msgstr;
+           if (type)   *type = RPM_STRING_TYPE;
+           if (c)      *c = 1;
+           return 1;
+       } else {
+           if (c)      *c = 0;
+           return 0;
+       }
+    }  break;
+
+    default:
+       return headerGetEntry(h, tag, type, p, c);
+       break;
+    }
+}
+
+/** \ingroup py_c
  */
 static PyObject * hdr_subscript(hdrObject * s, PyObject * item)
 {
@@ -402,7 +462,7 @@ static PyObject * hdr_subscript(hdrObject * s, PyObject * item)
             return NULL;
         }
         
-       if (!rpmHeaderGetEntry(s->h, tag, &type, &data, &count)) {
+       if (!dressedHeaderGetEntry(s->h, tag, &type, &data, &count)) {
            switch (tag) {
            case RPMTAG_EPOCH:
            case RPMTAG_NAME: