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.
This commit is contained in:
parent
a9a73810b2
commit
7879077738
|
@ -3,23 +3,22 @@ call OK addch `\001t`
|
|||
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
|
||||
|
|
Loading…
Reference in New Issue