Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/lib/libcurses/tests tests/libcurses: fix undefined beh...
details: https://anonhg.NetBSD.org/src/rev/10e1e3f1ca9a
branches: trunk
changeset: 959329:10e1e3f1ca9a
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Feb 07 23:30:33 2021 +0000
description:
tests/libcurses: fix undefined behavior in test addch
The libcurses framework is not strictly typed and thus provides plenty
of ways to shoot yourself in the foot. It's a waste of time debugging
things that a proper programming language can easily prevent.
The function addch expects an argument of type 'chtype'. Passing a
"double-quoted" string does not match this, as 'chtype' is completely
different from a plain 'char'. Instead, functions taking a 'chtype'
must be passed a `backtick-quoted` string.
diffstat:
tests/lib/libcurses/tests/addch | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diffs (35 lines):
diff -r abca5357cf09 -r 10e1e3f1ca9a tests/lib/libcurses/tests/addch
--- a/tests/lib/libcurses/tests/addch Sun Feb 07 23:00:57 2021 +0000
+++ b/tests/lib/libcurses/tests/addch Sun Feb 07 23:30:33 2021 +0000
@@ -3,23 +3,22 @@
call OK refresh
call OK mvaddch 5 3 `\003e`
call OK refresh
-call OK addch "\n"
+call OK addch `\000\n`
# Somewhere between NetBSD 8.0 and 9.0, a bug was added to addch that
# doubled the spaces for a tab. Instead of 8 spaces, there are now 16.
-call OK addch "\t"
+call OK addch `\000\t`
call2 6 16 getyx STDSCR # FIXME: must be 8, not 16
-call OK addch "8"
-call OK addch "\n"
+call OK addch `\0008`
+call OK addch `\000\n`
# Somewhere between NetBSD 8.0 and 9.0, a bug was added to addch that
# doubled the spaces for a tab. Instead of 1 space, there are now 2.
call OK addstr "0123456"
-call OK addch "\t"
-call2 7 9 getyx STDSCR # FIXME: with probability around 50%, the
- # 7 comes out as a 6.
-call OK addch "8"
-call OK addch "\n"
+call OK addch `\000\t`
+call2 7 9 getyx STDSCR
+call OK addch `\0008`
+call OK addch `\000\n`
call OK refresh
compare addch.chk
Home |
Main Index |
Thread Index |
Old Index