Hi, On my macppc machine, i can create an infinite loop just by doing:
$ qqwing --generate | qqwing --solve The looped getchar(3) call never reaches EOF on unsigned char archs. The below diff fixes that issue. OK? Charlène. Index: Makefile =================================================================== RCS file: /cvs/ports/games/qqwing/Makefile,v retrieving revision 1.3 diff -u -p -u -p -r1.3 Makefile --- Makefile 12 Jul 2019 20:46:23 -0000 1.3 +++ Makefile 24 Jul 2021 14:38:21 -0000 @@ -3,7 +3,7 @@ COMMENT = Sudoku generator and solver DISTNAME = qqwing-1.3.4 SHARED_LIBS += qqwing 0.0 # 3.0 -REVISION = 0 +REVISION = 1 CATEGORIES = games Index: patches/patch-main_cpp =================================================================== RCS file: patches/patch-main_cpp diff -N patches/patch-main_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-main_cpp 24 Jul 2021 14:38:21 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix infinite loop while using `qqwing --solve` on unsigned char archs (powerpc +and arm) + +Index: main.cpp +--- main.cpp.orig ++++ main.cpp +@@ -488,7 +488,7 @@ void printHelp(){ + bool readPuzzleFromStdIn(int* puzzle){ + int read = 0; + while (read < BOARD_SIZE){ +- char c = getchar(); ++ int c = getchar(); + if (c == EOF) return false; + if (c >= '1' && c <='9'){ + puzzle[read] = c-'0';