]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/err_util.c
gssd: Use same style for including config.h that rest of nfs-utils uses
[nfs-utils.git] / utils / gssd / err_util.c
index ca9b0286e03037fa6e3663d498e185b05a54048a..fe09eda6761067d9f7d50bd9201dd0696bb285ad 100644 (file)
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
 #include <stdio.h>
 #include <stdarg.h>
-#include <syslog.h>
 #include <string.h>
-#include "err_util.h"
+#include "xlog.h"
 
 static int verbosity = 0;
 static int fg = 0;
 
-static char message_buf[500];
-static char tmp_buf[500];
-
 void initerr(char *progname, int set_verbosity, int set_fg)
 {
        verbosity = set_verbosity;
        fg = set_fg;
        if (!fg)
-               openlog(progname, LOG_PID, LOG_DAEMON);
+               xlog_open(progname);
 }
 
+
 void printerr(int priority, char *format, ...)
 {
        va_list args;
-       int ret;
 
-       /* aggregate lines: only print buffer when we get to the end of a
-        * line or run out of space: */
+       /* Don't bother formatting a message we're never going to print! */
+       if (priority > verbosity)
+               return;
+
        va_start(args, format);
-       ret = vsnprintf(tmp_buf, sizeof(tmp_buf), format, args);
+       if (fg)
+               vfprintf(stderr, format, args);
+       else
+               xlog_backend(L_ERROR, format, args);
        va_end(args);
-       if ((ret < 0) || (ret >= sizeof(tmp_buf)))
-               goto output;
-       if (strlen(tmp_buf) + strlen(message_buf) + 1 > sizeof(message_buf))
-                       goto output;
-       strcat(message_buf, tmp_buf);
-       if (tmp_buf[strlen(tmp_buf) - 1] == '\n')
-               goto output;
-       return;
-output:
-       priority -= verbosity;
-       if (priority < 0)
-               priority = 0;
-       if (fg) {
-               if (priority == 0)
-                       fprintf(stderr, "%s", message_buf);
-       } else {
-               int sys_pri;
-               switch (priority) {
-                       case 0:
-                               sys_pri = LOG_ERR;
-                               break;
-                       case 1:
-                               sys_pri = LOG_DEBUG;
-                               break;
-                       default:
-                               goto out;
-               }
-               syslog(sys_pri, "%s", message_buf);
-       }
-out:
-       memset(message_buf, 0, sizeof(message_buf));
+}
+
+int get_verbosity(void)
+{
+       return verbosity;
 }