Module Name: src
Committed By: christos
Date: Sat Nov 14 23:31:37 UTC 2009
Modified Files:
src/dist/nvi/common: extern.h options.c
src/dist/nvi/ex: ex.c ex_global.c ex_read.c
Log Message:
Add a gcc printf attribute to the printf functions and fix the lossage caught.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/dist/nvi/common/extern.h
cvs rdiff -u -r1.6 -r1.7 src/dist/nvi/common/options.c
cvs rdiff -u -r1.4 -r1.5 src/dist/nvi/ex/ex.c
cvs rdiff -u -r1.2 -r1.3 src/dist/nvi/ex/ex_global.c \
src/dist/nvi/ex/ex_read.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/dist/nvi/common/extern.h
diff -u src/dist/nvi/common/extern.h:1.2 src/dist/nvi/common/extern.h:1.3
--- src/dist/nvi/common/extern.h:1.2 Fri Dec 5 17:51:42 2008
+++ src/dist/nvi/common/extern.h Sat Nov 14 18:31:37 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.h,v 1.2 2008/12/05 22:51:42 christos Exp $ */
+/* $NetBSD: extern.h,v 1.3 2009/11/14 23:31:37 christos Exp $ */
/* Do not edit: automatically built by build/distrib. */
SCR *api_fscreen __P((int, char *));
@@ -93,7 +93,8 @@
int mark_get __P((SCR *, ARG_CHAR_T, MARK *, mtype_t));
int mark_set __P((SCR *, ARG_CHAR_T, MARK *, int));
int mark_insdel __P((SCR *, lnop_t, db_recno_t));
-void msgq __P((SCR *, mtype_t, const char *, ...));
+void msgq __P((SCR *, mtype_t, const char *, ...))
+ __attribute__((__format__(__printf__, 3, 4)));
void msgq_wstr __P((SCR *, mtype_t, const CHAR_T *, const char *));
void msgq_str __P((SCR *, mtype_t, const char *, const char *));
void mod_rpt __P((SCR *));
@@ -158,7 +159,8 @@
int e_memcmp __P((CHAR_T *, EVENT *, size_t));
void vtrace_end __P((void));
void vtrace_init __P((char *));
-void vtrace __P((const char *, ...));
+void vtrace __P((const char *, ...))
+ __attribute__((__format__(__printf__, 1, 2)));
void *binc __P((SCR *, void *, size_t *, size_t));
int nonblank __P((SCR *, db_recno_t, size_t *));
const char *tail __P((const char *));
Index: src/dist/nvi/common/options.c
diff -u src/dist/nvi/common/options.c:1.6 src/dist/nvi/common/options.c:1.7
--- src/dist/nvi/common/options.c:1.6 Fri Aug 7 12:19:53 2009
+++ src/dist/nvi/common/options.c Sat Nov 14 18:31:37 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: options.c,v 1.6 2009/08/07 16:19:53 lukem Exp $ */
+/* $NetBSD: options.c,v 1.7 2009/11/14 23:31:37 christos Exp $ */
/*-
* Copyright (c) 1991, 1993, 1994
@@ -475,8 +475,8 @@
}
return (0);
-err: msgq(sp, M_ERR,
- "031|Unable to set default %s option", optlist[optindx].name);
+err: msgq_wstr(sp, M_ERR, optlist[optindx].name,
+ "031|Unable to set default %s option");
return (1);
}
Index: src/dist/nvi/ex/ex.c
diff -u src/dist/nvi/ex/ex.c:1.4 src/dist/nvi/ex/ex.c:1.5
--- src/dist/nvi/ex/ex.c:1.4 Sat Jan 17 22:45:50 2009
+++ src/dist/nvi/ex/ex.c Sat Nov 14 18:31:37 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: ex.c,v 1.4 2009/01/18 03:45:50 lukem Exp $ */
+/* $NetBSD: ex.c,v 1.5 2009/11/14 23:31:37 christos Exp $ */
/*-
* Copyright (c) 1992, 1993, 1994
@@ -583,8 +583,8 @@
/* Check for ex mode legality. */
if (F_ISSET(sp, SC_EX) && (F_ISSET(ecp->cmd, E_VIONLY) || newscreen)) {
- msgq(sp, M_ERR,
- "082|%s: command not available in ex mode", ecp->cmd->name);
+ msgq_wstr(sp, M_ERR, ecp->cmd->name,
+ "082|%s: command not available in ex mode");
goto err;
}
@@ -1208,10 +1208,15 @@
goto usage;
}
goto addr_verify;
- default:
+ default: {
+ const char *nstr;
+ size_t nlen;
+ INT2CHAR(sp, ecp->cmd->name, STRLEN(ecp->cmd->name) + 1,
+ nstr, nlen);
msgq(sp, M_ERR,
"085|Internal syntax table error (%s: %s)",
- ecp->cmd->name, KEY_NAME(sp, *np));
+ nstr, KEY_NAME(sp, *np));
+ }
}
}
@@ -2312,7 +2317,7 @@
if (lno != 0) {
msgq(sp, M_ERR,
"102|Illegal address: only %lu lines in the file",
- lno);
+ (unsigned long)lno);
break;
}
/* FALLTHROUGH */
@@ -2323,9 +2328,8 @@
abort();
/* NOTREACHED */
case A_ZERO:
- msgq(sp, M_ERR,
- "104|The %s command doesn't permit an address of 0",
- cp->name);
+ msgq_wstr(sp, M_ERR, cp->name,
+ "104|The %s command doesn't permit an address of 0");
break;
}
return;
Index: src/dist/nvi/ex/ex_global.c
diff -u src/dist/nvi/ex/ex_global.c:1.2 src/dist/nvi/ex/ex_global.c:1.3
--- src/dist/nvi/ex/ex_global.c:1.2 Fri Dec 5 17:51:42 2008
+++ src/dist/nvi/ex/ex_global.c Sat Nov 14 18:31:37 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: ex_global.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */
+/* $NetBSD: ex_global.c,v 1.3 2009/11/14 23:31:37 christos Exp $ */
/*-
* Copyright (c) 1992, 1993, 1994
@@ -80,9 +80,8 @@
NEEDFILE(sp, cmdp);
if (F_ISSET(sp, SC_EX_GLOBAL)) {
- msgq(sp, M_ERR,
- "124|The %s command can't be used as part of a global or v command",
- cmdp->cmd->name);
+ msgq_wstr(sp, M_ERR, cmdp->cmd->name,
+ "124|The %s command can't be used as part of a global or v command");
return (1);
}
Index: src/dist/nvi/ex/ex_read.c
diff -u src/dist/nvi/ex/ex_read.c:1.2 src/dist/nvi/ex/ex_read.c:1.3
--- src/dist/nvi/ex/ex_read.c:1.2 Fri Dec 5 17:51:42 2008
+++ src/dist/nvi/ex/ex_read.c Sat Nov 14 18:31:37 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: ex_read.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */
+/* $NetBSD: ex_read.c,v 1.3 2009/11/14 23:31:37 christos Exp $ */
/*-
* Copyright (c) 1992, 1993, 1994
@@ -345,7 +345,8 @@
if (!silent) {
char *q = msg_print(sp, name, &nf);
msgq(sp, M_INFO,
- "148|%s: %lu lines, %lu characters", q, lcnt, ccnt);
+ "148|%s: %lu lines, %lu characters", q, (unsigned long)lcnt,
+ (unsigned long)ccnt);
if (nf)
FREE_SPACE(sp, q, 0);
}