int numfiles;
char deptype = 'R';
int fileix;
+ int rc = 0;
numfiles = rpmfiFC(fi);
if (numfiles <= 0) {
td->data = fdeps;
td->count = numfiles;
td->flags = RPMTD_ALLOCED | RPMTD_PTR_ALLOCED;
+ td->type = RPM_STRING_ARRAY_TYPE;
+ rc = 1;
exit:
- td->type = RPM_STRING_ARRAY_TYPE;
fi = rpmfiFree(fi);
ds = rpmdsFree(ds);
- return 1;
+ return rc;
}
/**
*/
static int filenamesTag(Header h, rpmtd td)
{
- td->type = RPM_STRING_ARRAY_TYPE;
rpmfiBuildFNames(h, RPMTAG_BASENAMES,
(const char ***) &(td->data), &(td->count));
- td->flags = RPMTD_ALLOCED;
- return 1;
+ if (td->data) {
+ td->type = RPM_STRING_ARRAY_TYPE;
+ td->flags = RPMTD_ALLOCED;
+ }
+ return (td->data != NULL);
}
/**
*/
static int origfilenamesTag(Header h, rpmtd td)
{
- td->type = RPM_STRING_ARRAY_TYPE;
rpmfiBuildFNames(h, RPMTAG_ORIGBASENAMES,
(const char ***) &(td->data), &(td->count));
- td->flags = RPMTD_ALLOCED;
- return 1;
+ if (td->data) {
+ td->type = RPM_STRING_ARRAY_TYPE;
+ td->flags = RPMTD_ALLOCED;
+ }
+ return (td->data != NULL);
}
/**
* Retrieve file classes.
rpmfi fi = rpmfiNew(NULL, h, RPMTAG_BASENAMES, RPMFI_NOHEADER);
char **fclasses;
int ix, numfiles;
+ int rc = 0;
numfiles = rpmfiFC(fi);
if (numfiles <= 0) {
td->data = fclasses;
td->count = numfiles;
td->flags = RPMTD_ALLOCED | RPMTD_PTR_ALLOCED;
+ td->type = RPM_STRING_ARRAY_TYPE;
+ rc = 1;
exit:
- td->type = RPM_STRING_ARRAY_TYPE;
fi = rpmfiFree(fi);
- return 1;
+ return rc;
}
/**