From 019ee37f6279cc6e114359224ace85cb2260f6e0 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Fri, 16 May 2008 17:46:49 +0300 Subject: [PATCH] Eliminate rpmHeaderFormats and rpmHeaderTagExtensions from the API --- lib/formats.c | 21 +++++++++++++++++++-- lib/header.c | 2 ++ lib/header.h | 22 +--------------------- lib/headerfmt.c | 6 ++++-- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/lib/formats.c b/lib/formats.c index a522fd9..f4be595 100644 --- a/lib/formats.c +++ b/lib/formats.c @@ -16,6 +16,23 @@ #include "debug.h" +/** \ingroup header + * Define header tag output formats. + */ +typedef const struct headerSprintfExtension_s * headerSprintfExtension; +struct headerSprintfExtension_s { + const char *name; /*!< Name of extension. */ + void *func; /*!< Pointer to formatter function. */ +}; + +/* forward declarations */ +static const struct headerSprintfExtension_s rpmHeaderFormats[]; +static const struct headerSprintfExtension_s rpmHeaderTagExtensions[]; + +void *rpmHeaderFormatFunc(const char *fmt); +void *rpmHeaderTagFunc(rpmTag tag); + + /** * octalFormat. * @param type tag type @@ -1030,7 +1047,7 @@ void *rpmHeaderFormatFunc(const char *fmt) return func; } -const struct headerSprintfExtension_s rpmHeaderTagExtensions[] = { +static const struct headerSprintfExtension_s rpmHeaderTagExtensions[] = { { "RPMTAG_GROUP", groupTag }, { "RPMTAG_DESCRIPTION", descriptionTag }, { "RPMTAG_SUMMARY", summaryTag }, @@ -1046,7 +1063,7 @@ const struct headerSprintfExtension_s rpmHeaderTagExtensions[] = { { NULL, NULL } }; -const struct headerSprintfExtension_s rpmHeaderFormats[] = { +static const struct headerSprintfExtension_s rpmHeaderFormats[] = { { "armor", armorFormat }, { "base64", base64Format }, { "pgpsig", pgpsigFormat }, diff --git a/lib/header.c b/lib/header.c index 1a43064..459139b 100644 --- a/lib/header.c +++ b/lib/header.c @@ -92,6 +92,8 @@ static const size_t headerMaxbytes = (32*1024*1024); */ typedef int (*headerTagTagFunction) (Header h, rpmtd td); +extern void *rpmHeaderTagFunc(rpmTag tag); + Header headerLink(Header h) { if (h == NULL) return NULL; diff --git a/lib/header.h b/lib/header.h index cb1c624..52556c4 100644 --- a/lib/header.h +++ b/lib/header.h @@ -37,19 +37,6 @@ struct headerTagTableEntry_s { */ typedef struct headerTagIndices_s * headerTagIndices; -/** \ingroup header - * Define header tag output formats. - */ -typedef const struct headerSprintfExtension_s * headerSprintfExtension; -struct headerSprintfExtension_s { - const char *name; /*!< Name of extension. */ - void *func; /*!< Pointer to formatter function. */ -}; - -void *rpmHeaderFormatFunc(const char *fmt); - -void *rpmHeaderTagFunc(rpmTag tag); - /** \ingroup rpmtag * Automatically generated table of tag name/value pairs. */ @@ -65,12 +52,6 @@ extern const int rpmTagTableSize; extern headerTagIndices const rpmTags; /** \ingroup header - * Table of query format extensions. - */ -extern const struct headerSprintfExtension_s rpmHeaderFormats[]; -extern const struct headerSprintfExtension_s rpmHeaderTagExtensions[]; - -/** \ingroup header * Include calculation for 8 bytes of (magic, 0)? */ enum hMagic { @@ -416,8 +397,7 @@ char * headerFormat(Header h, const char * fmt, errmsg_t * errmsg); * @return formatted output string (malloc'ed) */ char * headerSprintf(Header h, const char * fmt, - const struct headerTagTableEntry_s * tbltags, - const struct headerSprintfExtension_s * extensions, + void * tbltags, void * extensions, errmsg_t * errmsg) RPM_GNUC_DEPRECATED; /** \ingroup header diff --git a/lib/headerfmt.c b/lib/headerfmt.c index bbd1982..e6bba1b 100644 --- a/lib/headerfmt.c +++ b/lib/headerfmt.c @@ -31,6 +31,8 @@ typedef char * (*headerTagFormatFunction)(rpmTagType type, rpm_constdata_t data, char * formatPrefix, size_t padding, rpm_count_t element); +extern void *rpmHeaderFormatFunc(const char *fmt); + /** \ingroup header */ typedef struct sprintfTag_s * sprintfTag; @@ -1019,8 +1021,8 @@ exit: } char * headerSprintf(Header h, const char * fmt, - const struct headerTagTableEntry_s * tbltags, - const struct headerSprintfExtension_s * extensions, + void * tbltags, + void * extensions, errmsg_t * errmsg) { return headerFormat(h, fmt, errmsg); -- 2.7.4