static int _rpmtool_debug = 0;
+typedef struct rpmavi_s * rpmavi;
+
+struct rpmavi_s {
+ const char ** av;
+ int flags;
+};
+
+static rpmavi rpmaviFree(rpmavi avi)
+{
+ if (avi) {
+ memset(avi, 0, sizeof(*avi));
+ avi = _free(avi);
+ }
+ return NULL;
+}
+
+static rpmavi rpmaviNew(const char ** av, int flags)
+{
+ rpmavi avi = xcalloc(1, sizeof(*avi));
+ if (avi) {
+ avi->av = av;
+ avi->flags = flags;
+ }
+ return avi;
+}
+
+static const char * rpmaviNext(rpmavi avi)
+{
+ const char * a = NULL;
+
+ if (avi && avi->av && *avi->av)
+ a = *avi->av++;
+ return a;
+}
+
static struct iobits_s {
const char * name;
rpmtoolIOBits bits;
if (!strcmp(__progname, "rpmlead")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_LEAD;
- ofmt = NULL;
}
if (!strcmp(__progname, "rpmsignature")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_SHEADER;
- ofmt = NULL;
}
if (!strcmp(__progname, "rpmheader")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_HEADER;
- ofmt = NULL;
}
if (!strcmp(__progname, "rpm2cpio")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_PAYLOAD | RPMIOBITS_UNCOMPRESS;
- ofmt = NULL;
}
if (!strcmp(__progname, "rpmarchive")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_PAYLOAD;
- ofmt = NULL;
}
if (!strcmp(__progname, "dump")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_HEADER | RPMIOBITS_DUMP;
- ofmt = NULL;
}
if (!strcmp(__progname, "rpmdump")) {
ibits = _RPMIOBITS_PKGMASK;
obits = RPMIOBITS_HEADER | RPMIOBITS_DUMP;
- ofmt = NULL;
}
}
FD_t fdi = NULL;
FD_t fdo = NULL;
const char ** av = NULL;
+ rpmavi avi = NULL;
const char * ifn = NULL;
const char * ofn = NULL;
const char * s;
goto bottom;
}
- while ((ifn = *av++) != NULL) {
+ avi = rpmaviNew(av, 0);
+ while ((ifn = rpmaviNext(avi)) != NULL) {
/* Open input file. */
if (fdi == NULL) {
fdo = NULL;
}
}
+ avi = rpmaviFree(avi);
exit:
sigh = headerFree(sigh);
}
xmlFree(attrN);
}
- printf(">");
- if (xp->depth < 2)
- printf("\n");
+ if (xp->isEmptyElement)
+ printf("/>\n");
+ else {
+ printf(">");
+ if (xp->depth < 2)
+ printf("\n");
+ }
break;
case XML_READER_TYPE_END_ELEMENT:
if (xp->depth < 2)
<integer>33188</integer>
</rpmTag>
<rpmTag name="Filerdevs">
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
</rpmTag>
<rpmTag name="Filemtimes">
<integer>1081809659</integer>
</rpmTag>
<rpmTag name="Filemd5s">
<string>a811f210128c11dddbbbe069fe6df5d2</string>
- <string></string>
+ <string/>
<string>0ad5e82cfb2ac82b2bfc3bb998150ed6</string>
<string>44e9fc77c32600526ed39343511914a1</string>
<string>b0f6f713c3249dc4f31a6715dc893d44</string>
</rpmTag>
<rpmTag name="Filelinktos">
- <string></string>
- <string></string>
- <string></string>
- <string></string>
- <string></string>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
</rpmTag>
<rpmTag name="Fileflags">
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
<integer>2</integer>
<integer>2</integer>
<integer>2</integer>
</rpmTag>
<rpmTag name="Fileverifyflags">
<integer>4294967295</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
+ <integer/>
<integer>4294967295</integer>
</rpmTag>
<rpmTag name="Providename">
<string>rpmlib(PayloadFilesHavePrefix)</string>
</rpmTag>
<rpmTag name="Requireversion">
- <string></string>
- <string></string>
- <string></string>
- <string></string>
- <string></string>
- <string></string>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
<string>3.0.4-1</string>
<string>4.0-1</string>
</rpmTag>
<integer>4194947</integer>
</rpmTag>
<rpmTag name="Filelangs">
- <string></string>
- <string></string>
- <string></string>
- <string></string>
- <string></string>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
</rpmTag>
<rpmTag name="Prefixes">
<string>/usr</string>
<string>1.7-22</string>
</rpmTag>
<rpmTag name="Dirindexes">
- <integer>0</integer>
+ <integer/>
<integer>1</integer>
<integer>2</integer>
<integer>2</integer>
</rpmTag>
<rpmTag name="Filecolors">
<integer>1</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
</rpmTag>
<rpmTag name="Fileclass">
<integer>2</integer>
<integer>3</integer>
<integer>1</integer>
<integer>1</integer>
- <integer>0</integer>
+ <integer/>
</rpmTag>
<rpmTag name="Classdict">
- <string></string>
+ <string/>
<string>ASCII English text</string>
<string>ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped</string>
<string>directory</string>
</rpmTag>
<rpmTag name="Filedependsx">
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
</rpmTag>
<rpmTag name="Filedependsn">
<integer>3</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
- <integer>0</integer>
+ <integer/>
+ <integer/>
+ <integer/>
+ <integer/>
</rpmTag>
<rpmTag name="Dependsdict">
<integer>1375731715</integer>
<integer>1375731717</integer>
</rpmTag>
<rpmTag name="Sourcepkgid">
- <base64>8vaKpUrEkvma6oCg0Z/otm==</base64>
+ <base64>8vaKpUrEkvma6oCg0Z/oti==</base64>
</rpmTag>
<rpmTag name="Filecontexts">
<string>system_u:object_r:bin_t</string>