#include "system.h"
#include <langinfo.h>
#include <iconv.h>
#include <header_internal.h>
#include <rpmlib.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
| struct | headerIteratorS |
| Header tag iterator data structure. More... | |
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 | hdrchkData(_nbytes) ((_nbytes) & 0xff000000) |
| Sanity check on data size and/or offset. | |
Functions | |
| const char *const | tagName (int tag) |
| Return name of tag from value. | |
| Header | headerLink (Header h) |
| Header | headerUnlink (Header h) |
| Header | headerFree (Header h) |
| Header | headerNew (void) |
| int | indexCmp (const void *avp, const void *bvp) |
| void | headerSort (Header h) |
| int | offsetCmp (const void *avp, const void *bvp) |
| void | headerUnsort (Header h) |
| unsigned int | headerSizeof (Header h, enum hMagic magicp) |
| int | dataLength (int_32 type, hPTR_t p, int_32 count, int onDisk) |
| Return length of entry data. | |
| int | regionSwab (indexEntry entry, int il, int dl, entryInfo pe, char *dataStart, int regionid) |
| void * | doHeaderUnload (Header h, int *lengthPtr) |
| void * | headerUnload (Header h) |
| indexEntry | findEntry (Header h, int_32 tag, int_32 type) |
| Find matching (tag,type) entry in header. | |
| int | headerRemoveEntry (Header h, int_32 tag) |
| Header | headerLoad (void *uh) |
| Header | headerReload (Header h, int tag) |
| Header | headerCopyLoad (const void *uh) |
| Header | headerRead (FD_t fd, enum hMagic magicp) |
| int | headerWrite (FD_t fd, Header h, enum hMagic magicp) |
| int | headerIsEntry (Header h, int_32 tag) |
| int | copyEntry (const indexEntry entry, hTYP_t type, hPTR_t *p, hCNT_t c, int minMem) |
| int | locale_match (const char *sample, const char *l_b, const char *l_e, char delim) |
| int | headerMatchLocale (const char *td, const char *l, const char *le, int strip_lang) |
| Does locale match entry in header i18n table? | |
| char * | convert (char *ed, const char *td, const char *lang) |
| char * | headerFindI18NString (Header h, indexEntry entry) |
| Return i18n string from header that matches locale. | |
| int | intGetEntry (Header h, int_32 tag, hTAG_t type, hPTR_t *p, hCNT_t c, int minMem) |
| Retrieve tag data from header. | |
| void * | headerFreeTag (Header h, const void *data, rpmTagType type) |
| int | headerGetEntry (Header h, int_32 tag, hTYP_t type, void **p, hCNT_t c) |
| int | headerGetEntryMinMemory (Header h, int_32 tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
| int | headerGetRawEntry (Header h, int_32 tag, int_32 *type, hPTR_t *p, int_32 *c) |
| void | copyData (int_32 type, void *dstPtr, const void *srcPtr, int_32 c, int dataLength) |
| void * | grabData (int_32 type, hPTR_t p, int_32 c, int *lengthPtr) |
| Return (malloc'ed) copy of entry data. | |
| int | headerAddEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
| int | headerAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
| int | headerAddOrAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
| int | headerAddI18NString (Header h, int_32 tag, const char *string, const char *lang) |
| int | headerModifyEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
| char | escapedChar (const char ch) |
| sprintfToken | freeFormat (sprintfToken format, int num) |
| Destroy headerSprintf format array. | |
| void | findTag (char *name, const headerTagTableEntry tags, const headerSprintfExtension extensions, headerTagTableEntry *tagMatch, headerSprintfExtension *extMatch) |
| int | parseExpression (sprintfToken token, char *str, const headerTagTableEntry tags, const headerSprintfExtension extensions, char **endPtr, errmsg_t *errmsg) |
| int | parseFormat (char *str, const headerTagTableEntry tags, const headerSprintfExtension extensions, sprintfToken *formatPtr, int *numTokensPtr, char **endPtr, int state, errmsg_t *errmsg) |
| int | getExtension (Header h, headerTagTagFunction fn, hTYP_t typeptr, hPTR_t *data, hCNT_t countptr, extensionCache ext) |
| char * | formatValue (sprintfTag tag, Header h, const headerSprintfExtension extensions, extensionCache extCache, int element, char **valp, int *vallenp, int *allocedp) |
| char * | singleSprintf (Header h, sprintfToken token, const headerSprintfExtension extensions, extensionCache extCache, int element, char **valp, int *vallenp, int *allocedp) |
| extensionCache | allocateExtensionCache (const headerSprintfExtension extensions) |
| extensionCache | freeExtensionCache (const headerSprintfExtension extensions, extensionCache cache) |
| char * | headerSprintf (Header h, const char *fmt, const struct headerTagTableEntry_s *tbltags, const struct headerSprintfExtension_s *extensions, errmsg_t *errmsg) |
| char * | octalFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
| char * | hexFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
| char * | realDateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element, const char *strftimeFormat) |
| char * | dateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
| char * | dayFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
| char * | shescapeFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
| void | headerCopyTags (Header headerFrom, Header headerTo, hTAG_t tagstocopy) |
| HeaderIterator | headerFreeIterator (HeaderIterator hi) |
| HeaderIterator | headerInitIterator (Header h) |
| int | headerNextIterator (HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
| Header | headerCopy (Header h) |
Variables | |
| unsigned char | header_magic [8] |
| size_t | headerMaxbytes = (32*1024*1024) |
| int | typeSizes [] |
| HV_t | hdrVec = &hdrVec1 |
| const struct headerSprintfExtension_s | headerDefaultFormats [] |
| HV_s | hdrVec1 |
Definition in file header.c.
|
|
|
|
|
Sanity check on data size and/or offset. This check imposes a limit of 16Mb, more than enough. Definition at line 63 of file header.c. Referenced by doHeaderUnload(), headerCopyLoad(), headerLoad(), and headerRead(). |
|
|
Sanity check on no. of tags. This check imposes a limit of 65K tags, more than enough. Definition at line 57 of file header.c. Referenced by doHeaderUnload(), headerCopyLoad(), headerLoad(), and headerRead(). |
|
|
Definition at line 36 of file header.c. Referenced by headerSprintf(). |
|
|
Definition at line 37 of file header.c. Referenced by parseFormat(). |
|
|
Definition at line 38 of file header.c. Referenced by parseExpression(), and parseFormat(). |
|
|
Definition at line 2965 of file header.c. References HEADER_EXT_LAST, HEADER_EXT_MORE, headerSprintfExtension_s::type, headerSprintfExtension_s::u, and xcalloc(). Referenced by headerSprintf(). |
|
||||||||||||||||
|
Definition at line 1423 of file header.c. References _free(), and setlocale. Referenced by headerFindI18NString(). |
|
||||||||||||||||||||||||
|
Definition at line 1663 of file header.c. References dataLength(), int_32, RPM_I18NSTRING_TYPE, and RPM_STRING_ARRAY_TYPE. Referenced by grabData(), and headerAppendEntry(). |
|
||||||||||||||||||||
|
Return length of entry data.
Definition at line 327 of file header.c. References _, EXIT_FAILURE, hPTR_t, int_32, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, and typeSizes. Referenced by copyData(), grabData(), headerAppendEntry(), and regionSwab(). |
|
||||||||||||||||||||||||
|
Definition at line 3147 of file header.c. References hPTR_t, int_32, and realDateFormat(). |
|
||||||||||||||||||||||||
|
Definition at line 3156 of file header.c. References hPTR_t, int_32, and realDateFormat(). |
|
|
Definition at line 2034 of file header.c. Referenced by parseFormat(). |
|
||||||||||||||||
|
Find matching (tag,type) entry in header.
Definition at line 779 of file header.c. References headerToken::flags, HEADERFLAG_SORTED, headerSort(), headerToken::index, indexCmp(), headerToken::indexUsed, indexEntry::info, int_32, RPM_NULL_TYPE, entryInfo::tag, and entryInfo::type. |
|
||||||||||||||||||||||||
|
Definition at line 2106 of file header.c. References alloca(), HEADER_EXT_LAST, HEADER_EXT_MORE, HEADER_EXT_TAG, headerTagTableEntry_s::name, headerSprintfExtension_s::name, stpcpy(), headerSprintfExtension_s::type, headerSprintfExtension_s::u, and xstrcasecmp(). Referenced by parseExpression(), and parseFormat(). |
|
||||||||||||||||||||||||||||||||||||
|
||||||||||||
|
Definition at line 2988 of file header.c. References _free(), extensionCache::data, extensionCache::freeit, HEADER_EXT_LAST, HEADER_EXT_MORE, headerSprintfExtension_s::type, and headerSprintfExtension_s::u. Referenced by headerSprintf(). |
|
||||||||||||
|
Destroy headerSprintf format array.
Definition at line 2055 of file header.c. References _, _free(), sprintfToken::array, sprintfToken::cond, RPMMESS_WARNING, rpmMessage, sprintfToken::type, and sprintfToken::u. Referenced by parseExpression(), and parseFormat(). |
|
||||||||||||||||||||||||||||
|
Definition at line 2589 of file header.c. References extensionCache::avail, extensionCache::count, extensionCache::data, extensionCache::freeit, hCNT_t, headerTagTagFunction, hPTR_t, hTYP_t, and extensionCache::type. Referenced by formatValue(), and singleSprintf(). |
|
||||||||||||||||||||
|
Return (malloc'ed) copy of entry data.
Definition at line 1702 of file header.c. References copyData(), dataLength(), hPTR_t, int_32, and xmalloc(). Referenced by headerAddEntry(), and headerModifyEntry(). |
|
||||||||||||||||||||||||
|
||||||||||||||||||||
|
Add locale specific tag to header. A NULL lang is interpreted as the C locale. Here are the rules: * - If the tag isn't in the header, it's added with the passed string * as new value. * - If the tag occurs multiple times in entry, which tag is affected * by the operation is undefined. * - If the tag is in the header w/ this language, the entry is * *replaced* (like headerModifyEntry()). *
Definition at line 1853 of file header.c. References _free(), alloca(), entryInfo::count, indexEntry::data, ENTRY_IN_REGION, findEntry(), HEADER_I18NTABLE, headerAddEntry(), indexEntry::info, int_32, indexEntry::length, entryInfo::offset, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, xmalloc(), and xrealloc(). Referenced by handlePreambleTag(), and parseDescription(). |
|
||||||||||||||||||||||||
|
Add or append element to tag array in header.
Definition at line 1823 of file header.c. References findEntry(), headerAddEntry(), headerAppendEntry(), and int_32. Referenced by addFileToArrayTag(), addOrAppendListEntry(), addReqProv(), genCpioListAndHeader(), mergeFiles(), processScriptFiles(), processSourceFiles(), and providePackageNVR(). |
|
||||||||||||||||||||||||
|
Append element to tag array in header. Appends item p to entry w/ tag and type as passed. Won't work on RPM_STRING_TYPE. Any pointers into header memory returned from headerGetEntryMinMemory() for this entry are invalid after this call has been made!
Definition at line 1776 of file header.c. References copyData(), entryInfo::count, indexEntry::data, dataLength(), ENTRY_IN_REGION, findEntry(), indexEntry::info, int_32, indexEntry::length, entryInfo::offset, RPM_I18NSTRING_TYPE, RPM_STRING_TYPE, xmalloc(), and xrealloc(). Referenced by addChangelogEntry(), and headerAddOrAppendEntry(). |
|
|
Duplicate a header.
Definition at line 3334 of file header.c. References HEADER_IMAGE, headerAddEntry(), headerFreeData(), headerFreeIterator(), headerInitIterator(), headerNew(), headerNextIterator(), headerReload(), hPTR_t, and int_32. Referenced by psmStage(), relocateFileList(), and rpmdbRebuild(). |
|
|
Make a copy and convert header to in-memory representation.
Definition at line 1088 of file header.c. References _free(), headerToken::flags, hdrchkData, hdrchkTags, HEADERFLAG_ALLOCATED, headerLoad(), headerMaxbytes, int_32, and xmalloc(). Referenced by psmStage(), rpmdbNextIterator(), and rpmReSign(). |
|
||||||||||||||||
|
Duplicate tag values from one header into another.
Definition at line 3223 of file header.c. References headerAddEntry(), headerFreeData(), headerGetEntryMinMemory(), headerIsEntry(), hPTR_t, hTAG_t, and int_32. Referenced by headerInject(), packageBinaries(), and parsePreamble(). |
|
||||||||||||
|
Return i18n string from header that matches locale.
Definition at line 1474 of file header.c. References convert(), entryInfo::count, indexEntry::data, findEntry(), getenv(), HEADER_I18NTABLE, headerMatchLocale(), indexEntry::info, and RPM_STRING_ARRAY_TYPE. Referenced by intGetEntry(). |
|
|
Dereference a header instance.
Definition at line 134 of file header.c. References _free(), headerToken::blob, indexEntry::data, ENTRY_IN_REGION, ENTRY_IS_REGION, headerToken::flags, HEADERFLAG_ALLOCATED, headerUnlink(), headerToken::index, headerToken::indexUsed, int_32, indexEntry::length, and headerToken::nrefs. Referenced by alFree(), db1cput(), dbiFindMatches(), doGetRecord(), freeFi(), freePackage(), freeSpec(), headerFreeIterator(), headerInject(), headerReload(), IDTXfree(), IDTXglob(), loadFi(), main(), psmStage(), readPackageHeaders(), readRPM(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbNextIterator(), rpmdbRebuild(), rpmdbRemove(), rpmdepFreeConflicts(), rpmFreeSignature(), rpmInstall(), rpmInstallSourcePackage(), rpmProblemSetFree(), rpmQueryVerify(), rpmReadSignature(), rpmReSign(), rpmRollback(), rpmRunTransactions(), and writeRPM(). |
|
|
Destroy header tag iterator.
Definition at line 3259 of file header.c. References _free(), headerIteratorS::h, and headerFree(). Referenced by checkForDuplicates(), headerCopy(), headerCopyWithConvert(), headerMergeLegacySigs(), headerRegenSigHeader(), initSourceHeader(), psmStage(), rpmCheckSig(), and rpmReSign(). |
|
||||||||||||||||
|
Free data allocated when retrieved from header.
Definition at line 1576 of file header.c. References _free(), RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, and rpmTagType. |
|
||||||||||||||||||||||||
|
Retrieve tag value. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).
Definition at line 1606 of file header.c. References hCNT_t, hPTR_t, hTYP_t, int_32, and intGetEntry(). Referenced by addLostFiles(), archOkay(), findPackagesWithRelocatedFiles(), findUpgradePackages(), findUpgradeSet(), formatValue(), headerNVR(), main(), osOkay(), psGetArchScore(), psmStage(), readPackageHeaders(), removeMovedFilesAlreadyHandled(), rpmHeaderGetEntry(), rpmInstall(), rpmPackageGetEntry(), rpmReadSignature(), rpmReSign(), rpmRunTransactions(), rpmVersionCompare(), singleSprintf(), unmarkPackagesAlreadyInstalled(), and writeRPM(). |
|
||||||||||||||||||||||||
|
Retrieve tag value using header internal array. Get an entry using as little extra RAM as possible to return the tag value. This is only an issue for RPM_STRING_ARRAY_TYPE.
Definition at line 1628 of file header.c. References hCNT_t, hPTR_t, hTYP_t, int_32, and intGetEntry(). Referenced by addLostFiles(), doGetRecord(), findPackagesWithObsoletes(), findPackagesWithRelocatedFiles(), findUpgradePackages(), headerCopyTags(), and removeMovedFilesAlreadyHandled(). |
|
||||||||||||||||||||||||
|
Definition at line 1637 of file header.c. References copyEntry(), findEntry(), headerIsEntry(), hPTR_t, int_32, and RPM_NULL_TYPE. |
|
|
Create header tag iterator.
Definition at line 3273 of file header.c. References headerIteratorS::h, headerLink(), headerSort(), headerIteratorS::next_index, and xmalloc(). Referenced by checkForDuplicates(), headerCopy(), headerCopyWithConvert(), headerMergeLegacySigs(), headerRegenSigHeader(), initSourceHeader(), psmStage(), rpmCheckSig(), and rpmReSign(). |
|
||||||||||||
|
Check if tag is in header.
Definition at line 1239 of file header.c. References findEntry(), int_32, and RPM_NULL_TYPE. Referenced by addChangelogEntry(), checkForRequired(), checkSpec(), compressFilelist(), doGetRecord(), expandFilelist(), fillOutMainPackage(), headerCopyTags(), headerGetRawEntry(), headerInject(), headerMergeLegacySigs(), headerRegenSigHeader(), packageBinaries(), packageSources(), parseDescription(), parseScript(), parseSpec(), processBinaryFiles(), psmStage(), readPackageHeaders(), relocateFileList(), rpmdbAdd(), rpmdbNextIterator(), rpmdbRebuild(), rpmInstallSourcePackage(), rpmPackageGetEntry(), rpmtransAddPackage(), singleSprintf(), and verifyHeader(). |
|
|
Reference a header instance.
Definition at line 106 of file header.c. References headerToken::nrefs. Referenced by alAddPackage(), checkPackageDeps(), dbiFindMatches(), headerInitIterator(), headerLoad(), headerNew(), IDTXglob(), IDTXload(), loadFi(), psAppend(), psmStage(), relocateFileList(), rpmdbFindByFile(), rpmdbRemove(), rpmReSign(), rpmRunTransactions(), and writeRPM(). |
|
|
Convert header to in-memory representation.
Definition at line 871 of file header.c. References _free(), alloca(), headerToken::blob, entryInfo::count, indexEntry::data, headerToken::flags, hdrchkData, hdrchkTags, HEADER_BASENAMES, HEADER_I18NTABLE, HEADER_IMAGE, HEADER_OLDFILENAMES, HEADERFLAG_LEGACY, HEADERFLAG_SORTED, headerLink(), headerRemoveEntry(), headerSort(), headerToken::hv, headerToken::index, headerToken::indexAlloced, headerToken::indexUsed, indexEntry::info, int_32, indexEntry::length, headerToken::nrefs, entryInfo::offset, indexEntry::rdlen, REGION_TAG_COUNT, REGION_TAG_TYPE, regionSwab(), RPM_STRING_TYPE, entryInfo::tag, entryInfo::type, and xcalloc(). Referenced by db1cput(), headerCopyLoad(), headerRead(), and headerReload(). |
|
||||||||||||||||||||
|
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. *
Definition at line 1395 of file header.c. References locale_match(). Referenced by headerFindI18NString(). |
|
||||||||||||||||||||||||
|
Modify tag in header. If there are multiple entries with this tag, the first one gets replaced.
Definition at line 1998 of file header.c. References _free(), entryInfo::count, indexEntry::data, ENTRY_IN_REGION, findEntry(), grabData(), headerToken::index, indexEntry::info, int_32, indexEntry::length, entryInfo::offset, entryInfo::tag, and entryInfo::type. Referenced by doGetRecord(). |
|
|
Create new (empty) header instance.
Definition at line 171 of file header.c. References headerToken::blob, headerToken::flags, HEADERFLAG_SORTED, headerLink(), headerToken::hv, headerToken::index, INDEX_MALLOC_SIZE, headerToken::indexAlloced, headerToken::indexUsed, headerToken::nrefs, and xcalloc(). |
|
||||||||||||||||||||||||
|
Return next tag from header.
Definition at line 3295 of file header.c. References copyEntry(), ENTRY_IS_REGION, headerIteratorS::h, hCNT_t, hPTR_t, hTAG_t, hTYP_t, headerToken::index, headerToken::indexUsed, indexEntry::info, headerIteratorS::next_index, and entryInfo::tag. Referenced by checkForDuplicates(), headerCopy(), headerCopyWithConvert(), headerMergeLegacySigs(), headerRegenSigHeader(), initSourceHeader(), psmStage(), rpmCheckSig(), and rpmReSign(). |
|
||||||||||||
|
Read (and load) header from file handle.
Definition at line 1123 of file header.c. References _free(), headerToken::flags, hdrchkData, hdrchkTags, header_magic, HEADER_MAGIC_YES, HEADERFLAG_ALLOCATED, headerLoad(), headerMaxbytes, hMagic, int_32, timedRead, and xmalloc(). Referenced by doGetRecord(), main(), readPackageHeaders(), rpmReadSignature(), and writeRPM(). |
|
||||||||||||
|
Convert header to on-disk representation, and then reload. This is used to insure that all header data is in one chunk.
Definition at line 1055 of file header.c. References _free(), doHeaderUnload(), ENTRY_IS_REGION, headerToken::flags, HEADER_IMMUTABLE, HEADER_SIGNATURES, HEADERFLAG_ALLOCATED, headerFree(), headerLoad(), headerToken::index, indexEntry::info, and entryInfo::tag. Referenced by headerCopy(), rpmReSign(), and writeRPM(). |
|
||||||||||||
|
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.
Definition at line 827 of file header.c. References _free(), indexEntry::data, ENTRY_IN_REGION, findEntry(), headerToken::index, headerToken::indexUsed, indexEntry::info, int_32, indexEntry::length, RPM_NULL_TYPE, and entryInfo::tag. Referenced by addFileToTag(), headerLoad(), readPackageHeaders(), rpmdbAdd(), and rpmReSign(). |
|
||||||||||||
|
Return size of on-disk header representation in bytes.
Definition at line 255 of file header.c. References ENTRY_IS_REGION, headerToken::flags, HEADER_MAGIC_NO, HEADER_MAGIC_YES, HEADERFLAG_LEGACY, headerSort(), hMagic, headerToken::index, headerToken::indexUsed, indexEntry::info, int_32, indexEntry::length, entryInfo::offset, entryInfo::type, and typeSizes. Referenced by db1cput(), dbiUpdateRecord(), rpmdbAdd(), rpmReadSignature(), and rpmWriteSignature(). |
|
|
Sort tags in header.
Definition at line 209 of file header.c. References headerToken::flags, HEADERFLAG_SORTED, headerToken::index, indexCmp(), and headerToken::indexUsed. Referenced by doHeaderUnload(), findEntry(), headerInitIterator(), headerInject(), headerLoad(), and headerSizeof(). |
|
||||||||||||||||||||||||
|
Return formatted output string from header tags. The returned string must be free()d.
Definition at line 3021 of file header.c. References _free(), allocateExtensionCache(), errmsg_t, freeExtensionCache(), parseFormat(), PARSER_BEGIN, singleSprintf(), xrealloc(), and xstrdup(). Referenced by packageBinaries(), printNewSpecfile(), psmStage(), queryHeader(), rpmHeaderGetEntry(), and rpmShowProgress(). |
|
|
Dereference a header instance.
Definition at line 121 of file header.c. References headerToken::nrefs. Referenced by headerFree(). |
|
|
Convert header to on-disk representation.
Definition at line 763 of file header.c. References doHeaderUnload(). Referenced by dbiUpdateRecord(), and doGetRecord(). |
|
|
Restore tags in header to original ordering.
Definition at line 242 of file header.c. References headerToken::index, headerToken::indexUsed, and offsetCmp(). Referenced by doHeaderUnload(). |
|
||||||||||||||||
|
Write (with unload) header to file handle.
Definition at line 1198 of file header.c. References _free(), doHeaderUnload(), Fwrite(), header_magic, HEADER_MAGIC_NO, HEADER_MAGIC_YES, and hMagic. Referenced by db1cput(), main(), psmStage(), rpmWriteSignature(), and writeRPM(). |
|
||||||||||||||||||||||||
|
Definition at line 3093 of file header.c. References _, hPTR_t, int_32, RPM_INT32_TYPE, xmalloc(), and xstrdup(). |
|
||||||||||||
|
Definition at line 196 of file header.c. References indexEntry::info, and entryInfo::tag. Referenced by findEntry(), and headerSort(). |
|
||||||||||||||||||||||||||||
|
Retrieve tag data from header.
Definition at line 1530 of file header.c. References copyEntry(), findEntry(), hCNT_t, headerFindI18NString(), hPTR_t, hTAG_t, indexEntry::info, int_32, RPM_I18NSTRING_TYPE, RPM_NULL_TYPE, RPM_STRING_TYPE, and entryInfo::type. Referenced by headerGetEntry(), and headerGetEntryMinMemory(). |
|
||||||||||||||||||||
|
Definition at line 1363 of file header.c. Referenced by headerMatchLocale(). |
|
||||||||||||||||||||||||
|
Definition at line 3072 of file header.c. References _, hPTR_t, int_32, RPM_INT32_TYPE, xmalloc(), and xstrdup(). |
|
||||||||||||
|
Definition at line 220 of file header.c. References indexEntry::data, indexEntry::info, entryInfo::offset, and entryInfo::tag. Referenced by headerUnsort(). |
|
||||||||||||||||||||||||||||
|
Definition at line 2415 of file header.c. References _, errmsg_t, sprintfTag::ext, sprintfTag::extNum, findTag(), freeFormat(), parseEVR(), parseFormat(), PARSER_IN_EXPR, RPMMESS_DEBUG, RPMMESS_WARNING, rpmMessage, sprintfTag::tag, sprintfToken::type, headerSprintfExtension_s::u, sprintfToken::u, headerTagTableEntry_s::val, and xstrdup(). Referenced by parseFormat(). |
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 2165 of file header.c. References _, sprintfToken::array, errmsg_t, escapedChar(), findTag(), freeFormat(), parseExpression(), PARSER_IN_ARRAY, PARSER_IN_EXPR, sprintfToken::string, sprintfToken::type, headerSprintfExtension_s::u, sprintfToken::u, headerTagTableEntry_s::val, xcalloc(), and xisdigit(). Referenced by headerSprintf(), and parseExpression(). |
|
||||||||||||||||||||||||||||
|
Definition at line 3114 of file header.c. References _, hPTR_t, int_32, RPM_INT32_TYPE, xmalloc(), and xstrdup(). Referenced by dateFormat(), and dayFormat(). |
|
||||||||||||||||||||||||
|
Definition at line 3166 of file header.c. References alloca(), hPTR_t, int_32, RPM_INT32_TYPE, and xmalloc(). |
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 2807 of file header.c. References _, _free(), formatValue(), getExtension(), headerGetEntry(), headerIsEntry(), RPMMESS_WARNING, rpmMessage, stpcpy(), sprintfToken::type, sprintfToken::u, xrealloc(), and xstrdup(). Referenced by headerSprintf(). |
|
|
Return name of tag from value.
|
|
|
Header methods for rpm headers. |
|
|
|
1.2.18