FILE *self;
static char line[64];
char *p = NULL;
+ char *sbuf;
if ((self = fopen("/proc/self/status", "r")) != NULL) {
while (fgets(line, sizeof(line), self)) {
if (!strncmp(line, "Name:", 5)) {
- strtok(line, "\t\n");
- p = strtok(NULL, "\t\n");
+ strtok_r(line, "\t\n", &sbuf);
+ p = strtok_r(NULL, "\t\n", &sbuf);
break;
}
}
_ulog_initialized = 1;
}
+__attribute__((format(printf, 2, 0)))
static void ulog_kmsg(int priority, const char *fmt, va_list ap)
{
FILE *kmsg;
- if ((kmsg = fopen("/dev/kmsg", "w")) != NULL) {
+ if ((kmsg = fopen("/dev/kmsg", "r+")) != NULL) {
fprintf(kmsg, "<%u>", priority);
if (_ulog_ident)
}
}
+__attribute__((format(printf, 2, 0)))
static void ulog_stdio(int priority, const char *fmt, va_list ap)
{
FILE *out = stderr;
- if (priority == LOG_INFO || priority == LOG_NOTICE)
- out = stdout;
-
if (_ulog_ident)
fprintf(out, "%s: ", _ulog_ident);
vfprintf(out, fmt, ap);
}
+__attribute__((format(printf, 2, 0)))
static void ulog_syslog(int priority, const char *fmt, va_list ap)
{
vsyslog(priority, fmt, ap);