]> err.no Git - dpkg/commitdiff
Move duplicate cleanup close functions to lib/cleanup.c
authorGuillem Jover <guillem@debian.org>
Thu, 20 Mar 2008 04:14:06 +0000 (06:14 +0200)
committerGuillem Jover <guillem@debian.org>
Thu, 20 Mar 2008 04:14:06 +0000 (06:14 +0200)
ChangeLog
lib/Makefile.am
lib/cleanup.c [new file with mode: 0644]
lib/dpkg.h
src/help.c
src/main.h
src/query.c

index b97767928422df70a79962541f67eebbec97d19b..51d972fc2b48022dced58dffcb7e87e6ebe8df99 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2008-03-20  Ian Jackson  <ian@davenant.greenend.org.uk>,
+            Guillem Jover  <guillem@debian.org>
+
+       * src/query.c (cu_closepipe, cu_closefile, cu_closefd): Remove
+       duplicated functions.
+       * src/help.c (cu_closepipe, cu_closefile, cu_closedir)
+       (cu_closefd): Move function definitions to ...
+       * lib/cleanup.c: ... here. New file.
+       * src/main.h (cu_closefile, cu_closepipe, cu_closedir)
+       (cu_closefd): Move prototypes to ...
+       * lib/dpkg.h: ... here.
+       * lib/Makefile.am (libdpkg_a_SOURCES): Add 'cleanup.c'.
+
 2008-03-20  Ian Jackson  <ian@davenant.greenend.org.uk>
 
        * lib/dpkg-db.h (modstatdb_checkpoint): New prototype.
index 2c34bb2331b97a5c2a8a7c72a5f98ce544ac77d0..ab34a3fa3bc3c0254d3aac088fe25ab9b356f60e 100644 (file)
@@ -15,6 +15,7 @@ libdpkg_a_SOURCES = \
        dpkg-def.h \
        dpkg.h \
        dpkg-db.h \
+       cleanup.c \
        compat.c \
        compression.c \
        database.c \
diff --git a/lib/cleanup.c b/lib/cleanup.c
new file mode 100644 (file)
index 0000000..4337062
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * libdpkg - Debian packaging suite library routines
+ * cleanup.c - cleanup functions, used when we need to unwind
+ *
+ * Copyright (C) 1995 Ian Jackson <ian@chiark.greenend.org.uk>
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2,
+ * or (at your option) any later version.
+ *
+ * This is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with dpkg; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <dpkg.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <dirent.h>
+
+void
+cu_closepipe(int argc, void **argv)
+{
+       int *p1 = (int *)argv[0];
+
+       close(p1[0]);
+       close(p1[1]);
+}
+
+void
+cu_closefile(int argc, void **argv)
+{
+       FILE *f = (FILE *)(argv[0]);
+
+       fclose(f);
+}
+
+void
+cu_closedir(int argc, void **argv)
+{
+       DIR *d = (DIR *)(argv[0]);
+
+       closedir(d);
+}
+
+void
+cu_closefd(int argc, void **argv)
+{
+       int ip = *(int *)argv[0];
+
+       close(ip);
+}
+
index 7e2e42833f07b30cd4a196fad02af2b8b8b2be5f..17b8f28b35b3447119e15207d9b3b476655266a5 100644 (file)
@@ -207,6 +207,13 @@ void badusage(const char *fmt, ...) NONRETURNING PRINTFFORMAT(1, 2);
 void werr(const char *what) NONRETURNING;
 void warningf(const char *fmt, ...) PRINTFFORMAT(1, 2);
 
+/*** cleanup.c ***/
+
+void cu_closefile(int argc, void **argv);
+void cu_closepipe(int argc, void **argv);
+void cu_closedir(int argc, void **argv);
+void cu_closefd(int argc, void **argv);
+
 /*** from mlib.c ***/
 
 void setcloexec(int fd, const char* fn);
index 78e3b29f244e8dde1976491c50c5c528173f6067..5103ecb83afa54c2a523288bee88335ddfebfc62 100644 (file)
@@ -121,26 +121,6 @@ void ensure_package_clientdata(struct pkginfo *pkg) {
   pkg->clientdata->files = NULL;
 }
 
-void cu_closepipe(int argc, void **argv) {
-  int *p1= (int*)argv[0];
-  close(p1[0]); close(p1[1]);
-}
-
-void cu_closefile(int argc, void **argv) {
-  FILE *f= (FILE*)(argv[0]);
-  fclose(f);
-}
-
-void cu_closedir(int argc, void **argv) {
-  DIR *d= (DIR*)(argv[0]);
-  closedir(d);
-}
-
-void cu_closefd(int argc, void **argv) {
-  int ip= *(int*)argv[0];
-  close(ip);
-}
-
 int ignore_depends(struct pkginfo *pkg) {
   struct packageinlist *id;
   for (id= ignoredependss; id; id= id->next)
index 15a8303a4e9db70b53dbfe9e3ee80d21f66ae1c0..59cc9f85a55effd3f8faf62c2e2b6c8d44e90782 100644 (file)
@@ -173,11 +173,6 @@ int skip_due_to_hold(struct pkginfo *pkg);
 
 /* from help.c */
 
-void cu_closefile(int argc, void **argv);
-void cu_closepipe(int argc, void **argv);
-void cu_closedir(int argc, void **argv);
-void cu_closefd(int argc, void **argv);
-
 struct stat;
 
 int ignore_depends(struct pkginfo *pkg);
index 2e524cfb99e1716a31d7cf2bc85e73835239f4c4..91b9111e6131c8bc382a8744fc0b3502d8ce15a4 100644 (file)
@@ -66,21 +66,6 @@ const char *pkgadminfile(struct pkginfo *pkg, const char *whichfile) {
   return vb.buf;
 }
 
-void cu_closepipe(int argc, void **argv) {
-  int *p1= (int*)argv[0];
-  close(p1[0]); close(p1[1]);
-}
-
-void cu_closefile(int argc, void **argv) {
-  FILE *f= (FILE*)(argv[0]);
-  fclose(f);
-}
-
-void cu_closefd(int argc, void **argv) {
-  int ip= *(int*)argv;
-  close(ip);
-}
-
 int pkglistqsortcmp(const void *a, const void *b) {
   const struct pkginfo *pa= *(const struct pkginfo**)a;
   const struct pkginfo *pb= *(const struct pkginfo**)b;