Push archivePos from rpmfi to fsm
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 11 Nov 2008 11:53:31 +0000 (13:53 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 11 Nov 2008 16:16:22 +0000 (18:16 +0200)
- archive position is only meaningful in fsm context anyway

lib/fsm.c
lib/fsm.h
lib/rpmfi.c
lib/rpmfi_internal.h

index d4cfdef..f7bf0a0 100644 (file)
--- a/lib/fsm.c
+++ b/lib/fsm.c
@@ -525,9 +525,9 @@ int fsmSetup(FSM_t fsm, fileStage goal,
 
     if (fsm->goal == FSM_PKGINSTALL || fsm->goal == FSM_PKGBUILD) {
        void * ptr;
-       fi->archivePos = 0;
+       fsm->archivePos = 0;
        ptr = rpmtsNotify(ts, fi->te,
-               RPMCALLBACK_INST_START, fi->archivePos, fi->archiveSize);
+               RPMCALLBACK_INST_START, fsm->archivePos, fi->archiveSize);
     }
 
     fsm->archiveSize = archiveSize;
@@ -1734,10 +1734,10 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS)) break;
            rpmfi fi = fsmGetFi(fsm);
            void * ptr;
            rpm_loff_t archivePos = fdGetCpioPos(fsm->cfd);
-           if (archivePos > fi->archivePos) {
-               fi->archivePos = archivePos;
+           if (archivePos > fsm->archivePos) {
+               fsm->archivePos = archivePos;
                ptr = rpmtsNotify(ts, fi->te, RPMCALLBACK_INST_PROGRESS,
-                       fi->archivePos, fi->archiveSize);
+                       fsm->archivePos, fi->archiveSize);
            }
        }
        break;
index 89bc750..dcb0238 100644 (file)
--- a/lib/fsm.h
+++ b/lib/fsm.h
@@ -132,6 +132,7 @@ struct fsm_s {
     hardLink_t links;          /*!< Pending hard linked file(s). */
     hardLink_t li;             /*!< Current hard linked file(s). */
     rpm_loff_t * archiveSize;  /*!< Pointer to archive size. */
+    rpm_loff_t archivePos;     /*!< Current archive position. */
     char ** failedFile;                /*!< First file name that failed. */
     const char * subdir;       /*!< Current file sub-directory. */
     char subbuf[64];   /* XXX eliminate */
index cb7f089..cb1a093 100644 (file)
@@ -1230,7 +1230,6 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags)
        asize = rpmtdGetUint64(&td);
     }
     /* 0 means unknown */
-    fi->archivePos = 0;
     fi->archiveSize = asize ? *asize : 0;
     rpmtdFreeData(&td);
 
index 1049036..7d1c5c9 100644 (file)
@@ -99,7 +99,6 @@ struct rpmfi_s {
 
     size_t astriplen;
     size_t striplen;
-    rpm_loff_t archivePos;
     rpm_loff_t archiveSize;
     const char ** apath;
     cpioMapFlags mapflags;