]> err.no Git - dpkg/commitdiff
libdpkg: Move log_message to lib/log.c
authorGuillem Jover <guillem@debian.org>
Tue, 25 Mar 2008 04:33:08 +0000 (06:33 +0200)
committerGuillem Jover <guillem@debian.org>
Tue, 25 Mar 2008 05:13:09 +0000 (07:13 +0200)
ChangeLog
lib/Makefile.am
lib/dbmodify.c
lib/dpkg-db.h
lib/dpkg.h
lib/log.c [new file with mode: 0644]

index 9c1325db8ffaa9d479f559de69aafd4aaeaae10e..57eef74dcec516bd9a66649e176ced4075978750 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-25  Guillem Jover  <guillem@debian.org>
+
+       * lib/dbmodify.c (log_file, log_message): Move to ...
+       * lib/log.c: ... here. New file.
+       * lib/Makefile.am (libdpkg_a_SOURCES): Add 'log.c'.
+       * lib/dpkg-db.h (log_file, log_message): Move declaration to ...
+       * lib/dpkg.h: ... here.
+
 2008-03-25  Ian Jackson  <ian@davenant.greenend.org.uk>,
             Guillem Jover  <guillem@debian.org>
 
index ab34a3fa3bc3c0254d3aac088fe25ab9b356f60e..12401a8fa48744c354a67c014cffe23e8bedf94c 100644 (file)
@@ -25,6 +25,7 @@ libdpkg_a_SOURCES = \
        fields.c \
        gettext.h \
        lock.c \
+       log.c \
        md5.c md5.h \
        mlib.c \
        myopt.c myopt.h \
index d8556528955633c95d75892505a401c6dfab1876..6abc4fe97e1bf198210a1cf2102215eb8d564483 100644 (file)
@@ -300,42 +300,3 @@ const char *pkgadminfile(struct pkginfo *pkg, const char *whichfile) {
   return vb.buf;
 }
 
-const char *log_file= NULL;
-
-void log_message(const char *fmt, ...) {
-  static struct varbuf *log= NULL;
-  static FILE *logfd= NULL;
-  char time_str[20];
-  time_t now;
-  va_list al;
-
-  if (!log_file)
-    return;
-
-  if (!logfd) {
-    logfd= fopen(log_file, "a");
-    if (!logfd) {
-      fprintf(stderr, _("couldn't open log `%s': %s\n"), log_file,
-             strerror(errno));
-      log_file= NULL;
-      return;
-    }
-    setlinebuf(logfd);
-    setcloexec(fileno(logfd), log_file);
-  }
-
-  if (!log) {
-    log= nfmalloc(sizeof(struct varbuf));
-    varbufinit(log);
-  } else
-    varbufreset(log);
-
-  va_start(al,fmt);
-  varbufvprintf(log, fmt, al);
-  varbufaddc(log, 0);
-  va_end(al);
-
-  time(&now);
-  strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", localtime(&now));
-  fprintf(logfd, "%s %s\n", time_str, log->buf);
-}
index edb67fa61da73f9b32d912ee1d8c60e38be05a22..565d629f6a3fd0a734cf04e65aa8d8cb1861162f 100644 (file)
@@ -181,9 +181,6 @@ extern char *statusfile, *availablefile; /* initialised by modstatdb_init */
 
 const char *pkgadminfile(struct pkginfo *pkg, const char *whichfile);
 
-extern const char *log_file;
-void log_message(const char *fmt, ...) PRINTFFORMAT(1, 2);
-
 /*** from database.c ***/
 
 struct pkginfo *findpackage(const char *name);
index 45967432a047357062bfd173c426d1d3d667f5a4..d6c06f9d7ccb7f40887d76f19fe6a12bafbb6879 100644 (file)
@@ -207,6 +207,11 @@ void badusage(const char *fmt, ...) NONRETURNING PRINTFFORMAT(1, 2);
 void werr(const char *what) NONRETURNING;
 void warningf(const char *fmt, ...) PRINTFFORMAT(1, 2);
 
+/*** log.c ***/
+
+extern const char *log_file;
+void log_message(const char *fmt, ...) PRINTFFORMAT(1, 2);
+
 /*** cleanup.c ***/
 
 void cu_closefile(int argc, void **argv);
diff --git a/lib/log.c b/lib/log.c
new file mode 100644 (file)
index 0000000..2e607b7
--- /dev/null
+++ b/lib/log.c
@@ -0,0 +1,74 @@
+/*
+ * dpkg - main program for package management
+ * log.c - logging related functions
+ *
+ * Copyright (C) 2005 Scott James Remnant <scott@netsplit.com>
+ *
+ * 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 <config.h>
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <time.h>
+#include <errno.h>
+
+#include <dpkg.h>
+#include <dpkg-db.h>
+
+const char *log_file = NULL;
+
+void
+log_message(const char *fmt, ...)
+{
+       static struct varbuf *log = NULL;
+       static FILE *logfd = NULL;
+       char time_str[20];
+       time_t now;
+       va_list al;
+
+       if (!log_file)
+               return;
+
+       if (!logfd) {
+               logfd = fopen(log_file, "a");
+               if (!logfd) {
+                       fprintf(stderr, _("couldn't open log `%s': %s\n"),
+                               log_file, strerror(errno));
+                       log_file = NULL;
+                       return;
+               }
+               setlinebuf(logfd);
+               setcloexec(fileno(logfd), log_file);
+       }
+
+       if (!log) {
+               log = nfmalloc(sizeof(struct varbuf));
+               varbufinit(log);
+       } else
+               varbufreset(log);
+
+       va_start(al, fmt);
+       varbufvprintf(log, fmt, al);
+       varbufaddc(log, 0);
+       va_end(al);
+
+       time(&now);
+       strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S",
+                localtime(&now));
+       fprintf(logfd, "%s %s\n", time_str, log->buf);
+}
+