]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Performance Boost (untested) -- mm
authorhadaq <hadaq>
Mon, 7 Oct 2002 11:51:09 +0000 (11:51 +0000)
committerhadaq <hadaq>
Mon, 7 Oct 2002 11:51:09 +0000 (11:51 +0000)
compat/syslog.c

index fd6bb0f6c56c1dcb5da8e18e00bd15daf41df14e..53e34babeabffe24e02c98ad8c6359ef8e2624c9 100644 (file)
@@ -13,38 +13,39 @@ static unsigned ourLogopt = 0;
 static unsigned ourFacility = LOG_USER;
 
 void SYSLOG_syslog(int priority, const char *message, ...) {
-       va_list ap;
-       static const char *pri = "PACEWNID";
-       char idPri[OUR_IDENT_LEN + 3];
-       static const char *mode[] = {
-               "\033[0;1m\033[43;31m",
-               "\033[0;1m\033[43;39m",
-               "\033[43;39m",
-               "\033[0;1m\033[49;31m",
-               "\033[0;1m",
-               "\033[0;1m\033[49;32m",
-               "",
-               "",
-               "\033[49;39m\033[0m"
-       };
-
-       sprintf(idPri, "%s<%c>", ourIdent, pri[priority]);
-
-       if ((ourLogopt & LOG_PERROR) && (ourMaskpri & (1 << priority))) {
-               fprintf(stderr, "%s", mode[priority]);
-               fprintf(stderr, "%s: ", idPri);
+       if (ourMaskpri & (1 << priority)) {
+               va_list ap;
+               static const char *pri = "PACEWNID";
+               char idPri[OUR_IDENT_LEN + 3];
+
+               sprintf(idPri, "%s<%c>", ourIdent, pri[priority]);
+               if (ourLogopt & LOG_PERROR) {
+                       static const char *mode[] = {
+                               "\033[0;1m\033[43;31m",
+                               "\033[0;1m\033[43;39m",
+                               "\033[43;39m",
+                               "\033[0;1m\033[49;31m",
+                               "\033[0;1m",
+                               "\033[0;1m\033[49;32m",
+                               "",
+                               "",
+                               "\033[49;39m\033[0m"
+                       };
+                       fprintf(stderr, "%s", mode[priority]);
+                       fprintf(stderr, "%s: ", idPri);
+                       va_start(ap, message);
+                       vfprintf(stderr, message, ap);
+                       va_end(ap);
+                       fprintf(stderr, "%s", mode[LOG_DEBUG + 1]);
+                       fprintf(stderr, "%c", '\n');
+               }
+
+               openlog(idPri, ourLogopt & ~LOG_PERROR, ourFacility);
                va_start(ap, message);
-               vfprintf(stderr, message, ap);
+               vsyslog(priority, message, ap);
                va_end(ap);
-               fprintf(stderr, "%s", mode[LOG_DEBUG + 1]);
-               fprintf(stderr, "%c", '\n');
+               closelog();
        }
-
-       openlog(idPri, ourLogopt & ~LOG_PERROR, ourFacility);
-       va_start(ap, message);
-       vsyslog(priority, message, ap);
-       va_end(ap);
-       closelog();
 }
 
 void SYSLOG_openlog(const char *ident, int logopt, int facility) {