headerlist.c: drop updrepository in headersourcelist in favour of a pointer to old updated package

reports.c: print version information on updated package
This commit is contained in:
Silvan Calarco 2013-01-08 13:31:04 +01:00
parent 2d5370973f
commit 56e4ad7c6c
3 changed files with 13 additions and 8 deletions

View File

@ -583,9 +583,9 @@ addToSourceHeaderList(struct headerSourceList **headersourcelist, struct configT
for (arch = 0; arch < ARCHS_MAX; arch++) {
newheadersourcelist->firstchild[arch] = NULL;
}
newheadersourcelist->updrepository = -1;
newheadersourcelist->altrepository = altrepository;
newheadersourcelist->firstwarning = NULL;
newheadersourcelist->old = NULL;
getPackageInfoIntoHeaderSourceList(h, newheadersourcelist);
@ -682,9 +682,9 @@ addToSourceHeaderList(struct headerSourceList **headersourcelist, struct configT
addWarning(newheadersourcelist, warning);
}
}
newheadersourcelist->updrepository = currheadersourcelist->altrepository;
newheadersourcelist->next = currheadersourcelist->next;
/* FIXME: overriden currheadersourcelist element is not deallocated */
/* overriden package is not deallocated but referenced with currheadersourcelist->old */
newheadersourcelist->old=currheadersourcelist;
currheadersourcelist=newheadersourcelist;
} else {
/* add the new package to the list */

View File

@ -111,7 +111,6 @@ struct headerSourceList {
char **basename;
int filenamecount;
long buildtime;
int updrepository;
int requirecount;
struct Require **require;
struct providedList **required;
@ -119,6 +118,7 @@ struct headerSourceList {
int providecount;
struct requireList *requirelist;
struct headerSourceList *next;
struct headerSourceList *old;
struct changeLog *changelog;
struct headerList *firstchild[ARCHS_MAX];
struct warningList *firstwarning;

View File

@ -153,7 +153,7 @@ void printpkgicon(FILE *fout, struct configTag *configtag, struct headerSourceLi
char strdate[16];
int i;
if (s->updrepository >= 0) {
if (s->old) {
fprintf(fout,
"<img src=\"%s/pkgup.png\" ",
configtag->configdefaults->url_dir);
@ -190,10 +190,15 @@ void printpkgicon(FILE *fout, struct configTag *configtag, struct headerSourceLi
if (s->firstchild[i]) fprintf(fout," %s", configtag->arch[i]);
}
if (s->updrepository >= 0) {
if (s->old) {
fprintf(fout,
"\n\nUpdates package in %s\">",
configtag->repository[s->updrepository]->tag);
"\n\nUpdates %s(%s,%s,%ld:%s-%s)\">",
s->old->name,
configtag->repository[s->old->altrepository]->tag,
s->old->arch,
s->old->epoch,
s->old->version,
s->old->release);
} else {
fprintf(fout, "\">");
}