This is an automated email from the git hooks/post-receive script.

guillem pushed a commit to branch master
in repository dpkg.

View the commit online:
https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=c7c948d8b9ed774163d35c573f25029d69e45348

commit c7c948d8b9ed774163d35c573f25029d69e45348
Author: Guillem Jover <guil...@debian.org>
AuthorDate: Sat Jan 13 02:37:02 2018 +0100

    libdpkg: Split push_cleanup() into push_cleanup_fallback()
    
    We separate the function in one that takes one callback, and another
    that takes two. This simplifies most of the call sites which only need
    one callback.
---
 debian/changelog           |  1 +
 dpkg-deb/info.c            |  2 +-
 dselect/baselist.cc        |  2 +-
 dselect/method.cc          |  2 +-
 lib/dpkg/atomic-file.c     |  2 +-
 lib/dpkg/db-ctrl-access.c  |  2 +-
 lib/dpkg/db-ctrl-upgrade.c |  4 ++--
 lib/dpkg/db-fsys-files.c   |  2 +-
 lib/dpkg/ehandle.c         | 32 +++++++++++++++++++++++++++++---
 lib/dpkg/ehandle.h         |  6 ++++--
 lib/dpkg/file.c            |  2 +-
 lib/dpkg/libdpkg.map       |  1 +
 lib/dpkg/parse.c           |  2 +-
 lib/dpkg/subproc.c         |  2 +-
 lib/dpkg/t/t-ehandle.c     |  2 +-
 lib/dpkg/triglib.c         |  4 ++--
 src/archives.c             |  4 ++--
 src/configure.c            |  2 +-
 src/divertcmd.c            |  2 +-
 src/remove.c               |  4 ++--
 src/script.c               |  2 +-
 src/unpack.c               | 32 ++++++++++++++++----------------
 22 files changed, 72 insertions(+), 42 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 227839fc8..38078b2d1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -190,6 +190,7 @@ dpkg (1.19.1) UNRELEASED; urgency=medium
     - libdpkg: Switch to a new tiny struct to track file on-disk identity.
       This should reduce the run-time memory used.
     - libdpkg: Reset nfiles in files_db_reset().
+    - libdpkg: Split push_cleanup() into push_cleanup_fallback().
   * Build system:
     - Set distribution tarball format to ustar, instead of default v7 format.
     - Mark PO4A and POD2MAN as precious variables.
diff --git a/dpkg-deb/info.c b/dpkg-deb/info.c
index 8169507c5..794eeb051 100644
--- a/dpkg-deb/info.c
+++ b/dpkg-deb/info.c
@@ -71,7 +71,7 @@ static void info_prepare(const char *const **argvp,
     ohshite(_("unable to create temporary directory"));
   *dirp = dbuf;
 
-  push_cleanup(cu_info_prepare, -1, NULL, 0, 1, (void *)dbuf);
+  push_cleanup(cu_info_prepare, -1, 1, (void *)dbuf);
   extracthalf(*debarp, dbuf, DPKG_TAR_EXTRACT | DPKG_TAR_NOMTIME, admininfo);
 }
 
diff --git a/dselect/baselist.cc b/dselect/baselist.cc
index 80fee6935..05465fc92 100644
--- a/dselect/baselist.cc
+++ b/dselect/baselist.cc
@@ -101,7 +101,7 @@ baselist::setupsigwinch()
   if (sigaction(SIGWINCH, nullptr, osigactp))
     ohshite(_("failed to get old SIGWINCH sigact"));
 
-  push_cleanup(cu_sigwinch, ~0, nullptr, 0, 2, osigactp, oblockedp);
+  push_cleanup(cu_sigwinch, ~0, 2, osigactp, oblockedp);
 
   sigwinch_mask(SIG_BLOCK);
 
diff --git a/dselect/method.cc b/dselect/method.cc
index 76863bc34..0f17431b5 100644
--- a/dselect/method.cc
+++ b/dselect/method.cc
@@ -125,7 +125,7 @@ static enum urqresult lockmethod(void) {
     sthfailed(_("cannot lock access method area"));
     return urqr_fail;
   }
-  push_cleanup(cu_unlockmethod, ~0, nullptr, 0, 0);
+  push_cleanup(cu_unlockmethod, ~0, 0);
   return urqr_normal;
 }
 
diff --git a/lib/dpkg/atomic-file.c b/lib/dpkg/atomic-file.c
index b49a47b9b..20b1fb37e 100644
--- a/lib/dpkg/atomic-file.c
+++ b/lib/dpkg/atomic-file.c
@@ -58,7 +58,7 @@ atomic_file_open(struct atomic_file *file)
                        file->name_new);
        fchmod(fileno(file->fp), 0644);
 
-       push_cleanup(cu_closestream, ~ehflag_normaltidy, NULL, 0, 1, file->fp);
+       push_cleanup(cu_closestream, ~ehflag_normaltidy, 1, file->fp);
 }
 
 void
diff --git a/lib/dpkg/db-ctrl-access.c b/lib/dpkg/db-ctrl-access.c
index bd98d1409..d31f5466f 100644
--- a/lib/dpkg/db-ctrl-access.c
+++ b/lib/dpkg/db-ctrl-access.c
@@ -81,7 +81,7 @@ pkg_infodb_foreach(struct pkginfo *pkg, struct pkgbin *pkgbin,
        if (!db_dir)
                ohshite(_("cannot read info directory"));
 
-       push_cleanup(cu_closedir, ~0, NULL, 0, 1, (void *)db_dir);
+       push_cleanup(cu_closedir, ~0, 1, (void *)db_dir);
        while ((db_de = readdir(db_dir)) != NULL) {
                const char *filename, *filetype, *dot;
 
diff --git a/lib/dpkg/db-ctrl-upgrade.c b/lib/dpkg/db-ctrl-upgrade.c
index fc88bd4d0..1770ecaeb 100644
--- a/lib/dpkg/db-ctrl-upgrade.c
+++ b/lib/dpkg/db-ctrl-upgrade.c
@@ -91,7 +91,7 @@ pkg_infodb_link_multiarch_files(void)
        if (!db_dir)
                ohshite(_("cannot read info directory"));
 
-       push_cleanup(cu_closedir, ~0, NULL, 0, 1, (void *)db_dir);
+       push_cleanup(cu_closedir, ~0, 1, (void *)db_dir);
        while ((db_de = readdir(db_dir)) != NULL) {
                const char *filetype, *dot;
                struct pkginfo *pkg;
@@ -213,7 +213,7 @@ pkg_infodb_upgrade_to_multiarch(void)
        db_file = atomic_file_new(db_format_file, 0);
        atomic_file_open(db_file);
 
-       push_cleanup(cu_abort_db_upgrade, ehflag_bombout, NULL, 0, 1, db_file);
+       push_cleanup(cu_abort_db_upgrade, ehflag_bombout, 1, db_file);
 
        pkg_infodb_link_multiarch_files();
        pkg_infodb_write_format(db_file, 1);
diff --git a/lib/dpkg/db-fsys-files.c b/lib/dpkg/db-fsys-files.c
index bfc2ccbe6..ff2ee7063 100644
--- a/lib/dpkg/db-fsys-files.c
+++ b/lib/dpkg/db-fsys-files.c
@@ -117,7 +117,7 @@ ensure_packagefiles_available(struct pkginfo *pkg)
     return;
   }
 
-  push_cleanup(cu_closefd, ehflag_bombout, NULL, 0, 1, &fd);
+  push_cleanup(cu_closefd, ehflag_bombout, 1, &fd);
 
   if (fstat(fd, &stat_buf))
     ohshite(_("unable to stat files list file for package '%.250s'"),
diff --git a/lib/dpkg/ehandle.c b/lib/dpkg/ehandle.c
index f21fb07e9..ae3b46aad 100644
--- a/lib/dpkg/ehandle.c
+++ b/lib/dpkg/ehandle.c
@@ -324,9 +324,11 @@ void push_checkpoint(int mask, int value) {
   econtext->cleanups= cep;
 }
 
-void push_cleanup(void (*call1)(int argc, void **argv), int mask1,
+static void
+cleanup_entry_new(void (*call1)(int argc, void **argv), int mask1,
                   void (*call2)(int argc, void **argv), int mask2,
-                  unsigned int nargs, ...) {
+                  unsigned int nargs, va_list vargs)
+{
   struct cleanup_entry *cep;
   void **argv;
   int e = 0;
@@ -343,7 +345,8 @@ void push_cleanup(void (*call1)(int argc, void **argv), int 
mask1,
   cep->calls[0].call= call1; cep->calls[0].mask= mask1;
   cep->calls[1].call= call2; cep->calls[1].mask= mask2;
   cep->cpmask=~0; cep->cpvalue=0; cep->argc= nargs;
-  va_start(args, nargs);
+
+  va_copy(args, vargs);
   argv = cep->argv;
   while (nargs-- > 0)
     *argv++ = va_arg(args, void *);
@@ -359,6 +362,29 @@ void push_cleanup(void (*call1)(int argc, void **argv), 
int mask1,
   onerr_abort--;
 }
 
+void
+push_cleanup(void (*call)(int argc, void **argv), int mask,
+             unsigned int nargs, ...)
+{
+  va_list args;
+
+  va_start(args, nargs);
+  cleanup_entry_new(call, mask, NULL, 0, nargs, args);
+  va_end(args);
+}
+
+void
+push_cleanup_fallback(void (*call1)(int argc, void **argv), int mask1,
+                      void (*call2)(int argc, void **argv), int mask2,
+                      unsigned int nargs, ...)
+{
+  va_list args;
+
+  va_start(args, nargs);
+  cleanup_entry_new(call1, mask1, call2, mask2, nargs, args);
+  va_end(args);
+}
+
 void pop_cleanup(int flagset) {
   struct cleanup_entry *cep;
   int i;
diff --git a/lib/dpkg/ehandle.h b/lib/dpkg/ehandle.h
index 370614812..36059048a 100644
--- a/lib/dpkg/ehandle.h
+++ b/lib/dpkg/ehandle.h
@@ -59,8 +59,10 @@ void push_error_context_func(error_handler_func *handler,
 void push_error_context(void);
 void pop_error_context(int flagset);
 
-void push_cleanup(void (*f1)(int argc, void **argv), int flagmask1,
-                  void (*f2)(int argc, void **argv), int flagmask2,
+void push_cleanup_fallback(void (*f1)(int argc, void **argv), int flagmask1,
+                           void (*f2)(int argc, void **argv), int flagmask2,
+                           unsigned int nargs, ...);
+void push_cleanup(void (*call)(int argc, void **argv), int flagmask,
                   unsigned int nargs, ...);
 void push_checkpoint(int mask, int value);
 void pop_cleanup(int flagset);
diff --git a/lib/dpkg/file.c b/lib/dpkg/file.c
index cd261222c..364f8aed6 100644
--- a/lib/dpkg/file.c
+++ b/lib/dpkg/file.c
@@ -150,7 +150,7 @@ file_lock(int *lockfd, enum file_lock_flags flags, const 
char *filename,
                        ohshite(_("unable to lock %s"), desc);
        }
 
-       push_cleanup(file_unlock_cleanup, ~0, NULL, 0, 2, lockfd, desc);
+       push_cleanup(file_unlock_cleanup, ~0, 2, lockfd, desc);
 }
 
 void
diff --git a/lib/dpkg/libdpkg.map b/lib/dpkg/libdpkg.map
index cf176d6c9..cd0bd255d 100644
--- a/lib/dpkg/libdpkg.map
+++ b/lib/dpkg/libdpkg.map
@@ -46,6 +46,7 @@ LIBDPKG_PRIVATE {
        catch_fatal_error;
        push_checkpoint;
        push_cleanup;
+       push_cleanup_fallback;
        pop_cleanup;
        onerr_abort;            # XXX variable, do not export
        ohshitv;
diff --git a/lib/dpkg/parse.c b/lib/dpkg/parse.c
index d9daa112c..158e4d11e 100644
--- a/lib/dpkg/parse.c
+++ b/lib/dpkg/parse.c
@@ -557,7 +557,7 @@ parsedb_open(const char *filename, enum parsedbflags flags)
 
   ps = parsedb_new(filename, fd, flags | pdb_close_fd);
 
-  push_cleanup(cu_closefd, ~ehflag_normaltidy, NULL, 0, 1, &ps->fd);
+  push_cleanup(cu_closefd, ~ehflag_normaltidy, 1, &ps->fd);
 
   return ps;
 }
diff --git a/lib/dpkg/subproc.c b/lib/dpkg/subproc.c
index b2f36ec2e..7b3fb9906 100644
--- a/lib/dpkg/subproc.c
+++ b/lib/dpkg/subproc.c
@@ -73,7 +73,7 @@ subproc_signals_ignore(const char *name)
        for (i = 0; i < array_count(signo_ignores); i++)
                subproc_set_signal(signo_ignores[i], &sa, &sa_save[i], name);
 
-       push_cleanup(subproc_signals_cleanup, ~0, NULL, 0, 0);
+       push_cleanup(subproc_signals_cleanup, ~0, 0);
        onerr_abort--;
 }
 
diff --git a/lib/dpkg/t/t-ehandle.c b/lib/dpkg/t/t-ehandle.c
index 5904bfae1..7a20887af 100644
--- a/lib/dpkg/t/t-ehandle.c
+++ b/lib/dpkg/t/t-ehandle.c
@@ -100,7 +100,7 @@ test_cleanup_error(void)
                pass = false;
 
                push_error_context_jump(&handler_jump, printer_empty, "test 
cleanup");
-               push_cleanup(cleanup_error, ~ehflag_normaltidy, NULL, 0, 0);
+               push_cleanup(cleanup_error, ~ehflag_normaltidy, 0);
                pop_error_context(ehflag_bombout);
 
                /* We should have recovered from the cleanup handler failing,
diff --git a/lib/dpkg/triglib.c b/lib/dpkg/triglib.c
index 395601359..f7488ee61 100644
--- a/lib/dpkg/triglib.c
+++ b/lib/dpkg/triglib.c
@@ -507,7 +507,7 @@ trig_file_interests_ensure(void)
                        triggersfilefile);
        }
 
-       push_cleanup(cu_closestream, ~0, NULL, 0, 1, f);
+       push_cleanup(cu_closestream, ~0, 1, f);
        while (fgets_checked(linebuf, sizeof(linebuf), f, triggersfilefile) >= 
0) {
                struct dpkg_error err;
                char *slash;
@@ -694,7 +694,7 @@ trig_parse_ci(const char *file, trig_parse_cicb *interest,
                        return; /* No file is just like an empty one. */
                ohshite(_("unable to open triggers ci file '%.250s'"), file);
        }
-       push_cleanup(cu_closestream, ~0, NULL, 0, 1, f);
+       push_cleanup(cu_closestream, ~0, 1, f);
 
        while ((l = fgets_checked(linebuf, sizeof(linebuf), f, file)) >= 0) {
                for (cmd = linebuf; c_iswhite(*cmd); cmd++) ;
diff --git a/src/archives.c b/src/archives.c
index 4c5fb8897..e802baaee 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -362,7 +362,7 @@ tarobject_extract(struct tarcontext *tc, struct tar_entry 
*te,
     if (fd < 0)
       ohshite(_("unable to create '%.255s' (while processing '%.255s')"),
               path, te->name);
-    push_cleanup(cu_closefd, ehflag_bombout, NULL, 0, 1, &fd);
+    push_cleanup(cu_closefd, ehflag_bombout, 1, &fd);
     debug(dbg_eachfiledetail, "tarobject file open size=%jd",
           (intmax_t)te->size);
 
@@ -965,7 +965,7 @@ tarobject(void *ctx, struct tar_entry *ti)
     /* Now we start to do things that we need to be able to undo
      * if something goes wrong. Watch out for the CLEANUP comments to
      * keep an eye on what's installed on the disk at each point. */
-    push_cleanup(cu_installnew, ~ehflag_normaltidy, NULL, 0, 1, 
nifd->namenode);
+    push_cleanup(cu_installnew, ~ehflag_normaltidy, 1, nifd->namenode);
 
     /*
      * CLEANUP: Now we either have the old file on the disk, or not, in
diff --git a/src/configure.c b/src/configure.c
index 2d9173eba..076abbd9d 100644
--- a/src/configure.c
+++ b/src/configure.c
@@ -831,7 +831,7 @@ md5hash(struct pkginfo *pkg, char *hashbuf, const char *fn)
        fd = open(fn, O_RDONLY);
 
        if (fd >= 0) {
-               push_cleanup(cu_closefd, ehflag_bombout, NULL, 0, 1, &fd);
+               push_cleanup(cu_closefd, ehflag_bombout, 1, &fd);
                if (fd_md5(fd, hashbuf, -1, &err) < 0)
                        ohshit(_("cannot compute MD5 hash for file '%s': %s"),
                               fn, err.str);
diff --git a/src/divertcmd.c b/src/divertcmd.c
index d50409d02..69d187c45 100644
--- a/src/divertcmd.c
+++ b/src/divertcmd.c
@@ -232,7 +232,7 @@ file_copy(const char *src, const char *dst)
        if (dstfd < 0)
                ohshite(_("unable to create file '%s'"), tmp);
 
-       push_cleanup(cu_filename, ~ehflag_normaltidy, NULL, 0, 1, tmp);
+       push_cleanup(cu_filename, ~ehflag_normaltidy, 1, tmp);
 
        if (fd_fd_copy(srcfd, dstfd, -1, &err) < 0)
                ohshit(_("cannot copy '%s' to '%s': %s"), src, tmp, err.str);
diff --git a/src/remove.c b/src/remove.c
index 18d470aea..fb27341f6 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -189,7 +189,7 @@ void deferred_remove(struct pkginfo *pkg) {
     oldpkgstatus= pkg->status;
     pkg_set_status(pkg, PKG_STAT_HALFCONFIGURED);
     modstatdb_note(pkg);
-    push_cleanup(cu_prermremove, ~ehflag_normaltidy, NULL, 0, 2,
+    push_cleanup(cu_prermremove, ~ehflag_normaltidy, 2,
                  (void *)pkg, (void *)&oldpkgstatus);
     maintscript_installed(pkg, PRERMFILE, "pre-removal", "remove", NULL);
 
@@ -564,7 +564,7 @@ static void removal_bulk_remove_configfiles(struct pkginfo 
*pkg) {
                 fnvb.buf, conff->name);
       }
       debug(dbg_conffdetail, "removal_bulk conffile cleaning dsd %s", 
fnvb.buf);
-      push_cleanup(cu_closedir, ~0, NULL, 0, 1, (void *)dsd);
+      push_cleanup(cu_closedir, ~0, 1, (void *)dsd);
       *p= '/';
       conffbasenamelen= strlen(++p);
       conffbasename= fnvb.buf+conffnameused-conffbasenamelen;
diff --git a/src/script.c b/src/script.c
index fc6f6117e..9c8585b64 100644
--- a/src/script.c
+++ b/src/script.c
@@ -171,7 +171,7 @@ maintscript_exec(struct pkginfo *pkg, struct pkgbin *pkgbin,
 
        setexecute(cmd->filename, stab);
 
-       push_cleanup(cu_post_script_tasks, ehflag_bombout, NULL, 0, 0);
+       push_cleanup(cu_post_script_tasks, ehflag_bombout, 0);
 
        pid = subproc_fork();
        if (pid == 0) {
diff --git a/src/unpack.c b/src/unpack.c
index cae756222..a42d0f7fa 100644
--- a/src/unpack.c
+++ b/src/unpack.c
@@ -94,7 +94,7 @@ deb_reassemble(const char **filename, const char **pfilename)
   if (unlink(reasmbuf) && errno != ENOENT)
     ohshite(_("error ensuring '%.250s' doesn't exist"), reasmbuf);
 
-  push_cleanup(cu_pathname, ~0, NULL, 0, 1, (void *)reasmbuf);
+  push_cleanup(cu_pathname, ~0, 1, (void *)reasmbuf);
 
   pid = subproc_fork();
   if (!pid) {
@@ -291,9 +291,9 @@ pkg_deconfigure_others(struct pkginfo *pkg)
     /* This means that we *either* go and run postinst abort-deconfigure,
      * *or* queue the package for later configure processing, depending
      * on which error cleanup route gets taken. */
-    push_cleanup(cu_prermdeconfigure, ~ehflag_normaltidy,
-                 ok_prermdeconfigure, ehflag_normaltidy,
-                 3, (void *)deconpil->pkg, (void *)removing, (void *)pkg);
+    push_cleanup_fallback(cu_prermdeconfigure, ~ehflag_normaltidy,
+                          ok_prermdeconfigure, ehflag_normaltidy,
+                          3, (void *)deconpil->pkg, (void *)removing, (void 
*)pkg);
 
     if (removing) {
       maintscript_installed(deconpil->pkg, PRERMFILE, "pre-removal",
@@ -334,7 +334,7 @@ deb_parse_conffiles(struct pkginfo *pkg, const char 
*control_conffiles,
     ohshite(_("error trying to open %.250s"), control_conffiles);
   }
 
-  push_cleanup(cu_closestream, ehflag_bombout, NULL, 0, 1, conff);
+  push_cleanup(cu_closestream, ehflag_bombout, 1, conff);
 
   while (fgets(conffilenamebuf, MAXCONFFILENAME - 2, conff)) {
     struct pkginfo *otherpkg;
@@ -495,7 +495,7 @@ pkg_infodb_update(struct pkginfo *pkg, char *cidir, char 
*cidirrest)
   dsd = opendir(cidir);
   if (!dsd)
     ohshite(_("unable to open temp control directory"));
-  push_cleanup(cu_closedir, ~0, NULL, 0, 1, (void *)dsd);
+  push_cleanup(cu_closedir, ~0, 1, (void *)dsd);
   while ((de = readdir(dsd))) {
     const char *newinfofilename;
 
@@ -1110,7 +1110,7 @@ void process_archive(const char *filename) {
   /* Get the control information directory. */
   cidir = get_control_dir(cidir);
   cidirrest = cidir + strlen(cidir);
-  push_cleanup(cu_cidir, ~0, NULL, 0, 2, (void *)cidir, (void *)cidirrest);
+  push_cleanup(cu_cidir, ~0, 2, (void *)cidir, (void *)cidirrest);
 
   pid = subproc_fork();
   if (pid == 0) {
@@ -1221,7 +1221,7 @@ void process_archive(const char *filename) {
   /* Read the conffiles, and copy the hashes across. */
   newconffiles.head = NULL;
   newconffiles.tail = &newconffiles.head;
-  push_cleanup(cu_fileslist, ~0, NULL, 0, 0);
+  push_cleanup(cu_fileslist, ~0, 0);
   strcpy(cidirrest,CONFFILESFILE);
   deb_parse_conffiles(pkg, cidir, &newconffiles);
 
@@ -1249,7 +1249,7 @@ void process_archive(const char *filename) {
     pkg_set_eflags(pkg, PKG_EFLAG_REINSTREQ);
     pkg_set_status(pkg, PKG_STAT_HALFCONFIGURED);
     modstatdb_note(pkg);
-    push_cleanup(cu_prermupgrade, ~ehflag_normaltidy, NULL, 0, 1, (void *)pkg);
+    push_cleanup(cu_prermupgrade, ~ehflag_normaltidy, 1, (void *)pkg);
     if (dpkg_version_compare(&pkg->available.version,
                              &pkg->installed.version) >= 0)
       /* Upgrade or reinstall. */
@@ -1282,7 +1282,7 @@ void process_archive(const char *filename) {
     trig_activate_packageprocessing(conflictor);
     pkg_set_status(conflictor, PKG_STAT_HALFCONFIGURED);
     modstatdb_note(conflictor);
-    push_cleanup(cu_prerminfavour, ~ehflag_normaltidy, NULL, 0,
+    push_cleanup(cu_prerminfavour, ~ehflag_normaltidy,
                  2, conflictor, pkg);
     maintscript_installed(conflictor, PRERMFILE, "pre-removal",
                           "remove", "in-favour",
@@ -1302,12 +1302,12 @@ void process_archive(const char *filename) {
   pkg_set_status(pkg, PKG_STAT_HALFINSTALLED);
   modstatdb_note(pkg);
   if (oldversionstatus == PKG_STAT_NOTINSTALLED) {
-    push_cleanup(cu_preinstverynew, ~ehflag_normaltidy, NULL, 0,
+    push_cleanup(cu_preinstverynew, ~ehflag_normaltidy,
                  3,(void*)pkg,(void*)cidir,(void*)cidirrest);
     maintscript_new(pkg, PREINSTFILE, "pre-installation", cidir, cidirrest,
                     "install", NULL);
   } else if (oldversionstatus == PKG_STAT_CONFIGFILES) {
-    push_cleanup(cu_preinstnew, ~ehflag_normaltidy, NULL, 0,
+    push_cleanup(cu_preinstnew, ~ehflag_normaltidy,
                  3,(void*)pkg,(void*)cidir,(void*)cidirrest);
     maintscript_new(pkg, PREINSTFILE, "pre-installation", cidir, cidirrest,
                     "install",
@@ -1315,7 +1315,7 @@ void process_archive(const char *filename) {
                     versiondescribe(&pkg->available.version, vdew_nonambig),
                     NULL);
   } else {
-    push_cleanup(cu_preinstupgrade, ~ehflag_normaltidy, NULL, 0,
+    push_cleanup(cu_preinstupgrade, ~ehflag_normaltidy,
                  
4,(void*)pkg,(void*)cidir,(void*)cidirrest,(void*)&oldversionstatus);
     maintscript_new(pkg, PREINSTFILE, "pre-installation", cidir, cidirrest,
                     "upgrade",
@@ -1412,7 +1412,7 @@ void process_archive(const char *filename) {
    */
 
   m_pipe(p1);
-  push_cleanup(cu_closepipe, ehflag_bombout, NULL, 0, 1, (void *)&p1[0]);
+  push_cleanup(cu_closepipe, ehflag_bombout, 1, (void *)&p1[0]);
   pid = subproc_fork();
   if (pid == 0) {
     m_dup2(p1[1],1); close(p1[0]); close(p1[1]);
@@ -1426,7 +1426,7 @@ void process_archive(const char *filename) {
   newfiles_queue.head = NULL;
   newfiles_queue.tail = &newfiles_queue.head;
   tc.newfiles_queue = &newfiles_queue;
-  push_cleanup(cu_fileslist, ~0, NULL, 0, 0);
+  push_cleanup(cu_fileslist, ~0, 0);
   tc.pkg= pkg;
   tc.backendpipe= p1[0];
   tc.pkgset_getting_in_sync = pkgset_getting_in_sync(pkg);
@@ -1453,7 +1453,7 @@ void process_archive(const char *filename) {
      * reduced to ‘unpacked’ by now, by the running of the prerm script. */
     pkg_set_status(pkg, PKG_STAT_HALFINSTALLED);
     modstatdb_note(pkg);
-    push_cleanup(cu_postrmupgrade, ~ehflag_normaltidy, NULL, 0, 1, (void 
*)pkg);
+    push_cleanup(cu_postrmupgrade, ~ehflag_normaltidy, 1, (void *)pkg);
     maintscript_fallback(pkg, POSTRMFILE, "post-removal", cidir, cidirrest,
                          "upgrade", "failed-upgrade");
   }

-- 
Dpkg.Org's dpkg

Reply via email to