--- Gnu-Mach/linux/dev/kernel/printk.c 2020/09/02 04:41:39 1.1.1.1 +++ Gnu-Mach/linux/dev/kernel/printk.c 2020/09/02 04:45:58 1.1.1.2 @@ -26,6 +26,9 @@ #define MACH_INCLUDE #include #include +#include +#include +#include static char buf[2048]; @@ -38,16 +41,16 @@ int printk (char *fmt, ...) { va_list args; - int n, flags; - extern void cnputc (); - extern int linux_vsprintf (char *buf, char *fmt,...); + int n; + unsigned long flags; char *p, *msg, *buf_end; static int msg_level = -1; save_flags (flags); cli (); va_start (args, fmt); - n = linux_vsprintf (buf + 3, fmt, args); + n = vsnprintf (buf + 3, sizeof (buf) - 3, fmt, args); + assert (n <= sizeof (buf) - 3); buf_end = buf + 3 + n; va_end (args); for (p = buf + 3; p < buf_end; p++)