lclint annotations.
CVS patchset: 3290 CVS date: 1999/09/17 20:52:46
This commit is contained in:
parent
a8e5caca58
commit
00dcfeff38
|
@ -39,7 +39,7 @@ dbiIndex * dbiOpenIndex(const char * filename, int flags, int perms, DBTYPE type
|
||||||
|
|
||||||
void dbiCloseIndex(dbiIndex * dbi) {
|
void dbiCloseIndex(dbiIndex * dbi) {
|
||||||
dbi->db->close(dbi->db);
|
dbi->db->close(dbi->db);
|
||||||
free(dbi->indexname);
|
xfree(dbi->indexname);
|
||||||
free(dbi);
|
free(dbi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +54,8 @@ int dbiGetFirstKey(dbiIndex * dbi, const char ** keyp) {
|
||||||
if (dbi == NULL || dbi->db == NULL)
|
if (dbi == NULL || dbi->db == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
key.data = NULL;
|
||||||
|
key.size = 0;
|
||||||
rc = dbi->db->seq(dbi->db, &key, &data, R_FIRST);
|
rc = dbi->db->seq(dbi->db, &key, &data, R_FIRST);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -74,6 +76,8 @@ int dbiSearchIndex(dbiIndex * dbi, const char * str, dbiIndexSet * set) {
|
||||||
|
|
||||||
key.data = (void *)str;
|
key.data = (void *)str;
|
||||||
key.size = strlen(str);
|
key.size = strlen(str);
|
||||||
|
data.data = NULL;
|
||||||
|
data.size = 0;
|
||||||
|
|
||||||
rc = dbi->db->get(dbi->db, &key, &data, 0);
|
rc = dbi->db->get(dbi->db, &key, &data, 0);
|
||||||
if (rc == -1) {
|
if (rc == -1) {
|
||||||
|
|
|
@ -25,27 +25,27 @@ typedef /*@abstract@*/ struct {
|
||||||
|
|
||||||
typedef /*@abstract@*/ struct {
|
typedef /*@abstract@*/ struct {
|
||||||
DB * db;
|
DB * db;
|
||||||
char * indexname;
|
const char * indexname;
|
||||||
} dbiIndex;
|
} dbiIndex;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dbiIndex * dbiOpenIndex(const char * filename, int flags, int perms, DBTYPE type);
|
/*@only@*/dbiIndex * dbiOpenIndex(const char * filename, int flags, int perms, DBTYPE type);
|
||||||
void dbiCloseIndex(dbiIndex * dbi);
|
void dbiCloseIndex(/*@only@*/dbiIndex * dbi);
|
||||||
void dbiSyncIndex(dbiIndex * dbi);
|
void dbiSyncIndex(dbiIndex * dbi);
|
||||||
int dbiSearchIndex(dbiIndex * dbi, const char * str, dbiIndexSet * set);
|
int dbiSearchIndex(dbiIndex * dbi, const char * str, /*@out@*/dbiIndexSet * set);
|
||||||
/* -1 error, 0 success, 1 not found */
|
/* -1 error, 0 success, 1 not found */
|
||||||
int dbiUpdateIndex(dbiIndex * dbi, const char * str, dbiIndexSet * set);
|
int dbiUpdateIndex(dbiIndex * dbi, const char * str, dbiIndexSet * set);
|
||||||
/* 0 on success */
|
/* 0 on success */
|
||||||
int dbiAppendIndexRecord(dbiIndexSet * set, dbiIndexRecord rec);
|
int dbiAppendIndexRecord(/*@out@*/dbiIndexSet * set, dbiIndexRecord rec);
|
||||||
/* 0 on success - should never fail */
|
/* 0 on success - should never fail */
|
||||||
int dbiRemoveIndexRecord(dbiIndexSet * set, dbiIndexRecord rec);
|
int dbiRemoveIndexRecord(dbiIndexSet * set, dbiIndexRecord rec);
|
||||||
/* 0 on success - fails if rec is not found */
|
/* 0 on success - fails if rec is not found */
|
||||||
dbiIndexSet dbiCreateIndexRecord(void);
|
dbiIndexSet dbiCreateIndexRecord(void);
|
||||||
void dbiFreeIndexRecord(dbiIndexSet set);
|
void dbiFreeIndexRecord(dbiIndexSet set);
|
||||||
int dbiGetFirstKey(dbiIndex * dbi, const char ** key);
|
int dbiGetFirstKey(dbiIndex * dbi, /*@out@*/const char ** key);
|
||||||
|
|
||||||
extern unsigned int dbiIndexSetCount(dbiIndexSet set);
|
extern unsigned int dbiIndexSetCount(dbiIndexSet set);
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,8 @@ static fingerPrint doLookup(const char * fullName, int scareMemory,
|
||||||
|
|
||||||
/* if the current directory doesn't exist, we might fail.
|
/* if the current directory doesn't exist, we might fail.
|
||||||
oh well. likewise if it's too long. */
|
oh well. likewise if it's too long. */
|
||||||
if (realpath(".", dir) != NULL) {
|
dir[0] = '\0';
|
||||||
|
if ( /*@-unrecog@*/ realpath(".", dir) /*@=unrecog@*/ != NULL) {
|
||||||
char *s = alloca(strlen(dir) + strlen(fullName) + 2);
|
char *s = alloca(strlen(dir) + strlen(fullName) + 2);
|
||||||
sprintf(s, "%s/%s", dir, fullName);
|
sprintf(s, "%s/%s", dir, fullName);
|
||||||
fullName = chptr1 = s;
|
fullName = chptr1 = s;
|
||||||
|
@ -136,8 +137,8 @@ unsigned int fpHashFunction(const void * key)
|
||||||
chptr = fp->basename;
|
chptr = fp->basename;
|
||||||
while (*chptr) ch ^= *chptr++;
|
while (*chptr) ch ^= *chptr++;
|
||||||
|
|
||||||
hash |= ch << 24;
|
hash |= ((unsigned)ch) << 24;
|
||||||
hash |= (((fp->dev >> 8) ^ fp->dev) & 0xFF) << 16;
|
hash |= (((((unsigned)fp->dev) >> 8) ^ fp->dev) & 0xFF) << 16;
|
||||||
hash |= fp->ino & 0xFFFF;
|
hash |= fp->ino & 0xFFFF;
|
||||||
|
|
||||||
return hash;
|
return hash;
|
||||||
|
@ -174,6 +175,8 @@ void fpLookupList(const char ** fullNames, fingerPrint * fpList, int numItems,
|
||||||
cache.matchLength = 0;
|
cache.matchLength = 0;
|
||||||
cache.pathsStripped = 0;
|
cache.pathsStripped = 0;
|
||||||
cache.stripLength = 0;
|
cache.stripLength = 0;
|
||||||
|
cache.dev = 0;
|
||||||
|
cache.ino = 0;
|
||||||
|
|
||||||
for (i = 0; i < numItems; i++) {
|
for (i = 0; i < numItems; i++) {
|
||||||
fpList[i] = doLookup(fullNames[i], 1, &cache);
|
fpList[i] = doLookup(fullNames[i], 1, &cache);
|
||||||
|
|
12
lib/hash.c
12
lib/hash.c
|
@ -4,10 +4,10 @@
|
||||||
#include "hash.h"
|
#include "hash.h"
|
||||||
|
|
||||||
struct hashBucket {
|
struct hashBucket {
|
||||||
const void * key;
|
/*@owned@*/const void * key;
|
||||||
const void ** data;
|
/*@owned@*/const void ** data;
|
||||||
int dataCount;
|
int dataCount;
|
||||||
struct hashBucket * next;
|
/*@dependent@*/struct hashBucket * next;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hashTable_s {
|
struct hashTable_s {
|
||||||
|
@ -18,7 +18,7 @@ struct hashTable_s {
|
||||||
hashEqualityType eq;
|
hashEqualityType eq;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct hashBucket * findEntry(hashTable ht, const void * key)
|
static /*@shared@*/ struct hashBucket * findEntry(hashTable ht, const void * key)
|
||||||
{
|
{
|
||||||
unsigned int hash;
|
unsigned int hash;
|
||||||
struct hashBucket * b;
|
struct hashBucket * b;
|
||||||
|
@ -53,7 +53,7 @@ unsigned int hashFunctionString(const void * string)
|
||||||
sum += *chp;
|
sum += *chp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ((len << 16) + (sum << 8) + xorValue);
|
return ((((unsigned)len) << 16) + (((unsigned)sum) << 8) + xorValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
hashTable htCreate(int numBuckets, int keySize, hashFunctionType fn,
|
hashTable htCreate(int numBuckets, int keySize, hashFunctionType fn,
|
||||||
|
@ -89,7 +89,7 @@ void htAddEntry(hashTable ht, const void * key, const void * data)
|
||||||
memcpy(k, key, ht->keySize);
|
memcpy(k, key, ht->keySize);
|
||||||
b->key = k;
|
b->key = k;
|
||||||
} else {
|
} else {
|
||||||
b->key = (void *) key;
|
b->key = key;
|
||||||
}
|
}
|
||||||
b->dataCount = 0;
|
b->dataCount = 0;
|
||||||
b->next = ht->buckets[hash];
|
b->next = ht->buckets[hash];
|
||||||
|
|
|
@ -63,15 +63,15 @@ void rpmMessage(int level, const char * format, ...) {
|
||||||
fprintf(stderr, _("fatal error: "));
|
fprintf(stderr, _("fatal error: "));
|
||||||
vfprintf(stderr, format, args);
|
vfprintf(stderr, format, args);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
exit(1);
|
exit(EXIT_FAILURE);
|
||||||
break;
|
/*@unreached@*/ break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, _("internal error (rpm bug?): "));
|
fprintf(stderr, _("internal error (rpm bug?): "));
|
||||||
vfprintf(stderr, format, args);
|
vfprintf(stderr, format, args);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
exit(1);
|
exit(EXIT_FAILURE);
|
||||||
break;
|
/*@unreached@*/ break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#if defined(ENABLE_V1_PACKAGES)
|
#if defined(ENABLE_V1_PACKAGES)
|
||||||
/* 0 = success */
|
/* 0 = success */
|
||||||
/* !0 = error */
|
/* !0 = error */
|
||||||
static int readOldHeader(FD_t fd, Header * hdr, int * isSource)
|
static int readOldHeader(FD_t fd, /*@out@*/Header * hdr, /*@unused@*/ /*@out@*/int * isSource)
|
||||||
{
|
{
|
||||||
struct oldrpmHeader oldheader;
|
struct oldrpmHeader oldheader;
|
||||||
struct oldrpmHeaderSpec spec;
|
struct oldrpmHeaderSpec spec;
|
||||||
|
@ -143,31 +143,31 @@ static int readOldHeader(FD_t fd, Header * hdr, int * isSource)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
headerAddEntry(dbentry, RPMTAG_FILENAMES, RPM_STRING_ARRAY_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILENAMES, RPM_STRING_ARRAY_TYPE,
|
||||||
fileList, spec.fileCount);
|
fileList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILELINKTOS, RPM_STRING_ARRAY_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILELINKTOS, RPM_STRING_ARRAY_TYPE,
|
||||||
fileLinktoList, spec.fileCount);
|
fileLinktoList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEMD5S, RPM_STRING_ARRAY_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEMD5S, RPM_STRING_ARRAY_TYPE,
|
||||||
fileMD5List, spec.fileCount);
|
fileMD5List, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILESIZES, RPM_INT32_TYPE, fileSizeList,
|
headerAddEntry(*hdr, RPMTAG_FILESIZES, RPM_INT32_TYPE, fileSizeList,
|
||||||
spec.fileCount);
|
spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEUIDS, RPM_INT32_TYPE, fileUIDList,
|
headerAddEntry(*hdr, RPMTAG_FILEUIDS, RPM_INT32_TYPE, fileUIDList,
|
||||||
spec.fileCount);
|
spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEGIDS, RPM_INT32_TYPE, fileGIDList,
|
headerAddEntry(*hdr, RPMTAG_FILEGIDS, RPM_INT32_TYPE, fileGIDList,
|
||||||
spec.fileCount);
|
spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEMTIMES, RPM_INT32_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEMTIMES, RPM_INT32_TYPE,
|
||||||
fileMtimesList, spec.fileCount);
|
fileMtimesList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEFLAGS, RPM_INT32_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEFLAGS, RPM_INT32_TYPE,
|
||||||
fileFlagsList, spec.fileCount);
|
fileFlagsList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEMODES, RPM_INT16_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEMODES, RPM_INT16_TYPE,
|
||||||
fileModesList, spec.fileCount);
|
fileModesList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILERDEVS, RPM_INT16_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILERDEVS, RPM_INT16_TYPE,
|
||||||
fileRDevsList, spec.fileCount);
|
fileRDevsList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILESTATES, RPM_INT8_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILESTATES, RPM_INT8_TYPE,
|
||||||
fileStatesList, spec.fileCount);
|
fileStatesList, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEUSERNAME, RPM_STRING_ARRAY_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEUSERNAME, RPM_STRING_ARRAY_TYPE,
|
||||||
unames, spec.fileCount);
|
unames, spec.fileCount);
|
||||||
headerAddEntry(dbentry, RPMTAG_FILEGROUPNAME, RPM_STRING_ARRAY_TYPE,
|
headerAddEntry(*hdr, RPMTAG_FILEGROUPNAME, RPM_STRING_ARRAY_TYPE,
|
||||||
gnames, spec.fileCount);
|
gnames, spec.fileCount);
|
||||||
|
|
||||||
free(fileList);
|
free(fileList);
|
||||||
|
@ -200,12 +200,12 @@ static int readOldHeader(FD_t fd, Header * hdr, int * isSource)
|
||||||
/* 0 = success */
|
/* 0 = success */
|
||||||
/* 1 = bad magic */
|
/* 1 = bad magic */
|
||||||
/* 2 = error */
|
/* 2 = error */
|
||||||
static int readPackageHeaders(FD_t fd, struct rpmlead * leadPtr,
|
static int readPackageHeaders(FD_t fd, /*@out@*/struct rpmlead * leadPtr,
|
||||||
Header * sigs, Header * hdrPtr)
|
/*@out@*/Header * sigs, /*@out@*/Header * hdrPtr)
|
||||||
{
|
{
|
||||||
Header hdrBlock;
|
Header hdrBlock;
|
||||||
struct rpmlead leadBlock;
|
struct rpmlead leadBlock;
|
||||||
Header * hdr;
|
Header * hdr = NULL;
|
||||||
struct rpmlead * lead;
|
struct rpmlead * lead;
|
||||||
int_8 arch;
|
int_8 arch;
|
||||||
int isSource;
|
int isSource;
|
||||||
|
@ -297,7 +297,7 @@ static int readPackageHeaders(FD_t fd, struct rpmlead * leadPtr,
|
||||||
rpmError(RPMERR_NEWPACKAGE, _("only packages with major numbers <= 3 "
|
rpmError(RPMERR_NEWPACKAGE, _("only packages with major numbers <= 3 "
|
||||||
"are supported by this version of RPM"));
|
"are supported by this version of RPM"));
|
||||||
return 2;
|
return 2;
|
||||||
break;
|
/*@notreached@*/ break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hdrPtr == NULL) headerFree(*hdr);
|
if (hdrPtr == NULL) headerFree(*hdr);
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
#include "depends.h"
|
#include "depends.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
/*@access rpmProblemSet@*/
|
||||||
|
/*@access rpmProblem@*/
|
||||||
|
|
||||||
/* XXX FIXME: merge into problems */
|
/* XXX FIXME: merge into problems */
|
||||||
/* XXX used in verify.c */
|
/* XXX used in verify.c */
|
||||||
void printDepFlags(FILE * fp, const char * version, int flags)
|
void printDepFlags(FILE * fp, const char * version, int flags)
|
||||||
|
@ -45,10 +48,10 @@ void printDepProblems(FILE * fp, struct rpmDependencyConflict * conflicts,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char * rpmProblemString(rpmProblem prob)
|
const char * rpmProblemString(rpmProblem prob)
|
||||||
{
|
{
|
||||||
const char * name, * version, * release;
|
const char * name, * version, * release;
|
||||||
const char * altName, * altVersion, * altRelease;
|
const char * altName = NULL, * altVersion = NULL, * altRelease = NULL;
|
||||||
char * buf;
|
char * buf;
|
||||||
|
|
||||||
headerNVR(prob.h, &name, &version, &release);
|
headerNVR(prob.h, &name, &version, &release);
|
||||||
|
|
|
@ -30,7 +30,12 @@
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct fileInfo {
|
/*@access rpmdb@*/
|
||||||
|
/*@access rpmTransactionSet@*/
|
||||||
|
/*@access rpmProblemSet@*/
|
||||||
|
/*@access rpmProblem@*/
|
||||||
|
|
||||||
|
typedef struct transactionFileInfo {
|
||||||
/* for all packages */
|
/* for all packages */
|
||||||
enum rpmTransactionType type;
|
enum rpmTransactionType type;
|
||||||
enum fileActions * actions;
|
enum fileActions * actions;
|
||||||
|
@ -49,7 +54,7 @@ struct fileInfo {
|
||||||
uint_32 * replacedSizes;
|
uint_32 * replacedSizes;
|
||||||
/* for TR_REMOVED packages */
|
/* for TR_REMOVED packages */
|
||||||
unsigned int record;
|
unsigned int record;
|
||||||
};
|
} TFI_t;
|
||||||
|
|
||||||
struct diskspaceInfo {
|
struct diskspaceInfo {
|
||||||
dev_t dev;
|
dev_t dev;
|
||||||
|
@ -70,7 +75,7 @@ struct diskspaceInfo {
|
||||||
#define XFA_SKIPPING(_a) \
|
#define XFA_SKIPPING(_a) \
|
||||||
((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED)
|
((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED)
|
||||||
|
|
||||||
static void freeFi(struct fileInfo *fi)
|
static void freeFi(TFI_t *fi)
|
||||||
{
|
{
|
||||||
if (fi->h) {
|
if (fi->h) {
|
||||||
headerFree(fi->h); fi->h = NULL;
|
headerFree(fi->h); fi->h = NULL;
|
||||||
|
@ -114,9 +119,9 @@ static void freeFi(struct fileInfo *fi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void freeFl(rpmTransactionSet ts, struct fileInfo *flList)
|
static void freeFl(rpmTransactionSet ts, TFI_t *flList)
|
||||||
{
|
{
|
||||||
struct fileInfo *fi;
|
TFI_t *fi;
|
||||||
int oc;
|
int oc;
|
||||||
|
|
||||||
for (oc = 0, fi = flList; oc < ts->orderCount; oc++, fi++) {
|
for (oc = 0, fi = flList; oc < ts->orderCount; oc++, fi++) {
|
||||||
|
@ -564,7 +569,7 @@ static int filecmp(short mode1, const char * md51, const char * link1,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int handleInstInstalledFiles(struct fileInfo * fi, rpmdb db,
|
static int handleInstInstalledFiles(TFI_t * fi, rpmdb db,
|
||||||
struct sharedFileInfo * shared,
|
struct sharedFileInfo * shared,
|
||||||
int sharedCount, int reportConflicts,
|
int sharedCount, int reportConflicts,
|
||||||
rpmProblemSet probs)
|
rpmProblemSet probs)
|
||||||
|
@ -647,7 +652,7 @@ static int handleInstInstalledFiles(struct fileInfo * fi, rpmdb db,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int handleRmvdInstalledFiles(struct fileInfo * fi, rpmdb db,
|
static int handleRmvdInstalledFiles(TFI_t * fi, rpmdb db,
|
||||||
struct sharedFileInfo * shared,
|
struct sharedFileInfo * shared,
|
||||||
int sharedCount)
|
int sharedCount)
|
||||||
{
|
{
|
||||||
|
@ -677,7 +682,7 @@ static int handleRmvdInstalledFiles(struct fileInfo * fi, rpmdb db,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handleOverlappedFiles(struct fileInfo * fi, hashTable ht,
|
static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
|
||||||
rpmProblemSet probs, struct diskspaceInfo * dsl)
|
rpmProblemSet probs, struct diskspaceInfo * dsl)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@ -686,7 +691,7 @@ static void handleOverlappedFiles(struct fileInfo * fi, hashTable ht,
|
||||||
|
|
||||||
for (i = 0; i < fi->fc; i++) {
|
for (i = 0; i < fi->fc; i++) {
|
||||||
int otherPkgNum, otherFileNum;
|
int otherPkgNum, otherFileNum;
|
||||||
const struct fileInfo ** recs;
|
const TFI_t ** recs;
|
||||||
int numRecs;
|
int numRecs;
|
||||||
|
|
||||||
if (XFA_SKIPPING(fi->actions[i]))
|
if (XFA_SKIPPING(fi->actions[i]))
|
||||||
|
@ -877,7 +882,7 @@ static int ensureOlder(rpmdb db, Header new, int dbOffset, rpmProblemSet probs,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void skipFiles(struct fileInfo * fi, int noDocs)
|
static void skipFiles(TFI_t * fi, int noDocs)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char ** netsharedPaths = NULL;
|
char ** netsharedPaths = NULL;
|
||||||
|
@ -993,7 +998,7 @@ int rpmRunTransactions(rpmTransactionSet ts, rpmCallbackFunction notify,
|
||||||
int fileCount;
|
int fileCount;
|
||||||
int totalFileCount = 0;
|
int totalFileCount = 0;
|
||||||
hashTable ht;
|
hashTable ht;
|
||||||
struct fileInfo * flList, * fi;
|
TFI_t * flList, * fi;
|
||||||
struct sharedFileInfo * shared, * sharedList;
|
struct sharedFileInfo * shared, * sharedList;
|
||||||
int numShared;
|
int numShared;
|
||||||
int flEntries;
|
int flEntries;
|
||||||
|
@ -1443,7 +1448,7 @@ int rpmRunTransactions(rpmTransactionSet ts, rpmCallbackFunction notify,
|
||||||
|
|
||||||
headerFree(hdrs[i]);
|
headerFree(hdrs[i]);
|
||||||
|
|
||||||
if (!alp->fd && fd)
|
if (alp->fd == NULL && fd)
|
||||||
notify(fi->h, RPMCALLBACK_INST_CLOSE_FILE, 0, 0, alp->key,
|
notify(fi->h, RPMCALLBACK_INST_CLOSE_FILE, 0, 0, alp->key,
|
||||||
notifyData);
|
notifyData);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue