Module Name: src Committed By: rillig Date: Sun Feb 7 23:30:33 UTC 2021
Modified Files: src/tests/lib/libcurses/tests: addch Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/tests/lib/libcurses/tests/addch Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/lib/libcurses/tests/addch diff -u src/tests/lib/libcurses/tests/addch:1.4 src/tests/lib/libcurses/tests/addch:1.5 --- src/tests/lib/libcurses/tests/addch:1.4 Sun Feb 7 13:06:02 2021 +++ src/tests/lib/libcurses/tests/addch Sun Feb 7 23:30:33 2021 @@ -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