From 1e01976460c4e6b10de9a26e486ab2b2871cbff4 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 6 Apr 2020 16:25:35 +0200 Subject: add rpmaddtag() function --- rpminfo.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 71 insertions(+), 12 deletions(-) (limited to 'rpminfo.c') diff --git a/rpminfo.c b/rpminfo.c index 03053d8..a076cf9 100644 --- a/rpminfo.c +++ b/rpminfo.c @@ -61,22 +61,32 @@ static void rpm_header_to_zval(zval *return_value, Header h, zend_bool full) rpmTagVal tag; rpmTagType type; const char *val; + int i; array_init(return_value); hi = headerInitIterator(h); while ((tag=headerNextTag(hi)) != RPMTAG_NOT_FOUND) { - switch (tag) { - case RPMTAG_NAME: - case RPMTAG_VERSION: - case RPMTAG_RELEASE: - case RPMTAG_EPOCH: - case RPMTAG_ARCH: - case RPMTAG_SUMMARY: - break; - default: - if (!full) { - continue; - } + if (!full) { + switch (tag) { + case RPMTAG_NAME: + case RPMTAG_VERSION: + case RPMTAG_RELEASE: + case RPMTAG_EPOCH: + case RPMTAG_ARCH: + case RPMTAG_SUMMARY: + /* Always present tags */ + break; + default: + /* Additional tags */ + for (i=0 ; i