RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 14-Oct-2007 19:47:22
Branch: HEAD Handle: 2007101418472200
Modified files:
rpm CHANGES
rpm/build files.c
Log:
- files.c: fix: append to pkg->fileList.
- files.c: use headerGetExtension everywhere.
Summary:
Revision Changes Path
1.1700 +2 -0 rpm/CHANGES
1.270 +52 -34 rpm/build/files.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1699 -r1.1700 CHANGES
--- rpm/CHANGES 14 Oct 2007 17:22:19 -0000 1.1699
+++ rpm/CHANGES 14 Oct 2007 17:47:22 -0000 1.1700
@@ -1,4 +1,6 @@
4.5 -> 5.0:
+ - jbj: files.c: fix: append to pkg->fileList.
+ - jbj: files.c: use headerGetExtension everywhere.
- jbj: transaction.c: eliminate hge warning.
- jbj: rpmds.c: eliminate hge warning.
- jbj: psm.c: eliminate a warning, simplify hge usage.
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/files.c
============================================================================
$ cvs diff -u -r1.269 -r1.270 files.c
--- rpm/build/files.c 14 Oct 2007 15:15:14 -0000 1.269
+++ rpm/build/files.c 14 Oct 2007 17:47:22 -0000 1.270
@@ -270,24 +270,31 @@
/*@globals internalState @*/
/*@modifies internalState @*/
{
- HGE_t hge = (HGE_t)headerGetEntryMinMemory;
- HFD_t hfd = headerFreeData;
- int * mtime;
- const char ** files;
- rpmTagType fnt;
- int count, x;
- time_t currentTime = time(NULL);
+ HGE_t hge = (HGE_t)headerGetExtension;
+ int_32 he_t = 0;
+ hRET_t he_p = { .ptr = NULL };
+ int_32 he_c = 0;
+ HE_s he_s = { .tag = 0, .t = &he_t, .p = &he_p, .c = &he_c, .freeData = 0 };
+ HE_t he = &he_s;
+ int_32 currentTime = time(NULL);
+ int_32 * mtime;
+ int xx;
+ int i;
- x = hge(h, RPMTAG_OLDFILENAMES, &fnt, &files, &count);
- x = hge(h, RPMTAG_FILEMTIMES, NULL, &mtime, NULL);
-
-/*@-boundsread@*/
- for (x = 0; x < count; x++) {
- if ((currentTime - mtime[x]) > tc)
- rpmlog(RPMLOG_WARNING, _("TIMECHECK failure: %s\n"), files[x]);
+ he->tag = RPMTAG_FILEMTIMES;
+ xx = hge(h, he->tag, he->t, he->p, he->c);
+ mtime = he_p.i32p;
+ he->tag = RPMTAG_OLDFILENAMES;
+ xx = hge(h, he->tag, he->t, he->p, he->c);
+
+ for (i = 0; i < he_c; i++) {
+ xx = currentTime - mtime[i];
+ if (xx < 0) xx = -xx;
+ if (xx > tc)
+ rpmlog(RPMLOG_WARNING, _("TIMECHECK failure: %s\n"), he_p.argv[i]);
}
- files = hfd(files, fnt);
-/*@=boundsread@*/
+ he_p.ptr = _free(he_p.ptr);
+ mtime = _free(mtime);
}
/**
@@ -1162,19 +1169,23 @@
static void compressFilelist(Header h)
/*@modifies h @*/
{
- HGE_t hge = (HGE_t)headerGetEntryMinMemory;
+ HGE_t hge = (HGE_t)headerGetExtension;
+ int_32 he_t = 0;
+ hRET_t he_p = { .ptr = NULL };
+ int_32 he_c = 0;
+ HE_s he_s = { .tag = 0, .t = &he_t, .p = &he_p, .c = &he_c, .freeData = 0 };
+ HE_t he = &he_s;
HAE_t hae = (HAE_t)headerAddEntry;
HRE_t hre = (HRE_t)headerRemoveEntry;
- HFD_t hfd = headerFreeData;
- char ** fileNames;
+ const char ** fileNames;
const char * fn;
const char ** dirNames;
const char ** baseNames;
int_32 * dirIndexes;
- rpmTagType fnt;
int count;
- int i, xx;
int dirIndex = -1;
+ int xx;
+ int i;
/*
* This assumes the file list is already sorted, and begins with a
@@ -1187,10 +1198,12 @@
return; /* Already converted. */
}
- if (!hge(h, RPMTAG_OLDFILENAMES, &fnt, &fileNames, &count))
+ he->tag = RPMTAG_OLDFILENAMES;
+ xx = hge(h, he->tag, he->t, he->p, he->c);
+ fileNames = he_p.argv;
+ count = he_c;
+ if (!xx || fileNames == NULL || count <= 0)
return; /* no file list */
- if (fileNames == NULL || count <= 0)
- return;
dirNames = alloca(sizeof(*dirNames) * count); /* worst case */
baseNames = alloca(sizeof(*dirNames) * count);
@@ -1248,7 +1261,7 @@
dirNames, dirIndex + 1);
}
- fileNames = hfd(fileNames, fnt);
+ fileNames = _free(fileNames);
xx = hre(h, RPMTAG_OLDFILENAMES);
}
@@ -2141,7 +2154,12 @@
pkg->cpioList, pkg->fileList, pkg->specialDoc, pkg->header,
rpmGlobalMacroContext, fileSystem, internalState @*/
{
- HGE_t hge = (HGE_t)headerGetEntryMinMemory;
+ HGE_t hge = (HGE_t)headerGetExtension;
+ int_32 he_t = 0;
+ hRET_t he_p = { .ptr = NULL };
+ int_32 he_c = 0;
+ HE_s he_s = { .tag = 0, .t = &he_t, .p = &he_p, .c = &he_c, .freeData = 0 };
+ HE_t he = &he_s;
struct FileList_s fl;
char *s, **files, **fp;
const char *fileName;
@@ -2149,14 +2167,15 @@
struct AttrRec_s arbuf;
AttrRec specialDocAttrRec = &arbuf;
char *specialDoc = NULL;
+ int xx;
nullAttrRec(specialDocAttrRec);
pkg->cpioList = NULL;
if (pkg->fileFile) {
char *saveptr;
- char *filesFiles=strdup(pkg->fileFile);
- char *token=strtok_r(filesFiles, ",", &saveptr);
+ char *filesFiles = xstrdup(pkg->fileFile);
+ char *token = strtok_r(filesFiles, ",", &saveptr);
do {
const char *ffn;
FILE * f;
@@ -2190,12 +2209,12 @@
rpmlog(RPMLOG_ERR, _("line: %s\n"), buf);
return RPMRC_FAIL;
}
- appendStringBuf(token, buf);
+ appendStringBuf(pkg->fileList, buf);
}
}
(void) Fclose(fd);
} while((token = strtok_r(NULL, ",", &saveptr)) != NULL);
- free(filesFiles);
+ filesFiles = _free(filesFiles);
}
/* Init the file list structure */
@@ -2203,10 +2222,9 @@
fl.buildRootURL = rpmGenPath(spec->rootURL, "%{?buildroot}", NULL);
- if (hge(pkg->header, RPMTAG_DEFAULTPREFIX, NULL, &fl.prefix, NULL))
- fl.prefix = xstrdup(fl.prefix);
- else
- fl.prefix = NULL;
+ he->tag = RPMTAG_DEFAULTPREFIX;
+ xx = hge(pkg->header, he->tag, he->t, he->p, he->c);
+ fl.prefix = he_p.str;
fl.fileCount = 0;
fl.totalFileSize = 0;
@@ .
Received on Sun Oct 14 19:47:22 2007