diff -upk.orig sysklogd-1.4.2.orig/attribute.h sysklogd-1.4.2/attribute.h --- sysklogd-1.4.2.orig/attribute.h 1970-01-01 00:00:00 +0000 +++ sysklogd-1.4.2/attribute.h 2005-08-18 12:02:22 +0000 @@ -0,0 +1,23 @@ +#ifndef SYSKLOGD_ATTRIBUTE_H_ +#define SYSKLOGD_ATTRIBUTE_H_ + +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SYSKLOGD_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define SYSKLOGD_GNUC_PREREQ(maj, min) 0 +#endif + +#if SYSKLOGD_GNUC_PREREQ(2,5) +# define SYSKLOGD_FORMAT(params) __attribute__((__format__ params)) +#else +# define SYSKLOGD_FORMAT(params) +#endif + +#if SYSKLOGD_GNUC_PREREQ(3,3) +# define SYSKLOGD_NONNULL(params) __attribute__((__nonnull__ params)) +#else +# define SYSKLOGD_NONNULL(params) +#endif + +#endif /* SYSKLOGD_ATTRIBUTE_H_ */ diff -upk.orig sysklogd-1.4.2.orig/klogd.h sysklogd-1.4.2/klogd.h --- sysklogd-1.4.2.orig/klogd.h 1997-06-13 09:35:54 +0000 +++ sysklogd-1.4.2/klogd.h 2005-08-18 12:03:57 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include "attribute.h" /* Function prototypes. */ @@ -37,4 +38,5 @@ extern int InitKsyms(char *); extern int InitMsyms(void); extern char * ExpandKadds(char *, char *); extern void SetParanoiaLevel(int); -extern void Syslog(int priority, char *fmt, ...); +extern void Syslog(int priority, char *fmt, ...) + SYSKLOGD_FORMAT((__printf__, 2, 3)) SYSKLOGD_NONNULL((2)); diff -upk.orig sysklogd-1.4.2.orig/ksym_mod.c sysklogd-1.4.2/ksym_mod.c --- sysklogd-1.4.2.orig/ksym_mod.c 2004-03-31 15:47:08 +0000 +++ sysklogd-1.4.2/ksym_mod.c 2004-08-09 16:54:03 +0000 @@ -412,7 +412,7 @@ static int AddModule(address, symbol) if ( lseek64(memfd, address, SEEK_SET) < 0 ) { Syslog(LOG_WARNING, "Error seeking in /dev/kmem\n"); - Syslog(LOG_WARNING, "Symbol %s, value %08x\n", symbol, address); + Syslog(LOG_WARNING, "Symbol %s, value %08lx\n", symbol, address); return(0); } if ( read(memfd, \ diff -upk.orig sysklogd-1.4.2.orig/syslogd.c sysklogd-1.4.2/syslogd.c --- sysklogd-1.4.2.orig/syslogd.c 2005-08-18 11:31:37 +0000 +++ sysklogd-1.4.2/syslogd.c 2005-08-18 12:02:53 +0000 @@ -528,6 +528,7 @@ static char sccsid[] = "@(#)syslogd.c 5. #include "pidfile.h" #endif #include "version.h" +#include "attribute.h" #if defined(__linux__) #include @@ -798,7 +799,8 @@ int decode(char *name, struct code *code #if defined(__GLIBC__) #define dprintf mydprintf #endif /* __GLIBC__ */ -static void dprintf(char *, ...); +static void dprintf(char *, ...) + SYSKLOGD_FORMAT((__printf__, 1, 2)) SYSKLOGD_NONNULL((1)); static void allocate_log(void); void sighup_handler(); @@ -1791,8 +1793,8 @@ void fprintlog(f, from, flags, msg) else { dprintf(" %s\n", f->f_un.f_forw.f_hname); dprintf("Forwarding suspension not over, time " \ - "left: %d.\n", INET_SUSPEND_TIME - \ - fwd_suspend); + "left: %ld.\n", + (long)(INET_SUSPEND_TIME - fwd_suspend)); } break; @@ -1829,7 +1831,7 @@ void fprintlog(f, from, flags, msg) } else dprintf("Forwarding suspension not over, time " \ - "left: %d\n", INET_SUSPEND_TIME - fwd_suspend); + "left: %ld\n", (long)(INET_SUSPEND_TIME - fwd_suspend)); break; case F_FORW: