The following commit has been merged in the master branch:
commit ff66f87ae809dfad6fe0f621f54a105b999e38b2
Author: Guillem Jover <guil...@debian.org>
Date:   Wed Feb 1 03:08:35 2012 +0100

    dpkg: Pass struct pkgbin to namenodetouse()

diff --git a/src/archives.c b/src/archives.c
index 8294738..606a128 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -492,7 +492,7 @@ tarobject(void *ctx, struct tar_entry *ti)
   else
     st = &ti->stat;
 
-  usenode = namenodetouse(nifd->namenode, tc->pkg);
+  usenode = namenodetouse(nifd->namenode, tc->pkg, &tc->pkg->available);
   usename = usenode->name + 1; /* Skip the leading '/'. */
 
   trig_file_activate(usenode, tc->pkg);
@@ -767,7 +767,8 @@ tarobject(void *ctx, struct tar_entry *ti)
     varbuf_add_str(&hardlinkfn, instdir);
     varbuf_add_char(&hardlinkfn, '/');
     linknode = findnamenode(ti->linkname, 0);
-    varbuf_add_str(&hardlinkfn, namenodetouse(linknode, tc->pkg)->name);
+    varbuf_add_str(&hardlinkfn,
+                   namenodetouse(linknode, tc->pkg, 
&tc->pkg->available)->name);
     if (linknode->flags & (fnnf_deferred_rename|fnnf_new_conff))
       varbuf_add_str(&hardlinkfn, DPKGNEWEXT);
     varbuf_end_str(&hardlinkfn);
@@ -896,7 +897,7 @@ tar_writeback_barrier(struct fileinlist *files, struct 
pkginfo *pkg)
     if (!(cfile->namenode->flags & fnnf_deferred_fsync))
       continue;
 
-    usenode = namenodetouse(cfile->namenode, pkg);
+    usenode = namenodetouse(cfile->namenode, pkg, &pkg->available);
     usename = usenode->name + 1; /* Skip the leading '/'. */
 
     setupfnamevbs(usename);
@@ -934,7 +935,7 @@ tar_deferred_extract(struct fileinlist *files, struct 
pkginfo *pkg)
     if (!(cfile->namenode->flags & fnnf_deferred_rename))
       continue;
 
-    usenode = namenodetouse(cfile->namenode, pkg);
+    usenode = namenodetouse(cfile->namenode, pkg, &pkg->available);
     usename = usenode->name + 1; /* Skip the leading '/'. */
 
     setupfnamevbs(usename);
diff --git a/src/configure.c b/src/configure.c
index 151564c..1d7cf1d 100644
--- a/src/configure.c
+++ b/src/configure.c
@@ -79,7 +79,8 @@ deferred_configure_conffile(struct pkginfo *pkg, struct 
conffile *conff)
        char *cdr2rest;
        int r;
 
-       usenode = namenodetouse(findnamenode(conff->name, fnn_nocopy), pkg);
+       usenode = namenodetouse(findnamenode(conff->name, fnn_nocopy),
+                                pkg, &pkg->installed);
 
        r = conffderef(pkg, &cdr, usenode->name);
        if (r == -1) {
diff --git a/src/help.c b/src/help.c
index 42c68ba..9e0d479 100644
--- a/src/help.c
+++ b/src/help.c
@@ -55,7 +55,10 @@ const char *const statusstrings[]= {
   [stat_installed]       = N_("installed")
 };
 
-struct filenamenode *namenodetouse(struct filenamenode *namenode, struct 
pkginfo *pkg) {
+struct filenamenode *
+namenodetouse(struct filenamenode *namenode, struct pkginfo *pkg,
+              struct pkgbin *pkgbin)
+{
   struct filenamenode *r;
 
   if (!namenode->divert) {
diff --git a/src/main.h b/src/main.h
index afbfca0..70ab488 100644
--- a/src/main.h
+++ b/src/main.h
@@ -229,7 +229,8 @@ int secure_unlink(const char *pathname);
 int secure_unlink_statted(const char *pathname, const struct stat *stab);
 void checkpath(void);
 
-struct filenamenode *namenodetouse(struct filenamenode*, struct pkginfo*);
+struct filenamenode *namenodetouse(struct filenamenode *namenode,
+                                   struct pkginfo *pkg, struct pkgbin *pkgbin);
 
 int maintainer_script_installed(struct pkginfo *pkg, const char *scriptname,
                                 const char *desc, ...) DPKG_ATTR_SENTINEL;
diff --git a/src/processarc.c b/src/processarc.c
index 9290828..1317da6 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -910,7 +910,7 @@ void process_archive(const char *filename) {
         (namenode->flags & fnnf_new_inarchive))
       continue;
 
-    usenode = namenodetouse(namenode, pkg);
+    usenode = namenodetouse(namenode, pkg, &pkg->installed);
     trig_file_activate(usenode, pkg);
 
     varbuf_trunc(&fnamevb, fnameidlu);
@@ -1293,7 +1293,8 @@ void process_archive(const char *filename) {
   for (cfile= newfileslist; cfile; cfile= cfile->next) {
     if (cfile->namenode->flags & fnnf_new_conff) continue;
     varbuf_trunc(&fnametmpvb, fnameidlu);
-    varbuf_add_str(&fnametmpvb, namenodetouse(cfile->namenode, pkg)->name);
+    varbuf_add_str(&fnametmpvb,
+                   namenodetouse(cfile->namenode, pkg, &pkg->installed)->name);
     varbuf_add_str(&fnametmpvb, DPKGTEMPEXT);
     varbuf_end_str(&fnametmpvb);
     ensure_pathname_nonexisting(fnametmpvb.buf);
diff --git a/src/remove.c b/src/remove.c
index 3b8bd1a..6bbb01b 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -226,7 +226,7 @@ removal_bulk_remove_files(struct pkginfo *pkg)
         continue;
       }
 
-      usenode = namenodetouse(namenode, pkg);
+      usenode = namenodetouse(namenode, pkg, &pkg->installed);
       trig_file_activate(usenode, pkg);
 
       varbuf_reset(&fnvb);
@@ -334,7 +334,7 @@ static void removal_bulk_remove_leftover_dirs(struct 
pkginfo *pkg) {
       continue;
     }
 
-    usenode = namenodetouse(namenode, pkg);
+    usenode = namenodetouse(namenode, pkg, &pkg->installed);
     trig_file_activate(usenode, pkg);
 
     varbuf_reset(&fnvb);

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to debian-dpkg-cvs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to