int ix; /*!< Current file iterator index. */
hardLink_t links; /*!< Pending hard linked file(s). */
hardLink_t li; /*!< Current hard linked file(s). */
- rpm_loff_t * archiveSize; /*!< Pointer to archive size. */
char ** failedFile; /*!< First file name that failed. */
const char * osuffix; /*!< Old, preserved, file suffix. */
const char * nsuffix; /*!< New, created, file suffix. */
static int fsmSetup(FSM_t fsm, fileStage goal,
rpmts ts, rpmte te, rpmfi fi, FD_t cfd,
- rpm_loff_t * archiveSize, char ** failedFile)
+ char ** failedFile)
{
int rc = 0;
int isSrc = rpmteIsSource(te);
fsm->buf = xmalloc(fsm->bufsize);
}
- fsm->archiveSize = archiveSize;
- if (fsm->archiveSize)
- *fsm->archiveSize = 0;
fsm->failedFile = failedFile;
if (fsm->failedFile)
*fsm->failedFile = NULL;
{
int rc = fsm->rc;
- if (fsm->archiveSize && rc == 0)
- *fsm->archiveSize = rpmcpioTell(fsm->archive);
-
if (!rc) {
/* Check for hard links missing from payload. */
while ((fsm->li = fsm->links) != NULL) {
int rc = 0;
int ec = 0;
- rc = fsmSetup(fsm, FSM_PKGINSTALL, ts, te, fi, cfd, NULL, failedFile);
+ rc = fsmSetup(fsm, FSM_PKGINSTALL, ts, te, fi, cfd, failedFile);
/* transaction id used for temporary path suffix while installing */
rasprintf(&fsm->suffix, ";%08x", (unsigned)rpmtsGetTid(ts));
int rc = 0;
int ec = 0;
- rc = fsmSetup(fsm, FSM_PKGERASE, ts, te, fi, NULL, NULL, failedFile);
+ rc = fsmSetup(fsm, FSM_PKGERASE, ts, te, fi, NULL, failedFile);
while (!rc) {
/* Clean fsm, free'ing memory. */
int rc = 0;
int ec = 0;
- rc = fsmSetup(fsm, FSM_PKGBUILD, ts, te, fi, cfd, archiveSize, failedFile);
+ rc = fsmSetup(fsm, FSM_PKGBUILD, ts, te, fi, cfd, failedFile);
while (!rc) {
fsmReset(fsm);
if (!rc)
rc = writeLinks(fsm);
+ if (archiveSize)
+ *archiveSize = (rc == 0) ? rpmcpioTell(fsm->archive) : 0;
+
ec = fsmTeardown(fsm);
/* Return the relevant code: if setup failed, teardown doesn't matter */