Module Name:    src
Committed By:   christos
Date:           Fri Apr 26 16:56:58 UTC 2019

Modified Files:
        src/lib/libedit: el.c eln.c readline.c

Log Message:
Follow the man page for EL_GETTC and not require a NULL terminated argument
list: https://reviews.llvm.org/D61191


To generate a diff of this commit:
cvs rdiff -u -r1.97 -r1.98 src/lib/libedit/el.c
cvs rdiff -u -r1.34 -r1.35 src/lib/libedit/eln.c
cvs rdiff -u -r1.151 -r1.152 src/lib/libedit/readline.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/el.c
diff -u src/lib/libedit/el.c:1.97 src/lib/libedit/el.c:1.98
--- src/lib/libedit/el.c:1.97	Sun Nov 18 12:09:39 2018
+++ src/lib/libedit/el.c	Fri Apr 26 12:56:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: el.c,v 1.97 2018/11/18 17:09:39 christos Exp $	*/
+/*	$NetBSD: el.c,v 1.98 2019/04/26 16:56:57 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)el.c	8.2 (Berkeley) 1/3/94";
 #else
-__RCSID("$NetBSD: el.c,v 1.97 2018/11/18 17:09:39 christos Exp $");
+__RCSID("$NetBSD: el.c,v 1.98 2019/04/26 16:56:57 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -439,15 +439,11 @@ el_wget(EditLine *el, int op, ...)
 	case EL_GETTC:
 	{
 		static char name[] = "gettc";
-		char *argv[20];
-		int i;
-
-		for (i = 1; i < (int)__arraycount(argv); i++)
-			if ((argv[i] = va_arg(ap, char *)) == NULL)
-				break;
-
+		char *argv[3];
 		argv[0] = name;
-		rv = terminal_gettc(el, i, argv);
+		argv[1] = va_arg(ap, char *);
+		argv[2] = va_arg(ap, void *);
+		rv = terminal_gettc(el, 3, argv);
 		break;
 	}
 

Index: src/lib/libedit/eln.c
diff -u src/lib/libedit/eln.c:1.34 src/lib/libedit/eln.c:1.35
--- src/lib/libedit/eln.c:1.34	Mon May  9 17:37:34 2016
+++ src/lib/libedit/eln.c	Fri Apr 26 12:56:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $	*/
+/*	$NetBSD: eln.c,v 1.35 2019/04/26 16:56:57 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.35 2019/04/26 16:56:57 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <errno.h>
@@ -321,14 +321,12 @@ el_get(EditLine *el, int op, ...)
 		break;
 
 	case EL_GETTC: {
-		char *argv[20];
+		char *argv[3];
 		static char gettc[] = "gettc";
-		int i;
-		for (i = 1; i < (int)__arraycount(argv); ++i)
-			if ((argv[i] = va_arg(ap, char *)) == NULL)
-				break;
 		argv[0] = gettc;
-		ret = terminal_gettc(el, i, argv);
+		argv[1] = va_arg(ap, char *);
+		argv[2] = va_arg(ap, void *);
+		ret = terminal_gettc(el, 3, argv);
 		break;
 	}
 

Index: src/lib/libedit/readline.c
diff -u src/lib/libedit/readline.c:1.151 src/lib/libedit/readline.c:1.152
--- src/lib/libedit/readline.c:1.151	Fri Feb 15 18:20:35 2019
+++ src/lib/libedit/readline.c	Fri Apr 26 12:56:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: readline.c,v 1.151 2019/02/15 23:20:35 christos Exp $	*/
+/*	$NetBSD: readline.c,v 1.152 2019/04/26 16:56:57 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.151 2019/02/15 23:20:35 christos Exp $");
+__RCSID("$NetBSD: readline.c,v 1.152 2019/04/26 16:56:57 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -2237,9 +2237,9 @@ void
 rl_get_screen_size(int *rows, int *cols)
 {
 	if (rows)
-		el_get(e, EL_GETTC, "li", rows, (void *)0);
+		el_get(e, EL_GETTC, "li", rows);
 	if (cols)
-		el_get(e, EL_GETTC, "co", cols, (void *)0);
+		el_get(e, EL_GETTC, "co", cols);
 }
 
 void

Reply via email to