svn commit: r352341 - head/contrib/libedit
Dimitry Andric
dim at FreeBSD.org
Sat Sep 14 21:49:43 UTC 2019
Author: dim
Date: Sat Sep 14 21:49:42 2019
New Revision: 352341
URL: https://svnweb.freebsd.org/changeset/base/352341
Log:
Fix arm and aarch64 builds of libedit after r352275
On arm and arm64, where chars are unsigned by default, buildworld dies
with:
--- terminal.o ---
/usr/src/contrib/libedit/terminal.c:569:41: error: comparison of
integers of different signs: 'wint_t' (aka 'int') and 'wchar_t' (aka
'unsigned int') [-Werror,-Wsign-compare]
el->el_cursor.v][where & 0370] !=
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/usr/src/contrib/libedit/terminal.c:659:28: error: comparison of
integers of different signs: 'wint_t' (aka 'int') and 'wchar_t' (aka
'unsigned int') [-Werror,-Wsign-compare]
[el->el_cursor.h] == MB_FILL_CHAR)
~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~
Fix this by making MB_FILL_CHAR a wint_t, so no casting is needed.
Note that in https://reviews.freebsd.org/D21584 this was also proposed
by Yuichiro Naito <naito.yuichiro_gmail.com>.
Reviewed by: bapt
Subscribers: naito.yuichiro_gmail.com, ml_vishwin.info
MFC after: 3 weeks
X-MFC-With: r352275
Differential Revision: https://reviews.freebsd.org/D21657
Modified:
head/contrib/libedit/chartype.h
head/contrib/libedit/terminal.c
Modified: head/contrib/libedit/chartype.h
==============================================================================
--- head/contrib/libedit/chartype.h Sat Sep 14 21:18:10 2019 (r352340)
+++ head/contrib/libedit/chartype.h Sat Sep 14 21:49:42 2019 (r352341)
@@ -87,7 +87,7 @@ libedit_private size_t ct_enc_width(wchar_t);
/* The terminal is thought of in terms of X columns by Y lines. In the cases
* where a wide character takes up more than one column, the adjacent
* occupied column entries will contain this faux character. */
-#define MB_FILL_CHAR ((wchar_t)-1)
+#define MB_FILL_CHAR ((wint_t)-1)
/* Visual width of character c, taking into account ^? , \0177 and \U+nnnnn
* style visual expansions. */
Modified: head/contrib/libedit/terminal.c
==============================================================================
--- head/contrib/libedit/terminal.c Sat Sep 14 21:18:10 2019 (r352340)
+++ head/contrib/libedit/terminal.c Sat Sep 14 21:49:42 2019 (r352341)
@@ -1224,7 +1224,7 @@ terminal__putc(EditLine *el, wint_t c)
{
char buf[MB_LEN_MAX +1];
ssize_t i;
- if (c == (wint_t)MB_FILL_CHAR)
+ if (c == MB_FILL_CHAR)
return 0;
if (c & EL_LITERAL)
return fputs(literal_get(el, c), el->el_outfile);
More information about the svn-src-all
mailing list