return 0;
 }
 
-static int cn_vprintf(struct core_name *cn, const char *fmt, va_list arg)
+static __printf(2, 0) int cn_vprintf(struct core_name *cn, const char *fmt,
+                                    va_list arg)
 {
        int free, need;
        va_list arg_copy;
        return -ENOMEM;
 }
 
-static int cn_printf(struct core_name *cn, const char *fmt, ...)
+static __printf(2, 3) int cn_printf(struct core_name *cn, const char *fmt, ...)
 {
        va_list arg;
        int ret;
        return ret;
 }
 
-static int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
+static __printf(2, 3)
+int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
 {
        int cur = cn->used;
        va_list arg;
                                break;
                        /* signal that caused the coredump */
                        case 's':
-                               err = cn_printf(cn, "%ld", cprm->siginfo->si_signo);
+                               err = cn_printf(cn, "%d",
+                                               cprm->siginfo->si_signo);
                                break;
                        /* UNIX time of coredump */
                        case 't': {