#include "system.h"#include <header_internal.h>#include "debug.h"Go to the source code of this file.
Data Structures | ||||
| struct | headerIterator_s | |||
| Header tag iterator data structure. More... | ||||
| struct | headerSprintfArgs_s | |||
Defines | ||||
| #define | __HEADER_PROTOTYPES__ | |||
| #define | PARSER_BEGIN 0 | |||
| #define | PARSER_IN_ARRAY 1 | |||
| #define | PARSER_IN_EXPR 2 | |||
| #define | hdrchkTags(_ntags) ((_ntags) & 0xffff0000) | |||
| Sanity check on no. | ||||
| #define | hdrchkType(_type) ((_type) < RPM_MIN_TYPE || (_type) > RPM_MAX_TYPE) | |||
| Sanity check on type values. | ||||
| #define | hdrchkData(_nbytes) ((_nbytes) & 0xff000000) | |||
| Sanity check on data size and/or offset and/or count. | ||||
| #define | hdrchkAlign(_type, _off) ((_off) & (typeAlign[_type]-1)) | |||
| Sanity check on alignment for data type. | ||||
| #define | hdrchkRange(_dl, _off) ((_off) < 0 || (_off) > (_dl)) | |||
| Sanity check on range of data offset. | ||||
Typedefs | ||||
| typedef headerSprintfArgs_s * | headerSprintfArgs | |||
Functions | ||||
| static void * | _free (const void *p) | |||
| Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | ||||
| static Header | headerLink (Header h) | |||
| Reference a header instance. | ||||
| static Header | headerUnlink (Header h) | |||
| Dereference a header instance. | ||||
| static Header | headerFree (Header h) | |||
| Dereference a header instance. | ||||
| static Header | headerNew (void) | |||
| Create new (empty) header instance. | ||||
| static int | indexCmp (const void *avp, const void *bvp) | |||
| static void | headerSort (Header h) | |||
| Sort tags in header. | ||||
| static int | offsetCmp (const void *avp, const void *bvp) | |||
| static void | headerUnsort (Header h) | |||
| Restore tags in header to original ordering. | ||||
| static unsigned int | headerSizeof (Header h, enum hMagic magicp) | |||
| Return size of on-disk header representation in bytes. | ||||
| static int | dataLength (int_32 type, hPTR_t p, int_32 count, int onDisk, hPTR_t pend) | |||
| Return length of entry data. | ||||
| static int | regionSwab (indexEntry entry, int il, int dl, entryInfo pe, unsigned char *dataStart, const unsigned char *dataEnd, int regionid) | |||
| Swap int_32 and int_16 arrays within header region. | ||||
| static void * | doHeaderUnload (Header h, int *lengthPtr) | |||
| ||||
| static void * | headerUnload (Header h) | |||
| Convert header to on-disk representation. | ||||
| static indexEntry | findEntry (Header h, int_32 tag, int_32 type) | |||
| Find matching (tag,type) entry in header. | ||||
| static int | headerRemoveEntry (Header h, int_32 tag) | |||
| Delete tag in header. | ||||
| static Header | headerLoad (void *uh) | |||
| Convert header to in-memory representation. | ||||
| static Header | headerReload (Header h, int tag) | |||
| Convert header to on-disk representation, and then reload. | ||||
| static Header | headerCopyLoad (const void *uh) | |||
| Make a copy and convert header to in-memory representation. | ||||
| static Header | headerRead (FD_t fd, enum hMagic magicp) | |||
| Read (and load) header from file handle. | ||||
| static int | headerWrite (FD_t fd, Header h, enum hMagic magicp) | |||
| Write (with unload) header to file handle. | ||||
| static int | headerIsEntry (Header h, int_32 tag) | |||
| Check if tag is in header. | ||||
| static int | copyEntry (const indexEntry entry, hTYP_t type, hPTR_t *p, hCNT_t c, int minMem) | |||
| Retrieve data from header entry. | ||||
| static int | headerMatchLocale (const char *td, const char *l, const char *le) | |||
| Does locale match entry in header i18n table? | ||||
| static char * | headerFindI18NString (Header h, indexEntry entry) | |||
| Return i18n string from header that matches locale. | ||||
| static int | intGetEntry (Header h, int_32 tag, hTAG_t type, hPTR_t *p, hCNT_t c, int minMem) | |||
| Retrieve tag data from header. | ||||
| static void * | headerFreeTag (Header h, const void *data, rpmTagType type) | |||
| Free data allocated when retrieved from header. | ||||
| static int | headerGetEntry (Header h, int_32 tag, hTYP_t type, void **p, hCNT_t c) | |||
| Retrieve tag value. | ||||
| static int | headerGetEntryMinMemory (Header h, int_32 tag, hTYP_t type, hPTR_t *p, hCNT_t c) | |||
| Retrieve tag value using header internal array. | ||||
| int | headerGetRawEntry (Header h, int_32 tag, int_32 *type, hPTR_t *p, int_32 *c) | |||
| static void | copyData (int_32 type, void *dstPtr, const void *srcPtr, int_32 cnt, int dataLength) | |||
| static void * | grabData (int_32 type, hPTR_t p, int_32 c, int *lengthPtr) | |||
| Return (malloc'ed) copy of entry data. | ||||
| static int | headerAddEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) | |||
| Add tag to header. | ||||
| static int | headerAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) | |||
| Append element to tag array in header. | ||||
| static int | headerAddOrAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) | |||
| Add or append element to tag array in header. | ||||
| static int | headerAddI18NString (Header h, int_32 tag, const char *string, const char *lang) | |||
| Add locale specific tag to header. | ||||
| static int | headerModifyEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) | |||
| Modify tag in header. | ||||
| static char | escapedChar (const char ch) | |||
| static sprintfToken | freeFormat (sprintfToken format, int num) | |||
| Destroy headerSprintf format array. | ||||
| static HeaderIterator | headerFreeIterator (HeaderIterator hi) | |||
| Destroy header tag iterator. | ||||
| static HeaderIterator | headerInitIterator (Header h) | |||
| Create header tag iterator. | ||||
| static int | headerNextIterator (HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c) | |||
| Return next tag from header. | ||||
| static Header | headerCopy (Header h) | |||
| Duplicate a header. | ||||
| static headerSprintfArgs | hsaInit (headerSprintfArgs hsa) | |||
| Initialize an hsa iteration. | ||||
| static sprintfToken | hsaNext (headerSprintfArgs hsa) | |||
| Return next hsa iteration item. | ||||
| static headerSprintfArgs | hsaFini (headerSprintfArgs hsa) | |||
| Finish an hsa iteration. | ||||
| static char * | hsaReserve (headerSprintfArgs hsa, size_t need) | |||
| Reserve sufficient buffer space for next output value. | ||||
| static const char * | myTagName (headerTagTableEntry tbl, int val) | |||
| Return tag name from value. | ||||
| static int | myTagValue (headerTagTableEntry tbl, const char *name) | |||
| Return tag value from name. | ||||
| static int | findTag (headerSprintfArgs hsa, sprintfToken token, const char *name) | |||
| ||||
| static int | parseExpression (headerSprintfArgs hsa, sprintfToken token, char *str, char **endPtr) | |||
| ||||
| static int | parseFormat (headerSprintfArgs hsa, char *str, sprintfToken *formatPtr, int *numTokensPtr, char **endPtr, int state) | |||
| ||||
| static int | getExtension (headerSprintfArgs hsa, headerTagTagFunction fn, hTYP_t typeptr, hPTR_t *data, hCNT_t countptr, rpmec ec) | |||
| Call a header extension only once, saving results. | ||||
| static char * | formatValue (headerSprintfArgs hsa, sprintfTag tag, int element) | |||
| ||||
| static char * | singleSprintf (headerSprintfArgs hsa, sprintfToken token, int element) | |||
| ||||
| static rpmec | rpmecNew (const headerSprintfExtension exts) | |||
| Create an extension cache. | ||||
| static rpmec | rpmecFree (const headerSprintfExtension exts, rpmec ec) | |||
| Destroy an extension cache. | ||||
| static char * | headerSprintf (Header h, const char *fmt, const struct headerTagTableEntry_s *tbltags, const struct headerSprintfExtension_s *extensions, errmsg_t *errmsg) | |||
| Return formatted output string from header tags. | ||||
| static char * | octalFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) | |||
| ||||
| static char * | hexFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) | |||
| ||||
| static char * | realDateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element, const char *strftimeFormat) | |||
| static char * | dateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) | |||
| ||||
| static char * | dayFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) | |||
| ||||
| static char * | shescapeFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) | |||
| ||||
| static void | headerCopyTags (Header headerFrom, Header headerTo, hTAG_t tagstocopy) | |||
| Duplicate tag values from one header into another. | ||||
Variables | ||||
| int | _hdr_debug = 0 | |||
| static unsigned char | header_magic [8] | |||
| static int | typeAlign [16] | |||
| Alignment needed for header data types. | ||||
| static int | typeSizes [16] | |||
| Size of header data types. | ||||
| static size_t | headerMaxbytes = (32*1024*1024) | |||
| Maximum no. | ||||
| HV_t | hdrVec | |||
| Header methods for rpm headers. | ||||
| headerSprintfExtension_s | headerDefaultFormats [] | |||
| Supported default header tag output formats. | ||||
| static struct HV_s | hdrVec1 | |||
| HV_t | hdrVec = &hdrVec1 | |||
| Header methods for rpm headers. | ||||
Definition in file header.c.
| #define hdrchkAlign | ( | _type, | |||
| _off | ) | ((_off) & (typeAlign[_type]-1)) |
| #define hdrchkData | ( | _nbytes | ) | ((_nbytes) & 0xff000000) |
| #define hdrchkRange | ( | _dl, | |||
| _off | ) | ((_off) < 0 || (_off) > (_dl)) |
| #define hdrchkTags | ( | _ntags | ) | ((_ntags) & 0xffff0000) |
| #define hdrchkType | ( | _type | ) | ((_type) < RPM_MIN_TYPE || (_type) > RPM_MAX_TYPE) |
| #define PARSER_IN_ARRAY 1 |
| #define PARSER_IN_EXPR 2 |
| typedef struct headerSprintfArgs_s * headerSprintfArgs |
| static void* _free | ( | const void * | p | ) | [inline, static] |
| static void copyData | ( | int_32 | type, | |
| void * | dstPtr, | |||
| const void * | srcPtr, | |||
| int_32 | cnt, | |||
| int | dataLength | |||
| ) | [static] |
Definition at line 1797 of file header.c.
References RPM_I18NSTRING_TYPE, and RPM_STRING_ARRAY_TYPE.
Referenced by grabData().
Return length of entry data.
| type | entry data type | |
| p | entry data | |
| count | entry item count | |
| onDisk | data is concatenated strings (with NUL's))? | |
| pend | pointer to end of data (or NULL) |
Definition at line 384 of file header.c.
References RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, and typeSizes.
Referenced by grabData(), and regionSwab().
| static char* dateFormat | ( | int_32 | type, | |
| hPTR_t | data, | |||
| char * | formatPrefix, | |||
| int | padding, | |||
| int | element | |||
| ) | [static] |
| type | tag type |
| data | tag value | |
| formatPrefix | sprintf format string | |
| padding | no. additional bytes needed by format string | |
| element | (unused) |
Definition at line 3615 of file header.c.
References _, and realDateFormat().
| static char* dayFormat | ( | int_32 | type, | |
| hPTR_t | data, | |||
| char * | formatPrefix, | |||
| int | padding, | |||
| int | element | |||
| ) | [static] |
| type | tag type |
| data | tag value | |
| formatPrefix | sprintf format string | |
| padding | no. additional bytes needed by format string | |
| element | (unused) |
Definition at line 3631 of file header.c.
References _, and realDateFormat().
| static char escapedChar | ( | const char | ch | ) | [static] |
| static indexEntry findEntry | ( | Header | h, | |
| int_32 | tag, | |||
| int_32 | type | |||
| ) | [static] |
Find matching (tag,type) entry in header.
| h | header | |
| tag | entry tag | |
| type | entry type |
Definition at line 894 of file header.c.
References headerToken_s::flags, HEADERFLAG_SORTED, headerSort(), indexCmp(), indexEntry_s::info, RPM_NULL_TYPE, entryInfo_s::tag, and entryInfo_s::type.
Referenced by addMacro(), delMacro(), expandMacro(), headerFindI18NString(), headerGetRawEntry(), htGetEntry(), htHasEntry(), and intGetEntry().
| static int findTag | ( | headerSprintfArgs | hsa, | |
| sprintfToken | token, | |||
| const char * | name | |||
| ) | [static] |
| hsa | headerSprintf args |
Definition at line 2555 of file header.c.
References alloca(), sprintfToken_s::cond, sprintfTag_s::ext, ext, sprintfTag_s::extNum, headerSprintfArgs_s::exts, sprintfTag_s::fmt, HEADER_EXT_FORMAT, HEADER_EXT_LAST, HEADER_EXT_MORE, HEADER_EXT_TAG, myTagValue(), stpcpy(), sprintfTag_s::tag, sprintfToken_s::tag, headerSprintfArgs_s::tags, sprintfTag_s::type, sprintfToken_s::type, sprintfToken_s::u, and xstrcasecmp().
Referenced by parseExpression(), and parseFormat().
| static char* formatValue | ( | headerSprintfArgs | hsa, | |
| sprintfTag | tag, | |||
| int | element | |||
| ) | [static] |
| hsa | headerSprintf args |
| tag | ||
| element |
Definition at line 3030 of file header.c.
References _, _free(), sprintfTag_s::arrayCount, bin2hex(), headerSprintfArgs_s::ec, headerSprintfArgs_s::errmsg, sprintfTag_s::ext, sprintfTag_s::extNum, sprintfTag_s::fmt, sprintfTag_s::format, getExtension(), headerSprintfArgs_s::h, headerFreeData(), headerGetEntry(), hsaReserve(), sprintfTag_s::pad, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, stpcpy(), sprintfTag_s::tag, headerSprintfArgs_s::val, headerSprintfArgs_s::vallen, xmalloc(), and xstrdup().
Referenced by singleSprintf().
| static sprintfToken freeFormat | ( | sprintfToken | format, | |
| int | num | |||
| ) | [static] |
Destroy headerSprintf format array.
| format | sprintf format array | |
| num | number of elements |
Definition at line 2225 of file header.c.
References _free(), sprintfToken_s::array, sprintfToken_s::cond, and sprintfToken_s::u.
Referenced by parseExpression(), and parseFormat().
| static int getExtension | ( | headerSprintfArgs | hsa, | |
| headerTagTagFunction | fn, | |||
| hTYP_t | typeptr, | |||
| hPTR_t * | data, | |||
| hCNT_t | countptr, | |||
| rpmec | ec | |||
| ) | [static] |
Call a header extension only once, saving results.
| hsa | headerSprintf args | |
| fn |
| *typeptr | ||
| *data | ||
| *countptr | ||
| ec | extension cache |
Definition at line 3001 of file header.c.
References rpmec_s::avail, rpmec_s::count, rpmec_s::data, rpmec_s::freeit, headerSprintfArgs_s::h, and rpmec_s::type.
Referenced by formatValue(), and singleSprintf().
Return (malloc'ed) copy of entry data.
| type | entry data type | |
| p | entry data | |
| c | entry item count |
| lengthPtr | no. bytes in returned data |
Definition at line 1837 of file header.c.
References copyData(), dataLength(), and xmalloc().
| static char* headerFindI18NString | ( | Header | h, | |
| indexEntry | entry | |||
| ) | [static] |
Return i18n string from header that matches locale.
| h | header | |
| entry | i18n string data |
Definition at line 1605 of file header.c.
References indexEntry_s::data, findEntry(), getenv(), HEADER_I18NTABLE, headerMatchLocale(), lang, and RPM_STRING_ARRAY_TYPE.
Referenced by intGetEntry().
Definition at line 1771 of file header.c.
References copyEntry(), findEntry(), headerIsEntry(), and RPM_NULL_TYPE.
Referenced by headerGetLangs().
| static int headerMatchLocale | ( | const char * | td, | |
| const char * | l, | |||
| const char * | le | |||
| ) | [static] |
Does locale match entry in header i18n table?
* The range [l,le) contains the next locale to match: * ll[_CC][.EEEEE][@dddd] * where * ll ISO language code (in lowercase). * CC (optional) ISO coutnry code (in uppercase). * EEEEE (optional) encoding (not really standardized). * dddd (optional) dialect. *
| td | header i18n table data, NUL terminated | |
| l | start of locale to match | |
| le | end of locale to match |
Definition at line 1532 of file header.c.
References alloca().
Referenced by headerFindI18NString().
| static headerSprintfArgs hsaFini | ( | headerSprintfArgs | hsa | ) | [static] |
Finish an hsa iteration.
| hsa | headerSprintf args |
Definition at line 2471 of file header.c.
References headerFreeIterator(), headerSprintfArgs_s::hi, and headerSprintfArgs_s::i.
| static headerSprintfArgs hsaInit | ( | headerSprintfArgs | hsa | ) | [static] |
Initialize an hsa iteration.
| hsa | headerSprintf args |
Definition at line 2407 of file header.c.
References sprintfToken_s::array, headerSprintfArgs_s::format, headerSprintfArgs_s::h, headerInitIterator(), headerSprintfArgs_s::hi, headerSprintfArgs_s::i, sprintfTag_s::tag, sprintfToken_s::tag, sprintfToken_s::type, and sprintfToken_s::u.
| static sprintfToken hsaNext | ( | headerSprintfArgs | hsa | ) | [static] |
Return next hsa iteration item.
| hsa | headerSprintf args |
Definition at line 2433 of file header.c.
References sprintfToken_s::array, headerSprintfArgs_s::format, headerNextIterator(), headerSprintfArgs_s::hi, headerSprintfArgs_s::i, headerSprintfArgs_s::numTokens, sprintfTag_s::tag, sprintfToken_s::tag, sprintfToken_s::type, and sprintfToken_s::u.
| static char* hsaReserve | ( | headerSprintfArgs | hsa, | |
| size_t | need | |||
| ) | [static] |
Reserve sufficient buffer space for next output value.
| hsa | headerSprintf args | |
| need | no. of bytes to reserve |
Definition at line 2490 of file header.c.
References headerSprintfArgs_s::alloced, headerSprintfArgs_s::val, headerSprintfArgs_s::vallen, and xrealloc().
Referenced by formatValue(), and singleSprintf().
| static int indexCmp | ( | const void * | avp, | |
| const void * | bvp | |||
| ) | [static] |
Definition at line 247 of file header.c.
References indexEntry_s::info, and entryInfo_s::tag.
Referenced by findEntry().
| static int intGetEntry | ( | Header | h, | |
| int_32 | tag, | |||
| hTAG_t | type, | |||
| hPTR_t * | p, | |||
| hCNT_t | c, | |||
| int | minMem | |||
| ) | [static] |
Retrieve tag data from header.
| h | header | |
| tag | tag to retrieve |
| type | address of type (or NULL) | |
| p | address of data (or NULL) | |
| c | address of count (or NULL) |
| minMem | string pointers reference header memory? |
Definition at line 1661 of file header.c.
References copyEntry(), findEntry(), headerFindI18NString(), indexEntry_s::info, RPM_I18NSTRING_TYPE, RPM_NULL_TYPE, RPM_STRING_TYPE, and entryInfo_s::type.
| static const char* myTagName | ( | headerTagTableEntry | tbl, | |
| int | val | |||
| ) | [static] |
Return tag name from value.
| tbl | tag table | |
| val | tag value to find |
Definition at line 2510 of file header.c.
References headerTagTableEntry_s::name, headerTagTableEntry_s::val, and xtolower().
Referenced by singleSprintf().
| static int myTagValue | ( | headerTagTableEntry | tbl, | |
| const char * | name | |||
| ) | [static] |
Return tag value from name.
Definition at line 2539 of file header.c.
References headerTagTableEntry_s::name, headerTagTableEntry_s::val, and xstrcasecmp().
Referenced by findTag().
| static int offsetCmp | ( | const void * | avp, | |
| const void * | bvp | |||
| ) | [static] |
Definition at line 274 of file header.c.
References indexEntry_s::data, indexEntry_s::info, entryInfo_s::offset, and entryInfo_s::tag.
| static int parseExpression | ( | headerSprintfArgs | hsa, | |
| sprintfToken | token, | |||
| char * | str, | |||
| char ** | endPtr | |||
| ) | [static] |
| hsa | headerSprintf args |
| token | ||
| str |
| *endPtr |
Definition at line 2892 of file header.c.
References _, sprintfToken_s::cond, headerSprintfArgs_s::errmsg, findTag(), freeFormat(), parseFormat(), PARSER_IN_EXPR, sprintfToken_s::type, and sprintfToken_s::u.
Referenced by parseFormat().
| static int parseFormat | ( | headerSprintfArgs | hsa, | |
| char * | str, | |||
| sprintfToken * | formatPtr, | |||
| int * | numTokensPtr, | |||
| char ** | endPtr, | |||
| int | state | |||
| ) | [static] |
| hsa | headerSprintf args |
| str |
| *formatPtr | ||
| *numTokensPtr | ||
| *endPtr |
| state |
Definition at line 2640 of file header.c.
References _, sprintfToken_s::array, sprintfTag_s::arrayCount, headerSprintfArgs_s::errmsg, escapedChar(), findTag(), sprintfTag_s::format, freeFormat(), sprintfTag_s::justOne, next, sprintfTag_s::pad, parseExpression(), PARSER_IN_ARRAY, PARSER_IN_EXPR, sprintfToken_s::string, strtoul, sprintfToken_s::tag, sprintfTag_s::type, sprintfToken_s::type, sprintfToken_s::u, xcalloc(), and xisdigit().
Referenced by parseExpression().
| static char* realDateFormat | ( | int_32 | type, | |
| hPTR_t | data, | |||
| char * | formatPrefix, | |||
| int | padding, | |||
| int | element, | |||
| const char * | strftimeFormat | |||
| ) | [static] |
Definition at line 3574 of file header.c.
References _, RPM_INT32_TYPE, xmalloc(), and xstrdup().
Referenced by dateFormat(), and dayFormat().
| static rpmec rpmecFree | ( | const headerSprintfExtension | exts, | |
| rpmec | ec | |||
| ) | [static] |
Destroy an extension cache.
| exts | headerSprintf extensions | |
| ec | extension cache |
Definition at line 3401 of file header.c.
References _free(), rpmec_s::data, ext, HEADER_EXT_LAST, and HEADER_EXT_MORE.
| static rpmec rpmecNew | ( | const headerSprintfExtension | exts | ) | [static] |
Create an extension cache.
| exts | headerSprintf extensions |
Definition at line 3377 of file header.c.
References ext, HEADER_EXT_LAST, HEADER_EXT_MORE, and xcalloc().
| static char* shescapeFormat | ( | int_32 | type, | |
| hPTR_t | data, | |||
| char * | formatPrefix, | |||
| int | padding, | |||
| int | element | |||
| ) | [static] |
| type | tag type |
| data | tag value | |
| formatPrefix | sprintf format string | |
| padding | no. additional bytes needed by format string | |
| element | (unused) |
Definition at line 3647 of file header.c.
References alloca(), RPM_INT32_TYPE, and xmalloc().
| static char* singleSprintf | ( | headerSprintfArgs | hsa, | |
| sprintfToken | token, | |||
| int | element | |||
| ) | [static] |
| hsa | headerSprintf args |
| token | ||
| element |
Definition at line 3215 of file header.c.
References _, sprintfToken_s::array, sprintfTag_s::arrayCount, sprintfToken_s::cond, headerSprintfArgs_s::errmsg, sprintfTag_s::ext, sprintfTag_s::extNum, formatValue(), getExtension(), headerSprintfArgs_s::h, headerGetEntry(), headerIsEntry(), hsaReserve(), sprintfTag_s::justOne, myTagName(), RPM_BIN_TYPE, RPM_STRING_TYPE, stpcpy(), sprintfToken_s::string, sprintfTag_s::tag, sprintfToken_s::tag, headerSprintfArgs_s::tags, sprintfTag_s::type, sprintfToken_s::type, sprintfToken_s::u, headerSprintfArgs_s::val, and headerSprintfArgs_s::vallen.
| int _hdr_debug = 0 |
1.5.2