we were saving a little too much memory
authorewt <devnull@localhost>
Mon, 12 Apr 1999 16:08:11 +0000 (16:08 +0000)
committerewt <devnull@localhost>
Mon, 12 Apr 1999 16:08:11 +0000 (16:08 +0000)
CVS patchset: 2982
CVS date: 1999/04/12 16:08:11

lib/transaction.c

index b26986d..3c06cf1 100644 (file)
@@ -300,20 +300,20 @@ int rpmRunTransactions(rpmTransactionSet ts, rpmCallbackFunction notify,
        if (!fi->actions) 
            fi->actions = calloc(sizeof(*fi->actions), fi->fc);
 
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILEMD5S, NULL, 
-                               (void *) &fi->fmd5s, NULL);
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILELINKTOS, NULL, 
-                               (void *) &fi->flinks, NULL);
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILEMODES, NULL, 
+       headerGetEntry(fi->h, RPMTAG_FILEMODES, NULL, 
                                (void *) &fi->fmodes, NULL);
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILEFLAGS, NULL, 
+       headerGetEntry(fi->h, RPMTAG_FILEFLAGS, NULL, 
                                (void *) &fi->fflags, NULL);
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILESIZES, NULL, 
+       headerGetEntry(fi->h, RPMTAG_FILESIZES, NULL, 
                                (void *) &fi->fsizes, NULL);
-       headerGetEntryMinMemory(fi->h, RPMTAG_FILESTATES, NULL, 
+       headerGetEntry(fi->h, RPMTAG_FILESTATES, NULL, 
                                (void *) &fi->fstates, NULL);
 
        if (ts->order[oc].type == TR_REMOVED) {
+           headerGetEntry(fi->h, RPMTAG_FILEMD5S, NULL, 
+                                   (void *) &fi->fmd5s, NULL);
+           headerGetEntry(fi->h, RPMTAG_FILELINKTOS, NULL, 
+                                   (void *) &fi->flinks, NULL);
            fi->fsizes = memcpy(malloc(fi->fc * sizeof(*fi->fsizes)),
                                fi->fsizes, fi->fc * sizeof(*fi->fsizes));
            fi->fflags = memcpy(malloc(fi->fc * sizeof(*fi->fflags)),
@@ -327,6 +327,11 @@ int rpmRunTransactions(rpmTransactionSet ts, rpmCallbackFunction notify,
        } else {
            /* ADDED package */
 
+           headerGetEntryMinMemory(fi->h, RPMTAG_FILEMD5S, NULL, 
+                                   (void *) &fi->fmd5s, NULL);
+           headerGetEntryMinMemory(fi->h, RPMTAG_FILELINKTOS, NULL, 
+                                   (void *) &fi->flinks, NULL);
+
            /* 0 makes for noops */
            fi->replacedSizes = calloc(fi->fc, sizeof(*fi->replacedSizes));
            skipFiles(fi, flags & RPMTRANS_FLAG_NODOCS);