Module Name:    src
Committed By:   dholland
Date:           Sun Aug 11 05:42:41 UTC 2013

Modified Files:
        src/libexec/getty: Makefile extern.h gettytab.h init.c main.c subr.c

Log Message:
Pass WARNS=5.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/libexec/getty/Makefile
cvs rdiff -u -r1.6 -r1.7 src/libexec/getty/extern.h
cvs rdiff -u -r1.16 -r1.17 src/libexec/getty/gettytab.h
cvs rdiff -u -r1.17 -r1.18 src/libexec/getty/init.c
cvs rdiff -u -r1.60 -r1.61 src/libexec/getty/main.c
cvs rdiff -u -r1.33 -r1.34 src/libexec/getty/subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/getty/Makefile
diff -u src/libexec/getty/Makefile:1.19 src/libexec/getty/Makefile:1.20
--- src/libexec/getty/Makefile:1.19	Wed Feb  3 15:34:43 2010
+++ src/libexec/getty/Makefile	Sun Aug 11 05:42:41 2013
@@ -1,8 +1,6 @@
-#	$NetBSD: Makefile,v 1.19 2010/02/03 15:34:43 roy Exp $
+#	$NetBSD: Makefile,v 1.20 2013/08/11 05:42:41 dholland Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/4/93
 
-WARNS?=	2	# XXX: many const & sign-compare issues
-
 PROG=	getty
 SRCS=	main.c init.c subr.c
 DPADD+=	${LIBUTIL} ${LIBTERMINFO}

Index: src/libexec/getty/extern.h
diff -u src/libexec/getty/extern.h:1.6 src/libexec/getty/extern.h:1.7
--- src/libexec/getty/extern.h:1.6	Thu Aug  7 09:46:41 2003
+++ src/libexec/getty/extern.h	Sun Aug 11 05:42:41 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: extern.h,v 1.6 2003/08/07 09:46:41 agc Exp $	*/
+/*	$NetBSD: extern.h,v 1.7 2013/08/11 05:42:41 dholland Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -34,17 +34,17 @@
 struct delayval;
 
 int	 adelay(int, struct delayval *);
-char	*autobaud(void);
+const char *autobaud(void);
 int	 delaybits(void);
-void	 edithost(char *);
+void	 edithost(const char *);
 void	 gendefaults(void);
 int	 getent(char *, char *);
 int	 getflag(char *);
 long	 getnum(char *);
 char	*getstr(char *, char **);
-void	 gettable(char *, char *);
+void	 gettable(const char *, char *);
 void	 makeenv(char *[]);
-char	*portselector(void);
+const char *portselector(void);
 void	 set_ttydefaults(int);
 void	 setchars(void);
 void	 setdefaults(void);

Index: src/libexec/getty/gettytab.h
diff -u src/libexec/getty/gettytab.h:1.16 src/libexec/getty/gettytab.h:1.17
--- src/libexec/getty/gettytab.h:1.16	Thu Nov 16 04:31:24 2006
+++ src/libexec/getty/gettytab.h	Sun Aug 11 05:42:41 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: gettytab.h,v 1.16 2006/11/16 04:31:24 christos Exp $	*/
+/*	$NetBSD: gettytab.h,v 1.17 2013/08/11 05:42:41 dholland Exp $	*/
 
 /*
  * Copyright (c) 1983, 1993, 1994
@@ -35,20 +35,20 @@
  * Getty description definitions.
  */
 struct	gettystrs {
-	char	*field;		/* name to lookup in gettytab */
-	char	*defalt;	/* value we find by looking in defaults */
+	const char *field;	/* name to lookup in gettytab */
+	const char *defalt;	/* value we find by looking in defaults */
 	char	*value;		/* value that we find there */
 };
 
 struct	gettynums {
-	char	*field;		/* name to lookup */
+	const char *field;	/* name to lookup */
 	long	defalt;		/* number we find in defaults */
 	long	value;		/* number we find there */
 	int	set;		/* we actually got this one */
 };
 
 struct gettyflags {
-	char	*field;		/* name to lookup */
+	const char *field;	/* name to lookup */
 	char	invrt;		/* name existing in gettytab --> false */
 	char	defalt;		/* true/false in defaults */
 	char	value;		/* true/false flag */

Index: src/libexec/getty/init.c
diff -u src/libexec/getty/init.c:1.17 src/libexec/getty/init.c:1.18
--- src/libexec/getty/init.c:1.17	Mon Dec  3 09:54:24 2007
+++ src/libexec/getty/init.c	Sun Aug 11 05:42:41 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: init.c,v 1.17 2007/12/03 09:54:24 isaki Exp $	*/
+/*	$NetBSD: init.c,v 1.18 2013/08/11 05:42:41 dholland Exp $	*/
 
 /*
  * Copyright (c) 1983, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "from: @(#)init.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: init.c,v 1.17 2007/12/03 09:54:24 isaki Exp $");
+__RCSID("$NetBSD: init.c,v 1.18 2013/08/11 05:42:41 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -44,6 +44,7 @@ __RCSID("$NetBSD: init.c,v 1.17 2007/12/
  * Melbourne getty.
  */
 
+#include <stddef.h>
 #include <termios.h>
 
 #include "gettytab.h"
@@ -55,92 +56,92 @@ extern	char hostname[];
 #define M(a) ((char *)&tmode.c_cc[a])
 
 struct	gettystrs gettystrs[] = {
-	{ "nx" },		/* next table */
-	{ "cl" },		/* screen clear characters */
-	{ "im" },		/* initial message */
-	{ "lm", "login: " },	/* login message */
-	{ "er", M(VERASE) },	/* erase character */
-	{ "kl", M(VKILL) },	/* kill character */
-	{ "et", M(VEOF) },	/* eof chatacter (eot) */
-	{ "pc", "" },		/* pad character */
-	{ "tt" },		/* terminal type */
-	{ "ev" },		/* environment */
-	{ "lo", _PATH_LOGIN },	/* login program */
-	{ "hn", hostname },	/* host name */
-	{ "he" },		/* host name edit */
-	{ "in", M(VINTR) },	/* interrupt char */
-	{ "qu", M(VQUIT) },	/* quit char */
-	{ "xn", M(VSTART) },	/* XON (start) char */
-	{ "xf", M(VSTOP) },	/* XOFF (stop) char */
-	{ "bk", M(VEOL) },	/* brk char (alt \n) */
-	{ "su", M(VSUSP) },	/* suspend char */
-	{ "ds", M(VDSUSP) },	/* delayed suspend */
-	{ "rp", M(VREPRINT) },	/* reprint char */
-	{ "fl", M(VDISCARD) },	/* flush output */
-	{ "we", M(VWERASE) },	/* word erase */
-	{ "ln", M(VLNEXT) },	/* literal next */
-	{ "st", M(VSTATUS) },	/* status */
-	{ "b2", M(VEOL2) },	/* alt brk char */
-	{ "pp" },		/* ppp login program */
-	{ "if" },		/* sysv-like 'issue' filename */
-	{ "al" },		/* user to auto-login */
-	{ 0 }
+	{ "nx", NULL,        NULL },	/* next table */
+	{ "cl", NULL,        NULL },	/* screen clear characters */
+	{ "im", NULL,        NULL },	/* initial message */
+	{ "lm", "login: ",   NULL },	/* login message */
+	{ "er", M(VERASE),   NULL },	/* erase character */
+	{ "kl", M(VKILL),    NULL },	/* kill character */
+	{ "et", M(VEOF),     NULL },	/* eof chatacter (eot) */
+	{ "pc", "",          NULL },	/* pad character */
+	{ "tt", NULL,        NULL },	/* terminal type */
+	{ "ev", NULL,        NULL },	/* environment */
+	{ "lo", _PATH_LOGIN, NULL },	/* login program */
+	{ "hn", hostname,    NULL },	/* host name */
+	{ "he", NULL,        NULL },	/* host name edit */
+	{ "in", M(VINTR),    NULL },	/* interrupt char */
+	{ "qu", M(VQUIT),    NULL },	/* quit char */
+	{ "xn", M(VSTART),   NULL },	/* XON (start) char */
+	{ "xf", M(VSTOP),    NULL },	/* XOFF (stop) char */
+	{ "bk", M(VEOL),     NULL },	/* brk char (alt \n) */
+	{ "su", M(VSUSP),    NULL },	/* suspend char */
+	{ "ds", M(VDSUSP),   NULL },	/* delayed suspend */
+	{ "rp", M(VREPRINT), NULL },	/* reprint char */
+	{ "fl", M(VDISCARD), NULL },	/* flush output */
+	{ "we", M(VWERASE),  NULL },	/* word erase */
+	{ "ln", M(VLNEXT),   NULL },	/* literal next */
+	{ "st", M(VSTATUS),  NULL },	/* status */
+	{ "b2", M(VEOL2),    NULL },	/* alt brk char */
+	{ "pp", NULL,        NULL },	/* ppp login program */
+	{ "if", NULL,        NULL },	/* sysv-like 'issue' filename */
+	{ "al", NULL,        NULL },	/* user to auto-login */
+	{ NULL, NULL, NULL }
 };
 
 struct	gettynums gettynums[] = {
-	{ "is" },			/* input speed */
-	{ "os" },			/* output speed */
-	{ "sp" },			/* both speeds */
-	{ "nd" },			/* newline delay */
-	{ "cd" },			/* carriage-return delay */
-	{ "td" },			/* tab delay */
-	{ "fd" },			/* form-feed delay */
-	{ "bd" },			/* backspace delay */
-	{ "to" },			/* timeout */
-	{ "f0" },			/* output flags */
-	{ "f1" },			/* input flags */
-	{ "f2" },			/* user mode flags */
-	{ "pf" },			/* delay before flush at 1st prompt */
-	{ "c0" },			/* output c_flags */
-	{ "c1" },			/* input c_flags */
-	{ "c2" },			/* user mode c_flags */
-	{ "i0" },			/* output i_flags */
-	{ "i1" },			/* input i_flags */
-	{ "i2" },			/* user mode i_flags */
-	{ "l0" },			/* output l_flags */
-	{ "l1" },			/* input l_flags */
-	{ "l2" },			/* user mode l_flags */
-	{ "o0" },			/* output o_flags */
-	{ "o1" },			/* input o_flags */
-	{ "o2" },			/* user mode o_flags */
-	{ 0 }
+	{ "is", 0,0,0 },		/* input speed */
+	{ "os", 0,0,0 },		/* output speed */
+	{ "sp", 0,0,0 },		/* both speeds */
+	{ "nd", 0,0,0 },		/* newline delay */
+	{ "cd", 0,0,0 },		/* carriage-return delay */
+	{ "td", 0,0,0 },		/* tab delay */
+	{ "fd", 0,0,0 },		/* form-feed delay */
+	{ "bd", 0,0,0 },		/* backspace delay */
+	{ "to", 0,0,0 },		/* timeout */
+	{ "f0", 0,0,0 },		/* output flags */
+	{ "f1", 0,0,0 },		/* input flags */
+	{ "f2", 0,0,0 },		/* user mode flags */
+	{ "pf", 0,0,0 },		/* delay before flush at 1st prompt */
+	{ "c0", 0,0,0 },		/* output c_flags */
+	{ "c1", 0,0,0 },		/* input c_flags */
+	{ "c2", 0,0,0 },		/* user mode c_flags */
+	{ "i0", 0,0,0 },		/* output i_flags */
+	{ "i1", 0,0,0 },		/* input i_flags */
+	{ "i2", 0,0,0 },		/* user mode i_flags */
+	{ "l0", 0,0,0 },		/* output l_flags */
+	{ "l1", 0,0,0 },		/* input l_flags */
+	{ "l2", 0,0,0 },		/* user mode l_flags */
+	{ "o0", 0,0,0 },		/* output o_flags */
+	{ "o1", 0,0,0 },		/* input o_flags */
+	{ "o2", 0,0,0 },		/* user mode o_flags */
+	{ 0,0,0,0 }
 };
 
 struct	gettyflags gettyflags[] = {
-	{ "ht",	0 },			/* has tabs */
-	{ "nl",	1 },			/* has newline char */
-	{ "ep",	0 },			/* even parity */
-	{ "op",	0 },			/* odd parity */
-	{ "ap",	0 },			/* any parity */
-	{ "ec",	1 },			/* no echo */
-	{ "co",	0 },			/* console special */
-	{ "cb",	0 },			/* crt backspace */
-	{ "ck",	0 },			/* crt kill */
-	{ "ce",	0 },			/* crt erase */
-	{ "pe",	0 },			/* printer erase */
-	{ "rw",	1 },			/* don't use raw */
-	{ "xc",	1 },			/* don't ^X ctl chars */
-	{ "lc",	0 },			/* terminal las lower case */
-	{ "uc",	0 },			/* terminal has no lower case */
-	{ "ig",	0 },			/* ignore garbage */
-	{ "ps",	0 },			/* do port selector speed select */
-	{ "hc",	1 },			/* don't set hangup on close */
-	{ "ub", 0 },			/* unbuffered output */
-	{ "ab", 0 },			/* auto-baud detect with '\r' */
-	{ "dx", 0 },			/* set decctlq */
-	{ "np", 0 },			/* no parity at all (8bit chars) */
-	{ "mb", 0 },			/* do MDMBUF flow control */
-	{ "cs", 0 },			/* clear screen based on term type */
-	{ "nn", 0 },			/* don't prompt for login name */
-	{ 0 }
+	{ "ht",	0, 0,0,0 },		/* has tabs */
+	{ "nl",	1, 0,0,0 },		/* has newline char */
+	{ "ep",	0, 0,0,0 },		/* even parity */
+	{ "op",	0, 0,0,0 },		/* odd parity */
+	{ "ap",	0, 0,0,0 },		/* any parity */
+	{ "ec",	1, 0,0,0 },		/* no echo */
+	{ "co",	0, 0,0,0 },		/* console special */
+	{ "cb",	0, 0,0,0 },		/* crt backspace */
+	{ "ck",	0, 0,0,0 },		/* crt kill */
+	{ "ce",	0, 0,0,0 },		/* crt erase */
+	{ "pe",	0, 0,0,0 },		/* printer erase */
+	{ "rw",	1, 0,0,0 },		/* don't use raw */
+	{ "xc",	1, 0,0,0 },		/* don't ^X ctl chars */
+	{ "lc",	0, 0,0,0 },		/* terminal las lower case */
+	{ "uc",	0, 0,0,0 },		/* terminal has no lower case */
+	{ "ig",	0, 0,0,0 },		/* ignore garbage */
+	{ "ps",	0, 0,0,0 },		/* do port selector speed select */
+	{ "hc",	1, 0,0,0 },		/* don't set hangup on close */
+	{ "ub", 0, 0,0,0 },		/* unbuffered output */
+	{ "ab", 0, 0,0,0 },		/* auto-baud detect with '\r' */
+	{ "dx", 0, 0,0,0 },		/* set decctlq */
+	{ "np", 0, 0,0,0 },		/* no parity at all (8bit chars) */
+	{ "mb", 0, 0,0,0 },		/* do MDMBUF flow control */
+	{ "cs", 0, 0,0,0 },		/* clear screen based on term type */
+	{ "nn", 0, 0,0,0 },		/* don't prompt for login name */
+	{ NULL,0,0,0,0 }
 };

Index: src/libexec/getty/main.c
diff -u src/libexec/getty/main.c:1.60 src/libexec/getty/main.c:1.61
--- src/libexec/getty/main.c:1.60	Sun Nov  4 21:14:59 2012
+++ src/libexec/getty/main.c	Sun Aug 11 05:42:41 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.60 2012/11/04 21:14:59 christos Exp $	*/
+/*	$NetBSD: main.c,v 1.61 2013/08/11 05:42:41 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1980, 1993
@@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
 #if 0
 static char sccsid[] = "from: @(#)main.c	8.1 (Berkeley) 6/20/93";
 #else
-__RCSID("$NetBSD: main.c,v 1.60 2012/11/04 21:14:59 christos Exp $");
+__RCSID("$NetBSD: main.c,v 1.61 2013/08/11 05:42:41 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -183,11 +183,13 @@ int
 main(int argc, char *argv[], char *envp[])
 {
 	const char *progname;
-	char *tname;
-	int repcnt = 0, failopenlogged = 0, uugetty = 0, first_time = 1;
+	const char *tname;
+	int repcnt = 0, failopenlogged = 0, first_time = 1;
 	struct rlimit limit;
 	struct passwd *pw;
 	int rval;
+	/* gcc 4.5 claims longjmp can clobber this, but I don't see how */
+	volatile int uugetty = 0;
 
 	(void)signal(SIGINT, SIG_IGN);
 	openlog("getty", LOG_PID, LOG_AUTH);

Index: src/libexec/getty/subr.c
diff -u src/libexec/getty/subr.c:1.33 src/libexec/getty/subr.c:1.34
--- src/libexec/getty/subr.c:1.33	Thu Nov 16 04:31:24 2006
+++ src/libexec/getty/subr.c	Sun Aug 11 05:42:41 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr.c,v 1.33 2006/11/16 04:31:24 christos Exp $	*/
+/*	$NetBSD: subr.c,v 1.34 2013/08/11 05:42:41 dholland Exp $	*/
 
 /*
  * Copyright (c) 1983, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "from: @(#)subr.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: subr.c,v 1.33 2006/11/16 04:31:24 christos Exp $");
+__RCSID("$NetBSD: subr.c,v 1.34 2013/08/11 05:42:41 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -50,6 +50,7 @@ __RCSID("$NetBSD: subr.c,v 1.33 2006/11/
 #include <termios.h>
 #include <unistd.h>
 #include <poll.h>
+#include <util.h>
 
 #include "extern.h"
 #include "gettytab.h"
@@ -63,7 +64,7 @@ static void	compatflags(long);
  * Get a table entry.
  */
 void
-gettable(char *name, char *buf)
+gettable(const char *name, char *buf)
 {
 	struct gettystrs *sp;
 	struct gettynums *np;
@@ -71,7 +72,7 @@ gettable(char *name, char *buf)
 	long n;
 	const char *dba[2];
 	dba[0] = _PATH_GETTYTAB;
-	dba[1] = 0;
+	dba[1] = NULL;
 
 	if (cgetent(&buf, dba, name) != 0)
 		return;
@@ -136,7 +137,7 @@ setdefaults(void)
 
 	for (sp = gettystrs; sp->field; sp++)
 		if (!sp->value)
-			sp->value = sp->defalt;
+			sp->value = estrdup(sp->defalt);
 	for (np = gettynums; np->field; np++)
 		if (!np->set)
 			np->value = np->defalt;
@@ -556,7 +557,7 @@ adelay(int ms, struct delayval *dp)
 char	editedhost[MAXHOSTNAMELEN];
 
 void
-edithost(char *pat)
+edithost(const char *pat)
 {
 	char *host = HN;
 	char *res = editedhost;
@@ -627,8 +628,8 @@ makeenv(char *env[])
  * The routine below returns the terminal type mapped from derived speed.
  */
 struct	portselect {
-	char	*ps_baud;
-	char	*ps_type;
+	const char *ps_baud;
+	const char *ps_type;
 } portspeeds[] = {
 	{ "B110",	"std.110" },
 	{ "B134",	"std.134" },
@@ -640,15 +641,16 @@ struct	portselect {
 	{ "B4800",	"std.4800" },
 	{ "B9600",	"std.9600" },
 	{ "B19200",	"std.19200" },
-	{ 0 }
+	{ NULL, NULL }
 };
 
-char *
+const char *
 portselector(void)
 {
-	char c, baud[20], *type = "default";
+	char c, baud[20];
+	const char *type = "default";
 	struct portselect *ps;
-	int len;
+	size_t len;
 
 	(void)alarm(5*60);
 	for (len = 0; len < sizeof (baud) - 1; len++) {
@@ -678,12 +680,13 @@ portselector(void)
  */
 #include <sys/time.h>
 
-char *
+const char *
 autobaud(void)
 {
 	struct pollfd set[1];
 	struct timespec timeout;
-	char c, *type = "9600-baud";
+	char c;
+	const char *type = "9600-baud";
 
 	(void)tcflush(0, TCIOFLUSH);
 	set[0].fd = STDIN_FILENO;

Reply via email to