]> andersk Git - moira.git/blobdiff - update/log.c
posixify source
[moira.git] / update / log.c
index 7d352bb2c8fcc5971b7a16fe478f4e84eb6edab0..415280e960f4871cd548fc42bb7f8123623beae5 100644 (file)
@@ -2,6 +2,9 @@
  *     $Source$
  *     $Header$
  */
+/*  (c) Copyright 1988 by the Massachusetts Institute of Technology. */
+/*  For copying and distribution information, please see the file */
+/*  <mit-copyright.h>. */
 
 #ifndef lint
 static char *rcsid_log_c = "$Header$";
@@ -17,14 +20,18 @@ static char *rcsid_log_c = "$Header$";
  * define syslog for using syslog,
  * default to tty
  */
-#define use_syslog
 
+#include <mit-copyright.h>
 #include <stdio.h>
 #include "com_err.h"
 #include <varargs.h>
 #include "update.h"
 #include <krb.h>
 
+#ifndef __STDC__
+#define const
+#endif
+
 #ifdef use_syslog
 #include <syslog.h>
 #else
@@ -40,11 +47,12 @@ int syslog_prio[] = {
 };
 #endif
 int log_priority;
+extern char *whoami;
 
-sms_update_com_err_hook(whoami, code, fmt, args)
-    char *whoami;
-    int code;
-    char *fmt;
+void mr_update_com_err_hook(whoami, code, fmt, args)
+    const char *whoami;
+    long code;
+    const char *fmt;
     va_list args;
 {
     char buf[BUFSIZ], *cp;
@@ -65,11 +73,15 @@ sms_update_com_err_hook(whoami, code, fmt, args)
        while (*cp)
            cp++;
     }
+#ifdef HAS_VSPRINTF
+    vsprintf(cp, fmt, args);
+#else
     _strbuf._flag = _IOWRT+_IOSTRG;
     _strbuf._ptr = cp;
     _strbuf._cnt = BUFSIZ-(cp-buf);
     _doprnt(fmt, args, &_strbuf);
     putc('\0', &_strbuf);
+#endif
 #ifdef use_syslog
     syslog(syslog_prio[log_priority], "%s", buf);
 #endif
@@ -78,7 +90,7 @@ sms_update_com_err_hook(whoami, code, fmt, args)
 #endif
 }
 
-sms_update_initialize()
+mr_update_initialize()
 {
     static int initialized = 0;
     if (initialized)
@@ -86,7 +98,26 @@ sms_update_initialize()
 #ifdef use_syslog
     openlog(whoami, LOG_PID, LOG_DAEMON);
 #endif
-    (void) set_com_err_hook(sms_update_com_err_hook);
+    (void) set_com_err_hook(mr_update_com_err_hook);
     log_priority = log_INFO;
     initialized = 1;
 }
+
+
+static char fmt[] = "[%s] %s";
+
+#define        def(name,level,prio) \
+    name(msg) \
+    char *msg; \
+{\
+     register int old_prio; \
+     old_prio = log_priority; \
+     mr_update_initialize(); \
+     com_err(whoami, 0, fmt, level, msg); \
+     log_priority = old_prio; \
+}
+
+def(mr_log_error, "error", log_ERROR)
+def(mr_log_warning, "warning", log_WARNING)
+def(mr_log_info, "info", log_INFO)
+def(mr_debug, "debug", log_DEBUG)
This page took 0.034576 seconds and 4 git commands to generate.