Module Name:    src
Committed By:   blymn
Date:           Thu Jun 24 05:53:05 UTC 2021

Modified Files:
        src/lib/libcurses: slk.c

Log Message:
Make sure we don't use wide char routines when DISABLE_WCHAR is in
effect.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libcurses/slk.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/libcurses/slk.c
diff -u src/lib/libcurses/slk.c:1.9 src/lib/libcurses/slk.c:1.10
--- src/lib/libcurses/slk.c:1.9	Tue Jun 22 07:26:45 2021
+++ src/lib/libcurses/slk.c	Thu Jun 24 05:53:05 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: slk.c,v 1.9 2021/06/22 07:26:45 blymn Exp $	*/
+/*	$NetBSD: slk.c,v 1.10 2021/06/24 05:53:05 blymn Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: slk.c,v 1.9 2021/06/22 07:26:45 blymn Exp $");
+__RCSID("$NetBSD: slk.c,v 1.10 2021/06/24 05:53:05 blymn Exp $");
 #endif				/* not lint */
 
 #include <ctype.h>
@@ -818,9 +818,11 @@ __slk_draw(SCREEN *screen, int labnum)
 {
 	const struct __slk_label *l;
 	int retval, inc, lcnt, tx;
+	char ts[MB_CUR_MAX];
+#ifdef HAVE_WCHAR
 	cchar_t cc;
 	wchar_t wc[2];
-	char ts[MB_CUR_MAX];
+#endif
 
 	if (screen->slk_hidden)
 		return OK;
@@ -855,23 +857,35 @@ __slk_draw(SCREEN *screen, int labnum)
 	__CTRACE(__CTRACE_INPUT, "__slk_draw: label len %d, wcwidth %d\n",
 	    screen->slk_label_len, wcwidth(l->label[lcnt]));
 #endif
+#ifdef HAVE_WCHAR
 				wc[0] = l->label[lcnt];
 				wc[1] = L'\0';
 				if (setcchar(&cc, wc,
 				    screen->slk_window->wattr, 0,
 				    NULL) == ERR)
 					return ERR;
+#endif
 
 				if (l->x + wcwidth(l->label[lcnt] + tx) >=
 				    screen->slk_label_len) {
 					/* last character that will fit
 					 * so insert it to avoid scroll
 					 */
+#ifdef HAVE_WCHAR
 					retval = mvwins_wch(screen->slk_window,
 					    0, l->x + tx, &cc);
+#else
+					retval = mvwinsch(screen->slk_window,
+					    0, l->x + tx, l->label[lcnt]);
+#endif
 				} else {
+#ifdef HAVE_WCHAR
 					retval = mvwadd_wch(screen->slk_window,
 					    0, l->x + tx, &cc);
+#else
+					retval = mvwaddch(screen->slk_window,
+					    0, l->x + tx, l->label[lcnt]);
+#endif
 				}
 				tx += wcwidth(l->label[lcnt]);
 				lcnt += inc;

Reply via email to