Quellcode durchsuchen

dpkg: Rework oldconffsetflags() into pkg_conffiles_mark_old()

Change the signature to take a pkginfo instead of a list of conffiles.
And turn the while loop into a for loop.
Guillem Jover vor 11 Jahren
Ursprung
Commit
595395466b
5 geänderte Dateien mit 19 neuen und 12 gelöschten Zeilen
  1. 14 7
      src/help.c
  2. 1 1
      src/main.h
  3. 1 1
      src/remove.c
  4. 2 2
      src/unpack.c
  5. 1 1
      src/verify.c

+ 14 - 7
src/help.c

@@ -319,17 +319,24 @@ conffile_mark_obsolete(struct pkginfo *pkg, struct filenamenode *namenode)
   }
 }
 
-void oldconffsetflags(const struct conffile *searchconff) {
+/**
+ * Mark all package conffiles as old.
+ *
+ * @param pkg		The package owning the conffiles.
+ */
+void
+pkg_conffiles_mark_old(struct pkginfo *pkg)
+{
+  const struct conffile *conff;
   struct filenamenode *namenode;
 
-  while (searchconff) {
-    namenode= findnamenode(searchconff->name, 0); /* XXX */
+  for (conff = pkg->installed.conffiles; conff; conff = conff->next) {
+    namenode = findnamenode(conff->name, 0); /* XXX */
     namenode->flags |= fnnf_old_conff;
     if (!namenode->oldhash)
-      namenode->oldhash= searchconff->hash;
-    debug(dbg_conffdetail, "oldconffsetflags '%s' namenode '%s' flags %o",
-          searchconff->name, namenode->name, namenode->flags);
-    searchconff= searchconff->next;
+      namenode->oldhash = conff->hash;
+    debug(dbg_conffdetail, "%s '%s' namenode '%s' flags %o", __func__,
+          conff->name, namenode->name, namenode->flags);
   }
 }
 

+ 1 - 1
src/main.h

@@ -241,7 +241,7 @@ bool force_breaks(struct deppossi *possi);
 bool force_depends(struct deppossi *possi);
 bool force_conflicts(struct deppossi *possi);
 void conffile_mark_obsolete(struct pkginfo *pkg, struct filenamenode *namenode);
-void oldconffsetflags(const struct conffile *searchconff);
+void pkg_conffiles_mark_old(struct pkginfo *pkg);
 void checkpath(void);
 
 struct filenamenode *namenodetouse(struct filenamenode *namenode,

+ 1 - 1
src/remove.c

@@ -169,7 +169,7 @@ void deferred_remove(struct pkginfo *pkg) {
     return;
   }
 
-  oldconffsetflags(pkg->installed.conffiles);
+  pkg_conffiles_mark_old(pkg);
 
   printf(_("Removing %s (%s) ...\n"), pkg_name(pkg, pnaw_nonambig),
          versiondescribe(&pkg->installed.version, vdew_nonambig));

+ 2 - 2
src/unpack.c

@@ -724,11 +724,11 @@ void process_archive(const char *filename) {
 
   /* All the old conffiles are marked with a flag, so that we don't delete
    * them if they seem to disappear completely. */
-  oldconffsetflags(pkg->installed.conffiles);
+  pkg_conffiles_mark_old(pkg);
   for (conflictor_iter = conflictors.head;
        conflictor_iter;
        conflictor_iter = conflictor_iter->next)
-    oldconffsetflags(conflictor_iter->pkg->installed.conffiles);
+    pkg_conffiles_mark_old(conflictor_iter->pkg);
 
   oldversionstatus= pkg->status;
 

+ 1 - 1
src/verify.c

@@ -99,7 +99,7 @@ verify_package(struct pkginfo *pkg)
 
 	ensure_packagefiles_available(pkg);
 	parse_filehash(pkg, &pkg->installed);
-	oldconffsetflags(pkg->installed.conffiles);
+	pkg_conffiles_mark_old(pkg);
 
 	for (file = pkg->clientdata->files; file; file = file->next) {
 		struct verify_checks checks;