handles headers with no state properly

CVS patchset: 496
CVS date: 1996/03/29 19:24:52
This commit is contained in:
ewt 1996-03-29 19:24:52 +00:00
parent 93efd0a7b8
commit 18db9bdc48
1 changed files with 15 additions and 9 deletions

24
query.c
View File

@ -114,8 +114,10 @@ static void printHeader(Header h, int queryFlags) {
&count)) {
puts("(contains no files)");
} else {
getEntry(h, RPMTAG_FILESTATES, &type,
(void **) &fileStatesList, &count);
if (!getEntry(h, RPMTAG_FILESTATES, &type,
(void **) &fileStatesList, &count)) {
fileStatesList = NULL;
}
getEntry(h, RPMTAG_FILEFLAGS, &type,
(void **) &fileFlagsList, &count);
getEntry(h, RPMTAG_FILESIZES, &type,
@ -148,13 +150,17 @@ static void printHeader(Header h, int queryFlags) {
if (!isVerbose()) {
prefix ? fputs(prefix, stdout) : 0;
if (queryFlags & QUERY_FOR_STATE) {
switch (fileStatesList[i]) {
case RPMFILE_STATE_NORMAL:
fputs("normal ", stdout); break;
case RPMFILE_STATE_REPLACED:
fputs("replaced ", stdout); break;
default:
fputs("unknown ", stdout);
if (fileStatesList) {
switch (fileStatesList[i]) {
case RPMFILE_STATE_NORMAL:
fputs("normal ", stdout); break;
case RPMFILE_STATE_REPLACED:
fputs("replaced ", stdout); break;
default:
fputs("unknown ", stdout);
}
} else {
fputs("(no state) ", stdout);
}
}