return 0;
}
- switch (entry->info.type) {
- case RPM_I18NSTRING_TYPE:
- rc = 1;
- td->type = RPM_STRING_TYPE;
- td->count = 1;
- td->data = headerFindI18NString(h, entry);
- break;
- default:
+ if (flags & HEADERGET_RAW) {
rc = copyTdEntry(entry, td, (flags & HEADERGET_MINMEM));
- break;
+ } else {
+ switch (entry->info.type) {
+ case RPM_I18NSTRING_TYPE:
+ rc = 1;
+ td->type = RPM_STRING_TYPE;
+ td->count = 1;
+ td->data = headerFindI18NString(h, entry);
+ break;
+ default:
+ rc = copyTdEntry(entry, td, (flags & HEADERGET_MINMEM));
+ break;
+ }
}
/* XXX 1 on success */
HEADERGET_DEFAULT = 0,
HEADERGET_MINMEM = (1 << 0), /* string pointers refer to header memory */
HEADERGET_EXT = (1 << 1), /* lookup extension types too */
+ HEADERGET_RAW = (1 << 2), /* return raw contents (no i18n lookups) */
} headerGetFlags;
/** \ingroup header