X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/8defc06b8af7d99c7b46eaa73d5e9d7c8f044d52..50a232a9d445d62f4b7a8847a638ba2fb553a421:/lib/critical.c diff --git a/lib/critical.c b/lib/critical.c index 9bdfd1e5..27913d2e 100644 --- a/lib/critical.c +++ b/lib/critical.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #ifdef ZEPHYR @@ -17,7 +18,9 @@ #ifdef SYSLOG #include #endif - +#include +#include +#include /* mode to create the file with */ #define LOGFILEMODE 0644 @@ -31,7 +34,7 @@ extern char *whoami; * whoami to be defined and contain the name of the calling program. * It's a kludge that it takes a max of 8 arguments in a way that * isn't necessarily portable, but varargs doesn't work here and we - * don't have vsprintf(). + * don't necessarily have vsprintf(). */ void critical_alert(instance, msg, arg1, arg2, arg3, arg4, @@ -51,7 +54,7 @@ void critical_alert(instance, msg, arg1, arg2, arg3, arg4, /* Log message to critical file */ if ((crit = fopen(CRITERRLOG, "a")) != (FILE *)NULL) { - long t; + time_t t; char *time_s; time(&t); @@ -78,11 +81,15 @@ char *msg; #ifdef ZEPHYR ZNotice_t znotice; +#ifdef POSIX + memset (&znotice, 0, sizeof (znotice)); +#else bzero (&znotice, sizeof (znotice)); +#endif znotice.z_kind = UNSAFE; znotice.z_class = "MOIRA"; znotice.z_class_inst = inst; - znotice.z_default_format = "MOIRA $instance:\n $message\n"; + znotice.z_default_format = "MOIRA $instance on $fromhost:\n $message\n"; (void) ZInitialize (); znotice.z_message = msg; znotice.z_message_len = strlen(msg) + 1;