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);
 	}

Reply via email to