Module Name:    src
Committed By:   christos
Date:           Tue Aug 16 16:25:16 UTC 2011

Modified Files:
        src/lib/libedit: Makefile chared.c chartype.c eln.c filecomplete.c
            keymacro.c map.c parse.c read.c readline.c search.c terminal.c
            tokenizer.c tty.c tty.h vi.c

Log Message:
re-enable -Wconversion


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/lib/libedit/Makefile
cvs rdiff -u -r1.34 -r1.35 src/lib/libedit/chared.c
cvs rdiff -u -r1.9 -r1.10 src/lib/libedit/chartype.c
cvs rdiff -u -r1.12 -r1.13 src/lib/libedit/eln.c src/lib/libedit/tty.h
cvs rdiff -u -r1.29 -r1.30 src/lib/libedit/filecomplete.c \
    src/lib/libedit/map.c
cvs rdiff -u -r1.6 -r1.7 src/lib/libedit/keymacro.c
cvs rdiff -u -r1.25 -r1.26 src/lib/libedit/parse.c
cvs rdiff -u -r1.66 -r1.67 src/lib/libedit/read.c
cvs rdiff -u -r1.98 -r1.99 src/lib/libedit/readline.c
cvs rdiff -u -r1.28 -r1.29 src/lib/libedit/search.c
cvs rdiff -u -r1.7 -r1.8 src/lib/libedit/terminal.c
cvs rdiff -u -r1.20 -r1.21 src/lib/libedit/tokenizer.c
cvs rdiff -u -r1.39 -r1.40 src/lib/libedit/tty.c src/lib/libedit/vi.c

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

Modified files:

Index: src/lib/libedit/Makefile
diff -u src/lib/libedit/Makefile:1.48 src/lib/libedit/Makefile:1.49
--- src/lib/libedit/Makefile:1.48	Tue Aug  2 13:22:02 2011
+++ src/lib/libedit/Makefile	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.48 2011/08/02 17:22:02 joerg Exp $
+#	$NetBSD: Makefile,v 1.49 2011/08/16 16:25:15 christos Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
 
 USE_SHLIBDIR=	yes
@@ -12,9 +12,7 @@
 .include "bsd.own.mk"
 
 COPTS+=	-Wunused-parameter
-.if defined(HAVE_GCC) && ${HAVE_GCC} != 45
 CWARNFLAGS.gcc+=	-Wconversion
-.endif
 
 OSRCS=	chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \
 	hist.c keymacro.c map.c chartype.c \

Index: src/lib/libedit/chared.c
diff -u src/lib/libedit/chared.c:1.34 src/lib/libedit/chared.c:1.35
--- src/lib/libedit/chared.c:1.34	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/chared.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: chared.c,v 1.34 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: chared.c,v 1.35 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)chared.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: chared.c,v 1.34 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: chared.c,v 1.35 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -63,8 +63,8 @@
 	size_t size;
 
 	/* Save entire line for undo */
-	size = el->el_line.lastchar - el->el_line.buffer;
-	vu->len = size;
+	size = (size_t)(el->el_line.lastchar - el->el_line.buffer);
+	vu->len = (ssize_t)size;
 	vu->cursor = (int)(el->el_line.cursor - el->el_line.buffer);
 	(void)memcpy(vu->buf, el->el_line.buffer, size * sizeof(*vu->buf));
 
@@ -84,7 +84,7 @@
 {
 	c_kill_t *k = &el->el_chared.c_kill;
 
-	(void)memcpy(k->buf, ptr, size * sizeof(*k->buf));
+	(void)memcpy(k->buf, ptr, (size_t)size * sizeof(*k->buf));
 	k->last = k->buf + size;
 }
 
@@ -500,7 +500,7 @@
 	size_t sz, newsz;
 	Char *newbuffer, *oldbuf, *oldkbuf;
 
-	sz = el->el_line.limit - el->el_line.buffer + EL_LEAVE;
+	sz = (size_t)(el->el_line.limit - el->el_line.buffer + EL_LEAVE);
 	newsz = sz * 2;
 	/*
 	 * If newly required length is longer than current buffer, we need
@@ -655,8 +655,8 @@
 	Char *cp = el->el_line.buffer;
 
 	if (prompt) {
-		len = Strlen(prompt);
-		(void)memcpy(cp, prompt, len * sizeof(*cp));
+		len = (ssize_t)Strlen(prompt);
+		(void)memcpy(cp, prompt, (size_t)len * sizeof(*cp));
 		cp += len;
 	}
 	len = 0;

Index: src/lib/libedit/chartype.c
diff -u src/lib/libedit/chartype.c:1.9 src/lib/libedit/chartype.c:1.10
--- src/lib/libedit/chartype.c:1.9	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/chartype.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: chartype.c,v 1.9 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: chartype.c,v 1.10 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
  */
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: chartype.c,v 1.9 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: chartype.c,v 1.10 2011/08/16 16:25:15 christos Exp $");
 #endif /* not lint && not SCCSID */
 #include "el.h"
 #include <stdlib.h>
@@ -89,7 +89,7 @@
 
 	dst = conv->cbuff;
 	while (*s) {
-		used = conv->csize - (dst - conv->cbuff);
+		used = (ssize_t)(conv->csize - (size_t)(dst - conv->cbuff));
 		if (used < 5) {
 			used = dst - conv->cbuff;
 			ct_conv_buff_resize(conv, conv->csize + CT_BUFSIZ,
@@ -149,7 +149,7 @@
 	if (!conv->wsize)
 		return NULL;
 
-	wargv = el_malloc(argc * sizeof(*wargv));
+	wargv = el_malloc((size_t)argc * sizeof(*wargv));
 
 	for (i = 0, p = conv->wbuff; i < argc; ++i) {
 		if (!argv[i]) {   /* don't pass null pointers to mbstowcs */
@@ -157,14 +157,14 @@
 			continue;
 		} else {
 			wargv[i] = p;
-			bytes = mbstowcs(p, argv[i], bufspace);
+			bytes = (ssize_t)mbstowcs(p, argv[i], bufspace);
 		}
 		if (bytes == -1) {
 			el_free(wargv);
 			return NULL;
 		} else
 			bytes++;  /* include '\0' in the count */
-		bufspace -= bytes;
+		bufspace -= (size_t)bytes;
 		p += bytes;
 	}
 
@@ -221,7 +221,7 @@
 	}
 	dst = buff;
 	while (*s) {
-		used = ct_visual_char(dst, buffsize - (dst - buff), *s);
+		used = ct_visual_char(dst, buffsize - (size_t)(dst - buff), *s);
 		if (used == -1) { /* failed to encode, need more buffer space */
 			used = dst - buff;
 			buffsize += CT_BUFSIZ;

Index: src/lib/libedit/eln.c
diff -u src/lib/libedit/eln.c:1.12 src/lib/libedit/eln.c:1.13
--- src/lib/libedit/eln.c:1.12	Thu Jul 28 16:50:55 2011
+++ src/lib/libedit/eln.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: eln.c,v 1.12 2011/07/28 20:50:55 christos Exp $	*/
+/*	$NetBSD: eln.c,v 1.13 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.12 2011/07/28 20:50:55 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.13 2011/08/16 16:25:15 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include "histedit.h"
@@ -57,7 +57,7 @@
 		el->el_flags &= ~IGNORE_EXTCHARS;
 
 	if (num_read > 0)
-		*cp = (unsigned char)wc;
+		*cp = (char)wc;
 	return num_read;
 }
 
@@ -237,7 +237,7 @@
 	case EL_PROMPT_ESC: /* el_pfunc_t, char */
 	case EL_RPROMPT_ESC: {
 		el_pfunc_t p = va_arg(ap, el_pfunc_t);
-		char c = va_arg(ap, int);
+		char c = (char)va_arg(ap, int);
 		ret = prompt_set(el, p, c, op, 0);
 		break;
 	}
@@ -277,7 +277,7 @@
 		char *c = va_arg(ap, char *);
 		wchar_t wc = 0;
 		ret = prompt_get(el, p, &wc, op);
-		*c = (unsigned char)wc;
+		*c = (char)wc;
 		break;
 	}
 
Index: src/lib/libedit/tty.h
diff -u src/lib/libedit/tty.h:1.12 src/lib/libedit/tty.h:1.13
--- src/lib/libedit/tty.h:1.12	Wed Dec 30 17:37:40 2009
+++ src/lib/libedit/tty.h	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: tty.h,v 1.12 2009/12/30 22:37:40 christos Exp $	*/
+/*	$NetBSD: tty.h,v 1.13 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -431,7 +431,7 @@
 #define	C_MIN		23
 #define	C_TIME		24
 #define	C_NCC		25
-#define	C_SH(A)		(1 << (A))
+#define	C_SH(A)		((unsigned int)(1 << (A)))
 
 /*
  * Terminal dependend data structures

Index: src/lib/libedit/filecomplete.c
diff -u src/lib/libedit/filecomplete.c:1.29 src/lib/libedit/filecomplete.c:1.30
--- src/lib/libedit/filecomplete.c:1.29	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/filecomplete.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: filecomplete.c,v 1.29 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: filecomplete.c,v 1.30 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: filecomplete.c,v 1.29 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: filecomplete.c,v 1.30 2011/08/16 16:25:15 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -86,7 +86,8 @@
 		if (temp == NULL)
 			return NULL;
 	} else {
-		len = temp - txt + 1;	/* text until string after slash */
+		/* text until string after slash */
+		len = (size_t)(temp - txt + 1);
 		temp = el_malloc(len * sizeof(*temp));
 		if (temp == NULL)
 			return NULL;
@@ -162,7 +163,7 @@
 			}
 			filename = nptr;
 			(void)strcpy(filename, temp);
-			len = temp - text;	/* including last slash */
+			len = (size_t)(temp - text);	/* including last slash */
 
 			nptr = el_realloc(dirname, (len + 1) *
 			    sizeof(*nptr));
@@ -371,7 +372,7 @@
 	 * Find out how many entries can be put on one line; count
 	 * with one space between strings the same way it's printed.
 	 */
-	cols = screenwidth / (width + 1);
+	cols = (size_t)screenwidth / (width + 1);
 	if (cols == 0)
 		cols = 1;
 
@@ -444,7 +445,7 @@
 	    && (!special_prefixes || !Strchr(special_prefixes, ctemp[-1]) ) )
 		ctemp--;
 
-	len = li->cursor - ctemp;
+	len = (size_t)(li->cursor - ctemp);
 	temp = el_malloc((len + 1) * sizeof(*temp));
 	(void)Strncpy(temp, ctemp, len);
 	temp[len] = '\0';
@@ -458,13 +459,15 @@
 
 	if (attempted_completion_function) {
 		int cur_off = (int)(li->cursor - li->buffer);
-		matches = (*attempted_completion_function) (ct_encode_string(temp, &el->el_scratch),
-		    (int)(cur_off - len), cur_off);
+		matches = (*attempted_completion_function)(
+		    ct_encode_string(temp, &el->el_scratch),
+		    cur_off - (int)len, cur_off);
 	} else
 		matches = 0;
 	if (!attempted_completion_function || 
 	    (over != NULL && !*over && !matches))
-		matches = completion_matches(ct_encode_string(temp, &el->el_scratch), complet_func);
+		matches = completion_matches(
+		    ct_encode_string(temp, &el->el_scratch), complet_func);
 
 	if (over != NULL)
 		*over = 0;
@@ -509,7 +512,7 @@
 					maxlen = match_len;
 			}
 			/* matches[1] through matches[i-1] are available */
-			matches_num = i - 1;
+			matches_num = (size_t)(i - 1);
 				
 			/* newline to get on next line from command line */
 			(void)fprintf(el->el_outfile, "\n");
Index: src/lib/libedit/map.c
diff -u src/lib/libedit/map.c:1.29 src/lib/libedit/map.c:1.30
--- src/lib/libedit/map.c:1.29	Fri Jul 29 11:16:33 2011
+++ src/lib/libedit/map.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: map.c,v 1.29 2011/07/29 15:16:33 christos Exp $	*/
+/*	$NetBSD: map.c,v 1.30 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)map.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: map.c,v 1.29 2011/07/29 15:16:33 christos Exp $");
+__RCSID("$NetBSD: map.c,v 1.30 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -1375,7 +1375,7 @@
 				map[(unsigned char) *in] = ED_SEQUENCE_LEAD_IN;
 			} else {
 				keymacro_clear(el, map, in);
-				map[(unsigned char) *in] = cmd;
+				map[(unsigned char) *in] = (el_action_t)cmd;
 			}
 		}
 		break;
@@ -1395,7 +1395,7 @@
 map_addfunc(EditLine *el, const Char *name, const Char *help, el_func_t func)
 {
 	void *p;
-	int nf = el->el_map.nfunc + 1;
+	size_t nf = (size_t)el->el_map.nfunc + 1;
 
 	if (name == NULL || help == NULL || func == NULL)
 		return -1;
@@ -1409,11 +1409,11 @@
 		return -1;
 	el->el_map.help = p;
 
-	nf = el->el_map.nfunc;
+	nf = (size_t)el->el_map.nfunc;
 	el->el_map.func[nf] = func;
 
 	el->el_map.help[nf].name = name;
-	el->el_map.help[nf].func = nf;
+	el->el_map.help[nf].func = (int)nf;
 	el->el_map.help[nf].description = help;
 	el->el_map.nfunc++;
 

Index: src/lib/libedit/keymacro.c
diff -u src/lib/libedit/keymacro.c:1.6 src/lib/libedit/keymacro.c:1.7
--- src/lib/libedit/keymacro.c:1.6	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/keymacro.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: keymacro.c,v 1.6 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: keymacro.c,v 1.7 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)key.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: keymacro.c,v 1.6 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: keymacro.c,v 1.7 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -510,11 +510,11 @@
 			if (ptr->next != NULL)
 				/* not yet at leaf */
 				return (node_lookup(el, str + 1, ptr->next,
-				    used + cnt));
+				    (size_t)used + cnt));
 			else {
 			    /* next node is null so key should be complete */
 				if (str[1] == 0) {
-					size_t px = cnt + used;
+					size_t px = cnt + (size_t)used;
 					el->el_keymacro.buf[px] = '"';
 					el->el_keymacro.buf[px + 1] = '\0';
 					keymacro_kprint(el, el->el_keymacro.buf,
@@ -565,11 +565,11 @@
 	    ptr->ch);
 	if (ptr->next == NULL) {
 		/* print this key and function */
-		el->el_keymacro.buf[cnt + used   ] = '"';
-		el->el_keymacro.buf[cnt + used + 1] = '\0';
+		el->el_keymacro.buf[cnt + (size_t)used   ] = '"';
+		el->el_keymacro.buf[cnt + (size_t)used + 1] = '\0';
 		keymacro_kprint(el, el->el_keymacro.buf, &ptr->val, ptr->type);
 	} else
-		(void) node_enum(el, ptr->next, cnt + used);
+		(void) node_enum(el, ptr->next, cnt + (size_t)used);
 
 	/* go to sibling if there is one */
 	if (ptr->sibling)

Index: src/lib/libedit/parse.c
diff -u src/lib/libedit/parse.c:1.25 src/lib/libedit/parse.c:1.26
--- src/lib/libedit/parse.c:1.25	Fri Jul 29 11:16:33 2011
+++ src/lib/libedit/parse.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.25 2011/07/29 15:16:33 christos Exp $	*/
+/*	$NetBSD: parse.c,v 1.26 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)parse.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: parse.c,v 1.25 2011/07/29 15:16:33 christos Exp $");
+__RCSID("$NetBSD: parse.c,v 1.26 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -108,14 +108,14 @@
 
 		if (ptr == argv[0])
 			return 0;
-		l = ptr - argv[0] - 1;
+		l = (size_t)(ptr - argv[0] - 1);
 		tprog = el_malloc((l + 1) * sizeof(*tprog));
 		if (tprog == NULL)
 			return 0;
 		(void) Strncpy(tprog, argv[0], l);
 		tprog[l] = '\0';
 		ptr++;
-		l = el_match(el->el_prog, tprog);
+		l = (size_t)el_match(el->el_prog, tprog);
 		el_free(tprog);
 		if (!l)
 			return 0;
@@ -214,7 +214,7 @@
 				}
 				c = (c << 3) | (ch - '0');
 			}
-			if ((c & 0xffffff00) != 0)
+			if ((c & (wint_t)0xffffff00) != (wint_t)0)
 				return -1;
 			--p;
 			break;

Index: src/lib/libedit/read.c
diff -u src/lib/libedit/read.c:1.66 src/lib/libedit/read.c:1.67
--- src/lib/libedit/read.c:1.66	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/read.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: read.c,v 1.66 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: read.c,v 1.67 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)read.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: read.c,v 1.66 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: read.c,v 1.67 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -491,7 +491,7 @@
 		while ((num = (*el->el_read.read_char)(el, cp)) == 1) {
 			/* make sure there is space for next character */
 			if (cp + 1 >= el->el_line.limit) {
-				idx = (cp - el->el_line.buffer);
+				idx = (size_t)(cp - el->el_line.buffer);
 				if (!ch_enlargebufs(el, (size_t)2))
 					break;
 				cp = &el->el_line.buffer[idx];
@@ -543,7 +543,7 @@
 		while ((num = (*el->el_read.read_char)(el, cp)) == 1) {
 			/* make sure there is space next character */
 			if (cp + 1 >= el->el_line.limit) {
-				idx = (cp - el->el_line.buffer);
+				idx = (size_t)(cp - el->el_line.buffer);
 				if (!ch_enlargebufs(el, (size_t)2))
 					break;
 				cp = &el->el_line.buffer[idx];

Index: src/lib/libedit/readline.c
diff -u src/lib/libedit/readline.c:1.98 src/lib/libedit/readline.c:1.99
--- src/lib/libedit/readline.c:1.98	Fri Jul 29 19:44:44 2011
+++ src/lib/libedit/readline.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: readline.c,v 1.98 2011/07/29 23:44:44 christos Exp $	*/
+/*	$NetBSD: readline.c,v 1.99 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: readline.c,v 1.98 2011/07/29 23:44:44 christos Exp $");
+__RCSID("$NetBSD: readline.c,v 1.99 2011/08/16 16:25:15 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -209,7 +209,7 @@
 	i = (*rl_getc_function)(NULL);
 	if (i == -1)
 		return 0;
-	*c = i;
+	*c = (char)i;
 	return 1;
 }
 
@@ -551,7 +551,7 @@
 			break;
 		idx++;
 	}
-	len = idx - begin;
+	len = (size_t)idx - (size_t)begin;
 	if (sub && cmd[idx] == '?')
 		idx++;
 	if (sub && len == 0 && last_search_pat && *last_search_pat)
@@ -665,7 +665,7 @@
 			qchar = (offs > 0 && command[offs - 1] == '"')? '"':0;
 			ptr = get_history_event(command + offs, &idx, qchar);
 		}
-		has_mods = command[offs + idx] == ':';
+		has_mods = command[offs + (size_t)idx] == ':';
 	}
 
 	if (ptr == NULL && aptr == NULL)
@@ -1031,14 +1031,14 @@
 	    (size_t)end > max || start > end)
 		goto out;
 
-	for (i = start, len = 0; i <= (size_t)end; i++)
+	for (i = (size_t)start, len = 0; i <= (size_t)end; i++)
 		len += strlen(arr[i]) + 1;
 	len++;
 	result = el_malloc(len * sizeof(*result));
 	if (result == NULL)
 		goto out;
 
-	for (i = start, len = 0; i <= (size_t)end; i++) {
+	for (i = (size_t)start, len = 0; i <= (size_t)end; i++) {
 		(void)strcpy(result + len, arr[i]);
 		len += strlen(arr[i]);
 		if (i < (size_t)end)
@@ -1088,15 +1088,15 @@
 		if (idx + 2 >= size) {
 			char **nresult;
 			size <<= 1;
-			nresult = el_realloc(result, size * sizeof(*nresult));
+			nresult = el_realloc(result, (size_t)size * sizeof(*nresult));
 			if (nresult == NULL) {
 				el_free(result);
 				return NULL;
 			}
 			result = nresult;
 		}
-		len = i - start;
-		temp = el_malloc((len + 1) * sizeof(*temp));
+		len = (size_t)i - (size_t)start;
+		temp = el_malloc((size_t)(len + 1) * sizeof(*temp));
 		if (temp == NULL) {
 			for (i = 0; i < idx; i++)
 				el_free(result[i]);
@@ -1196,7 +1196,7 @@
 				ret = errno;
 				break;
 			}
-			left = fread(buf, (size_t)1, sizeof(buf), fp);
+			left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), fp);
 			if (ferror(fp)) {
 				ret = errno;
 				break;
@@ -1268,7 +1268,7 @@
 	}
 
 	for(;;) {
-		if ((left = fread(buf, (size_t)1, sizeof(buf), tp)) == 0) {
+		if ((left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), tp)) == 0) {
 			if (ferror(fp))
 				ret = errno;
 			break;
@@ -1740,7 +1740,7 @@
     __attribute__((__unused__)))
 {
 	static char buf[2];
-	buf[0] = rl_completion_append_character;
+	buf[0] = (char)rl_completion_append_character;
 	buf[1] = '\0';
 	return buf;
 }
@@ -1856,7 +1856,7 @@
 		rl_initialize();
 
 	/* XXX - int -> char conversion can lose on multichars */
-	arr[0] = c;
+	arr[0] = (char)c;
 	arr[1] = '\0';
 
 	for (; count > 0; count--)
@@ -1969,7 +1969,7 @@
 rl_redisplay(void)
 {
 	char a[2];
-	a[0] = e->el_tty.t_c[TS_IO][C_REPRINT];
+	a[0] = (char)e->el_tty.t_c[TS_IO][C_REPRINT];
 	a[1] = '\0';
 	el_push(e, a);
 }
@@ -1978,7 +1978,7 @@
 rl_get_previous_history(int count, int key)
 {
 	char a[2];
-	a[0] = key;
+	a[0] = (char)key;
 	a[1] = '\0';
 	while (count--)
 		el_push(e, a);
@@ -2033,7 +2033,7 @@
 {
 	char buf[2];
 
-	buf[0] = c;
+	buf[0] = (char)c;
 	buf[1] = '\0';
 	el_insertstr(e, buf);
 }

Index: src/lib/libedit/search.c
diff -u src/lib/libedit/search.c:1.28 src/lib/libedit/search.c:1.29
--- src/lib/libedit/search.c:1.28	Fri Jul 29 19:44:45 2011
+++ src/lib/libedit/search.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: search.c,v 1.28 2011/07/29 23:44:45 christos Exp $	*/
+/*	$NetBSD: search.c,v 1.29 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)search.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: search.c,v 1.28 2011/07/29 23:44:45 christos Exp $");
+__RCSID("$NetBSD: search.c,v 1.29 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -175,7 +175,8 @@
 {
 	if (el->el_state.lastcmd != ED_SEARCH_PREV_HISTORY &&
 	    el->el_state.lastcmd != ED_SEARCH_NEXT_HISTORY) {
-		el->el_search.patlen = EL_CURSOR(el) - el->el_line.buffer;
+		el->el_search.patlen =
+		    (size_t)(EL_CURSOR(el) - el->el_line.buffer);
 		if (el->el_search.patlen >= EL_BUFSIZ)
 			el->el_search.patlen = EL_BUFSIZ - 1;
 		if (el->el_search.patlen != 0) {
@@ -386,9 +387,10 @@
 					/* avoid c_setpat */
 					el->el_state.lastcmd =
 					    (el_action_t) newdir;
-					ret = newdir == ED_SEARCH_PREV_HISTORY ?
+					ret = (el_action_t)
+					    (newdir == ED_SEARCH_PREV_HISTORY ?
 					    ed_search_prev_history(el, 0) :
-					    ed_search_next_history(el, 0);
+					    ed_search_next_history(el, 0));
 					if (ret != CC_ERROR) {
 						el->el_line.cursor = newdir ==
 						    ED_SEARCH_PREV_HISTORY ?
@@ -453,7 +455,7 @@
 {
 	Char ch;
 	Char tmpbuf[EL_BUFSIZ];
-	int tmplen;
+	ssize_t tmplen;
 
 #ifdef ANCHOR
 	tmpbuf[0] = '.';
@@ -502,7 +504,7 @@
 #endif
 		tmpbuf[tmplen] = '\0';
 		(void) Strncpy(el->el_search.patbuf, tmpbuf, EL_BUFSIZ - 1);
-		el->el_search.patlen = tmplen;
+		el->el_search.patlen = (size_t)tmplen;
 	}
 	el->el_state.lastcmd = (el_action_t) dir;	/* avoid c_setpat */
 	el->el_line.cursor = el->el_line.lastchar = el->el_line.buffer;
@@ -608,7 +610,7 @@
 	/* Save for ';' and ',' commands */
 	el->el_search.chacha = ch;
 	el->el_search.chadir = direction;
-	el->el_search.chatflg = tflag;
+	el->el_search.chatflg = (char)tflag;
 
 	cp = el->el_line.cursor;
 	while (count--) {

Index: src/lib/libedit/terminal.c
diff -u src/lib/libedit/terminal.c:1.7 src/lib/libedit/terminal.c:1.8
--- src/lib/libedit/terminal.c:1.7	Fri Jul 29 19:44:45 2011
+++ src/lib/libedit/terminal.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: terminal.c,v 1.7 2011/07/29 23:44:45 christos Exp $	*/
+/*	$NetBSD: terminal.c,v 1.8 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)term.c	8.2 (Berkeley) 4/30/95";
 #else
-__RCSID("$NetBSD: terminal.c,v 1.7 2011/07/29 23:44:45 christos Exp $");
+__RCSID("$NetBSD: terminal.c,v 1.8 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -379,7 +379,7 @@
 					/* XXX strcpy is safe */
 	(void) strcpy(*str = &el->el_terminal.t_buf[el->el_terminal.t_loc],
 	    cap);
-	el->el_terminal.t_loc += (int)clen + 1;	/* one for \0 */
+	el->el_terminal.t_loc += (size_t)clen + 1;	/* one for \0 */
 	return;
 }
 
@@ -413,11 +413,11 @@
 	Char **b;
 	coord_t *c = &el->el_terminal.t_size;
 
-	b =  el_malloc(sizeof(*b) * (c->v + 1));
+	b =  el_malloc(sizeof(*b) * (size_t)(c->v + 1));
 	if (b == NULL)
 		return -1;
 	for (i = 0; i < c->v; i++) {
-		b[i] = el_malloc(sizeof(**b) * (c->h + 1));
+		b[i] = el_malloc(sizeof(**b) * (size_t)(c->h + 1));
 		if (b[i] == NULL) {
 			while (--i >= 0)
 				el_free(b[i]);
@@ -428,11 +428,11 @@
 	b[c->v] = NULL;
 	el->el_display = b;
 
-	b = el_malloc(sizeof(*b) * (c->v + 1));
+	b = el_malloc(sizeof(*b) * (size_t)(c->v + 1));
 	if (b == NULL)
 		return -1;
 	for (i = 0; i < c->v; i++) {
-		b[i] = el_malloc(sizeof(**b) * (c->h + 1));
+		b[i] = el_malloc(sizeof(**b) * (size_t)(c->h + 1));
 		if (b[i] == NULL) {
 			while (--i >= 0)
 				el_free(b[i]);
@@ -496,7 +496,8 @@
 		while (del > 0) {
 			if (EL_HAS_AUTO_MARGINS &&
 			    el->el_display[el->el_cursor.v][0] != '\0') {
-                                size_t h = el->el_terminal.t_size.h - 1;
+                                size_t h = (size_t)
+				    (el->el_terminal.t_size.h - 1);
 #ifdef WIDECHAR
                                 for (; h > 0 &&
                                          el->el_display[el->el_cursor.v][h] ==

Index: src/lib/libedit/tokenizer.c
diff -u src/lib/libedit/tokenizer.c:1.20 src/lib/libedit/tokenizer.c:1.21
--- src/lib/libedit/tokenizer.c:1.20	Fri Jul 29 11:16:33 2011
+++ src/lib/libedit/tokenizer.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: tokenizer.c,v 1.20 2011/07/29 15:16:33 christos Exp $	*/
+/*	$NetBSD: tokenizer.c,v 1.21 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)tokenizer.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: tokenizer.c,v 1.20 2011/07/29 15:16:33 christos Exp $");
+__RCSID("$NetBSD: tokenizer.c,v 1.21 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -70,7 +70,7 @@
 
 struct TYPE(tokenizer) {
 	Char	*ifs;		/* In field separator			 */
-	int	 argc, amax;	/* Current and maximum number of args	 */
+	size_t	 argc, amax;	/* Current and maximum number of args	 */
 	Char   **argv;		/* Argument list			 */
 	Char	*wptr, *wmax;	/* Space and limit on the word buffer	 */
 	Char	*wstart;	/* Beginning of next word		 */
@@ -201,7 +201,7 @@
 		if (ptr >= line->lastchar)
 			ptr = STR("");
 		if (ptr == line->cursor) {
-			cc = tok->argc;
+			cc = (int)tok->argc;
 			co = (int)(tok->wptr - tok->wstart);
 		}
 		switch (*ptr) {
@@ -391,14 +391,14 @@
 		}
 
 		if (tok->wptr >= tok->wmax - 4) {
-			size_t size = tok->wmax - tok->wspace + WINCR;
+			size_t size = (size_t)(tok->wmax - tok->wspace + WINCR);
 			Char *s = tok_realloc(tok->wspace,
 			    size * sizeof(*s));
 			if (s == NULL)
 				return -1;
 
 			if (s != tok->wspace) {
-				int i;
+				size_t i;
 				for (i = 0; i < tok->argc; i++) {
 				    tok->argv[i] =
 					(tok->argv[i] - tok->wspace) + s;
@@ -420,7 +420,7 @@
 	}
  tok_line_outok:
 	if (cc == -1 && co == -1) {
-		cc = tok->argc;
+		cc = (int)tok->argc;
 		co = (int)(tok->wptr - tok->wstart);
 	}
 	if (cursorc != NULL)
@@ -429,7 +429,7 @@
 		*cursoro = co;
 	FUN(tok,finish)(tok);
 	*argv = (const Char **)tok->argv;
-	*argc = tok->argc;
+	*argc = (int)tok->argc;
 	return 0;
 }
 

Index: src/lib/libedit/tty.c
diff -u src/lib/libedit/tty.c:1.39 src/lib/libedit/tty.c:1.40
--- src/lib/libedit/tty.c:1.39	Fri Jul 29 11:20:39 2011
+++ src/lib/libedit/tty.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: tty.c,v 1.39 2011/07/29 15:20:39 christos Exp $	*/
+/*	$NetBSD: tty.c,v 1.40 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)tty.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: tty.c,v 1.39 2011/07/29 15:20:39 christos Exp $");
+__RCSID("$NetBSD: tty.c,v 1.40 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -1235,8 +1235,9 @@
 			if (i != -1) {
 			    x = (el->el_tty.t_t[z][i].t_setmask & m->m_value)
 				?  '+' : '\0';
-			    x = (el->el_tty.t_t[z][i].t_clrmask & m->m_value)
-				? '-' : x;
+
+			    if (el->el_tty.t_t[z][i].t_clrmask & m->m_value)
+				x = '-';
 			} else {
 			    x = '\0';
 			}
@@ -1268,7 +1269,7 @@
 		switch (*s) {
 		case '+':
 		case '-':
-			x = *s++;
+			x = (char)*s++;
 			break;
 		default:
 			x = '\0';
@@ -1295,7 +1296,7 @@
 			c--;
 			c = tty__getcharindex(c);
 			assert(c != -1);
-			tios->c_cc[c] = v;
+			tios->c_cc[c] = (cc_t)v;
 			continue;
 		}
 		switch (x) {
Index: src/lib/libedit/vi.c
diff -u src/lib/libedit/vi.c:1.39 src/lib/libedit/vi.c:1.40
--- src/lib/libedit/vi.c:1.39	Fri Jul 29 19:44:45 2011
+++ src/lib/libedit/vi.c	Tue Aug 16 12:25:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: vi.c,v 1.39 2011/07/29 23:44:45 christos Exp $	*/
+/*	$NetBSD: vi.c,v 1.40 2011/08/16 16:25:15 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -42,7 +42,7 @@
 #if 0
 static char sccsid[] = "@(#)vi.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: vi.c,v 1.39 2011/07/29 23:44:45 christos Exp $");
+__RCSID("$NetBSD: vi.c,v 1.40 2011/08/16 16:25:15 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -426,7 +426,7 @@
 
 	cv_undo(el);
 
-	return ret;
+	return (el_action_t)ret;
 }
 
 
@@ -814,7 +814,7 @@
 	o_ch = el->el_line.cursor[i];
 	if (o_ch == 0)
 		return CC_ERROR;
-	delta = Strchr(match_chars, o_ch) - match_chars;
+	delta = (size_t)(Strchr(match_chars, o_ch) - match_chars);
 	c_ch = match_chars[delta ^ 1];
 	count = 1;
 	delta = 1 - (delta & 1) * 2;

Reply via email to