Description of problem: After running zork, trying to get mail crashes it. Version-Release number of selected component (if applicable): Name : zork Version : 1.0.2 Release : 3.fc32 Architecture: x86_64 How reproducible: On two machines with F31 and one with F32. Steps to Reproduce: 1. run zork 2. write „get mail“ as a command 3. observe crash Actual results: Segfault Expected results: Appropriate response from the game (in thes case: „I don't understand that.“) and a prompt for the next command. Additional info: If I compile zork from github sources, I do not get the crash. It seems that it crashes on any input that has multiple words. First observed after these four commands: west, east, climb, get egg (response from locally compiled game: „Taken“). $ gdb -q zork Reading symbols from zork... Reading symbols from /usr/lib/debug/usr/bin/zork-1.0.2-3.fc32.x86_64.debug... (gdb) run Starting program: /usr/bin/zork Missing separate debuginfos, use: dnf debuginfo-install glibc-2.31-2.fc32.x86_64 Welcome to Dungeon. This version created 11-MAR-91. You are in an open field west of a big white house with a boarded front door. There is a small mailbox here. >foo bar Program received signal SIGSEGV, Segmentation fault. sparse_ (lbuf=0x7fffffffd54c, lbuf@entry=0x7fffffffd550, llnt=3, vbflag=vbflag@entry=1) at np1.c:128 128 for (j = 1; j <= i__2; j += 3) { Missing separate debuginfos, use: dnf debuginfo-install ncurses-libs-6.1-15.20191109.fc32.x86_64 (gdb) bt full #0 sparse_ (lbuf=0x7fffffffd54c, lbuf@entry=0x7fffffffd550, llnt=3, vbflag=vbflag@entry=1) at np1.c:128 ret_val = -1 i__1 = 3 i__2 = <optimized out> i = 3 j = 44617 obj = <optimized out> prep = 0 lbuf1 = 3258 lbuf2 = 0 #1 0x000000000040b494 in parse_ (inbuf=<optimized out>, vbflag=vbflag@entry=1) at np.c:91 i__1 = <optimized out> ret_val = 0 outbuf = {10215, 0, 3258, 0 <repeats 37 times>} outlnt = <optimized out> #2 0x0000000000404322 in game_ () at dgame.c:55 f = <optimized out> i = <optimized out> #3 0x00000000004013af in main (argc=<optimized out>, argv=<optimized out>) at dmain.c:21 No locals. (gdb) quit A debugging session is active. Inferior 1 [process 84486] will be killed. Quit anyway? (y or n) y
Hi Štefan. You are sure it worked without changes when you compiled upstream? The Fedora package does carry one additional patch, but it does not change much: https://src.fedoraproject.org/rpms/zork/blob/master/f/zork-tweak-makefile.patch If you can confirm the game works when compiled directly from F32, I will try to spend some time debugging more with the original source.
Yes, I am sure (the last message "The game is over" is when I press Ctrl+D to exit the game) [stevko@localhost Devel]$ git clone -q https://github.com/devshane/zork.git [stevko@localhost Devel]$ cd zork/ [stevko@localhost zork]$ make -s local.c: In function ‘wizard’: local.c:73:9: warning: implicit declaration of function ‘getuid’ [-Wimplicit-function-declaration] 73 | if (getuid() == 0 || getuid() == WIZARDID) | ^~~~~~ [stevko@localhost zork]$ ./zork Welcome to Dungeon. This version created 11-MAR-91. You are in an open field west of a big white house with a boarded front door. There is a small mailbox here. >get mail I don't understand that. >foo bar I can't see one here. >west You are in a forest, with trees in all directions around you. >east You are in a dimly lit forest, with large trees all around. One particularly large tree with some low branches stands here. >climb You are about ten feet above the ground nestled among some large branches. The nearest branch above you is beyond your reach. On the branch is a small birds nest. The birds nest contains: A jewel-encrusted egg. >get egg Taken. >The game is over. And it also works with the patch. [stevko@localhost Devel]$ git clone -q https://github.com/devshane/zork.git [stevko@localhost Devel]$ cd zork/ [stevko@localhost zork]$ git apply < ../zork-tweak-makefile.patch [stevko@localhost zork]$ make -s [stevko@localhost zork]$ ./zork Welcome to Dungeon. This version created 11-MAR-91. You are in an open field west of a big white house with a boarded front door. There is a small mailbox here. >get mail I don't understand that. >foo bar I can't see one here. >west You are in a forest, with trees in all directions around you. >east You are in a dimly lit forest, with large trees all around. One particularly large tree with some low branches stands here. >climb You are about ten feet above the ground nestled among some large branches. The nearest branch above you is beyond your reach. On the branch is a small birds nest. The birds nest contains: A jewel-encrusted egg. >get egg Taken. >The game is over.
I appreciate the confirmation and follow-up. I am not a C programmer or very familiar with low-level languages. This is hard for me to know how to debug, since I guess the issue is somewhere in the Fedora build process? I will see if I can find some help to debug this further.
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle. Changing version to 33.
building from git source with the rpmbuild options causes same crash. 13:12:07 [sonik@razorback src]$ git clone https://github.com/devshane/zork.git Cloning into 'zork'... remote: Enumerating objects: 76, done. remote: Total 76 (delta 0), reused 0 (delta 0), pack-reused 76 Receiving objects: 100% (76/76), 250.45 KiB | 3.74 MiB/s, done. Resolving deltas: 100% (19/19), done. 13:12:28 [sonik@razorback src]$ cd zork 13:12:32 [sonik@razorback zork]$ /usr/bin/make -O -j6 V=1 VERBOSE=1 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' DATADIR=/usr/share/zork 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o actors.o actors.c actors.c: In function ‘aappli_’: actors.c:111:39: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 111 | if (play_1.here == rindex_1.scorr && (prsvec_1.prso == xsrch_1.xnorth || actors.c:17:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 17 | logical f; | ^ actors.c: In function ‘thiefd_’: actors.c:320:26: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 320 | objcts_1.oflag1[i - 1] & VISIBT + TAKEBT) != | ^ actors.c:344:44: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 344 | prob_(80, 60) || (objcts_1.oflag1[i - 1] & | ^ actors.c:373:43: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 373 | if ((rooms_1.rflag[hack_1.thfpos - 1] & RLAND + RSACRD + | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o ballop.o ballop.c ballop.c: In function ‘ballop_’: ballop.c:118:13: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 118 | LITEBT & ~ (TAKEBT + READBT); | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o clockr.o clockr.c clockr.c: In function ‘cevapp_’: clockr.c:570:36: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 570 | play_1.here >= rindex_1.fore1 && play_1.here < rindex_1.clear; cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o demons.o demons.c demons.c: In function ‘fightd_’: demons.c:22:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 22 | logical f; | ^ demons.c: In function ‘blow_’: demons.c:210:19: warning: variable ‘oa’ set but not used [-Wunused-but-set-variable] 210 | integer i, j, oa, ra, od, mi, dv, def; | ^~ demons.c:209:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 209 | logical f; | ^ demons.c: In function ‘infest_’: demons.c:593:11: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 593 | 1] == r && hack_1.thfact; demons.c:597:40: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 597 | rindex_1.mrgw || r == rindex_1.inmir && findex_1.mloc == | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ 598 | rindex_1.mrg; | ~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DALLOW_GDT -c dgame.c dgame.c: In function ‘game_’: dgame.c:21:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 21 | logical f; | ^ dgame.c: In function ‘xendmv_’: dgame.c:212:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 212 | logical f; | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DALLOW_GDT -DTEXTFILE=\"/usr/share/zork/dtextc.dat\" -c dinit.c dinit.c: In function ‘init_’: dinit.c:104:34: warning: variable ‘recno’ set but not used [-Wunused-but-set-variable] 104 | integer xmax, r2max, dirmax, recno; | ^~~~~ dinit.c:104:26: warning: variable ‘dirmax’ set but not used [-Wunused-but-set-variable] 104 | integer xmax, r2max, dirmax, recno; | ^~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso1.o dso1.c dso1.c: In function ‘princr_’: dso1.c:25:49: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 25 | if (! qhere_(i, rm) || (objcts_1.oflag1[i - 1] & VISIBT + | ^ dso1.c:30:54: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 30 | if (! (full) && (findex_1.superf || findex_1.brieff && ( dso1.c:61:49: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 61 | if (! qhere_(i, rm) || (objcts_1.oflag1[i - 1] & VISIBT + | ^ dso1.c:69:45: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 69 | if ((objcts_1.oflag1[i - 1] & TRANBT) == 0 && ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 70 | objcts_1.oflag2[i - 1] & OPENBT) == 0 || qempty_(i)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dso1.c: In function ‘invent_’: dso1.c:144:16: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 143 | VISIBT) == 0 || (objcts_1.oflag1[j - 1] & | ~~~~~~~~~~~~~~~~~~~~~~~~~ 144 | TRANBT) == 0 && (objcts_1.oflag2[j - 1] & | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 145 | OPENBT) == 0) { | ~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso3.o dso3.c dso3.c: In function ‘fwim_’: dso3.c:109:53: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] 109 | if (~ (nocare) & (objcts_1.oflag1[i - 1] & TAKEBT) == 0 || ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ dso3.c:110:37: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 109 | if (~ (nocare) & (objcts_1.oflag1[i - 1] & TAKEBT) == 0 || ( | ~ 110 | objcts_1.oflag1[i - 1] & f1) == 0 && (objcts_1.oflag2[i - 1] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 111 | & f2) == 0) { | ~~~~~~~~~~ dso3.c:137:10: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 136 | VISIBT) == 0 || (objcts_1.oflag1[j - 1] & f1) == | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 137 | 0 && (objcts_1.oflag2[j - 1] & f2) == 0) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dso3.c: In function ‘yesno_’: dso3.c:178:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 178 | (void) fgets(ans, sizeof ans, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso2.o dso2.c dso2.c: In function ‘moveto_’: dso2.c:59:15: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 59 | if (! lnr && nlv || lnr && lhr && nlv && bits != RLAND) { | ~~~~~~^~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dmain.o dmain.c In file included from dmain.c:11: vars.h:411:4: warning: missing braces around initializer [-Wmissing-braces] 411 | = { 66, 67, 68, 69, 70, 71, 72, 65, 73 } | ^ | { } dmain.c:13:6: warning: return type of ‘main’ is not ‘int’ [-Wmain] 13 | void main(argc, argv) | ^~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso5.o dso5.c dso5.c: In function ‘lit_’: dso5.c:121:41: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 120 | if ((objcts_1.oflag1[i - 1] & VISIBT) == 0 || ( | ~ 121 | objcts_1.oflag1[i - 1] & TRANBT) == 0 && ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 122 | objcts_1.oflag2[i - 1] & OPENBT) == 0) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dso5.c: In function ‘weight_’: dso5.c:166:20: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 166 | if (qhere_(i, rm) && rm != 0 || objcts_1.oadv[i - 1] == ad && ad | ~~~~~~~~~~~~~~^~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso4.o dso4.c cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso6.o dso6.c dso6.c: In function ‘ghere_’: dso6.c:56:36: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 56 | ret_val = rm >= rindex_1.fore1 && rm < rindex_1.clear || rm == | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ dso6.c:70:35: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 70 | ret_val = rm >= rindex_1.bkvw && rm <= rindex_1.bkbox || rm == | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ dso6.c:77:35: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 77 | ret_val = rm >= rindex_1.bkvw && rm < rindex_1.bkbox || rm == | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ dso6.c:84:38: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 84 | ret_val = (rooms_1.rflag[rm - 1] & RWATER + RFILL) != 0; | ^ dso6.c:90:34: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 90 | ret_val = rm >= rindex_1.mrc && rm <= rindex_1.mrd || rm >= | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ dso6.c:97:34: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 97 | ret_val = rm >= rindex_1.mra && rm <= rindex_1.mrd || rm == | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ dso6.c:110:34: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 110 | ret_val = rm >= rindex_1.mra && rm <= rindex_1.mrc || rm >= | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ dso6.c: In function ‘mrhere_’: dso6.c:165:28: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 165 | if (rm < findex_1.mloc && findex_1.mdir < 180 || rm > findex_1.mloc && | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dso7.o dso7.c dso7.c: In function ‘cpgoto_’: dso7.c:79:4: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 79 | & ACTRBT + VILLBT) == 0) { | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dsub.o dsub.c dsub.c: In function ‘rspsb2nl_’: dsub.c:84:47: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=] 84 | fprintf(stderr, "Error seeking database loc %d\n", x); | ~^ ~ | | | | int long int | %ld dsub.c:96:51: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=] 96 | fprintf(stderr, "Error reading database loc %d\n", x); | ~^ ~ | | | | int long int | %ld dsub.c:114:48: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=] 114 | fprintf(stderr, "Error seeking database loc %d\n", iloc); | ~^ ~~~~ | | | | int long int | %ld dsub.c: In function ‘jigsup_’: dsub.c:283:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 283 | logical f; | ^ dsub.c: In function ‘rmdesc_’: dsub.c:546:18: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 545 | if (full == 0 && (findex_1.superf || (rooms_1.rflag[play_1.here - 1] & | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 546 | RSEEN) != 0 && findex_1.brieff)) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dverb1.o dverb1.c dverb1.c: In function ‘take_’: dverb1.c:69:16: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 69 | if (x != 0 && objcts_1.oadv[x - 1] == play_1.winner || weight_(0, | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb1.c: In function ‘drop_’: dverb1.c:111:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 111 | logical f; | ^ dverb1.c: In function ‘put_’: dverb1.c:216:41: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 216 | objcts_1.oflag1[prsvec_1.prsi - 1] & DOORBT + | ^ dverb1.c: In function ‘valuac_’: dverb1.c:372:14: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 372 | savep == v && objcts_1.otval[prsvec_1.prso - 1] <= 0) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb1.c:398:3: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 397 | if (objcts_1.oadv[prsvec_1.prso - 1] != play_1.winner || savep == v | ~~~~~~~~~~ 398 | && objcts_1.otval[prsvec_1.prso - 1] <= 0) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb1.c:421:48: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 421 | prsvec_1.prso == prsvec_1.prsi || savep == v && | ~~~~~~~~~~~^~ 422 | objcts_1.otval[prsvec_1.prso - 1] <= 0 || (objcts_1.oflag1[ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb1.c:343:13: warning: variable ‘f1’ set but not used [-Wunused-but-set-variable] 343 | logical f1; | ^~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o dverb2.o dverb2.c dverb2.c: In function ‘rstrgm_’: dverb2.c:126:11: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses] 126 | if (i != vers_1.vmaj | j != vers_1.vmin) { | ~~^~~~~~~~~~~~~~ dverb2.c: In function ‘cxappl_’: dverb2.c:472:58: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] 472 | findex_1.frobzf = objcts_1.oroom[oindex_1.bills - 1] != 0 & dverb2.c:493:38: warning: suggest parentheses around ‘-’ inside ‘<<’ [-Wparentheses] 493 | curxt_1.xroom1 = (curxt_1.xroom1 - rindex_1.mra << 1) + rindex_1.mrae; dverb2.c:518:20: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 518 | if (ldir > 180 && ! findex_1.mr1f || ldir < 180 && ! findex_1.mr2f) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ dverb2.c:553:66: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 553 | if (! findex_1.mropnf || (findex_1.mdir + 270) % 360 != ldir && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 554 | prsvec_1.prso != xsrch_1.xexit) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:557:37: warning: suggest parentheses around ‘-’ inside ‘<<’ [-Wparentheses] 557 | curxt_1.xroom1 = (findex_1.mloc - rindex_1.mra << 1) + rindex_1.mrae + 1 dverb2.c:575:66: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 575 | if (! findex_1.wdopnf || (findex_1.mdir + 180) % 360 != ldir && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 576 | prsvec_1.prso != xsrch_1.xexit) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c: In function ‘rstrgm_’: dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:122:5: note: in expansion of macro ‘do_uio’ 122 | do_uio(1, &i, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:123:5: note: in expansion of macro ‘do_uio’ 123 | do_uio(1, &j, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:124:5: note: in expansion of macro ‘do_uio’ 124 | do_uio(1, &k, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:130:5: note: in expansion of macro ‘do_uio’ 130 | do_uio(1, &play_1.winner, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:131:5: note: in expansion of macro ‘do_uio’ 131 | do_uio(1, &play_1.here, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:132:5: note: in expansion of macro ‘do_uio’ 132 | do_uio(1, &hack_1.thfpos, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:133:5: note: in expansion of macro ‘do_uio’ 133 | do_uio(1, &play_1.telflg, sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:134:5: note: in expansion of macro ‘do_uio’ 134 | do_uio(1, &hack_1.thfflg, sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:135:5: note: in expansion of macro ‘do_uio’ 135 | do_uio(1, &hack_1.thfact, sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:136:5: note: in expansion of macro ‘do_uio’ 136 | do_uio(1, &hack_1.swdact, sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:137:5: note: in expansion of macro ‘do_uio’ 137 | do_uio(1, &hack_1.swdsta, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:138:5: note: in expansion of macro ‘do_uio’ 138 | do_uio(64, &puzzle_1.cpvec[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:140:5: note: in expansion of macro ‘do_uio’ 140 | do_uio(1, &time_1.pltime, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:141:5: note: in expansion of macro ‘do_uio’ 141 | do_uio(1, &state_1.moves, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:142:5: note: in expansion of macro ‘do_uio’ 142 | do_uio(1, &state_1.deaths, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:143:5: note: in expansion of macro ‘do_uio’ 143 | do_uio(1, &state_1.rwscor, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:144:5: note: in expansion of macro ‘do_uio’ 144 | do_uio(1, &state_1.egscor, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:145:5: note: in expansion of macro ‘do_uio’ 145 | do_uio(1, &state_1.mxload, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:146:5: note: in expansion of macro ‘do_uio’ 146 | do_uio(1, &state_1.ltshft, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:147:5: note: in expansion of macro ‘do_uio’ 147 | do_uio(1, &state_1.bloc, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:148:5: note: in expansion of macro ‘do_uio’ 148 | do_uio(1, &state_1.mungrm, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:149:5: note: in expansion of macro ‘do_uio’ 149 | do_uio(1, &state_1.hs, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:150:5: note: in expansion of macro ‘do_uio’ 150 | do_uio(1, &screen_1.fromdr, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:151:5: note: in expansion of macro ‘do_uio’ 151 | do_uio(1, &screen_1.scolrm, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:152:5: note: in expansion of macro ‘do_uio’ 152 | do_uio(1, &screen_1.scolac, sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:154:5: note: in expansion of macro ‘do_uio’ 154 | do_uio(220, &objcts_1.odesc1[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:155:5: note: in expansion of macro ‘do_uio’ 155 | do_uio(220, &objcts_1.odesc2[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:156:5: note: in expansion of macro ‘do_uio’ 156 | do_uio(220, &objcts_1.oflag1[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:157:5: note: in expansion of macro ‘do_uio’ 157 | do_uio(220, &objcts_1.oflag2[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:158:5: note: in expansion of macro ‘do_uio’ 158 | do_uio(220, &objcts_1.ofval[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:159:5: note: in expansion of macro ‘do_uio’ 159 | do_uio(220, &objcts_1.otval[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:160:5: note: in expansion of macro ‘do_uio’ 160 | do_uio(220, &objcts_1.osize[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:161:5: note: in expansion of macro ‘do_uio’ 161 | do_uio(220, &objcts_1.ocapac[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:162:5: note: in expansion of macro ‘do_uio’ 162 | do_uio(220, &objcts_1.oroom[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:163:5: note: in expansion of macro ‘do_uio’ 163 | do_uio(220, &objcts_1.oadv[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:164:5: note: in expansion of macro ‘do_uio’ 164 | do_uio(220, &objcts_1.ocan[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:166:5: note: in expansion of macro ‘do_uio’ 166 | do_uio(200, &rooms_1.rval[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:167:5: note: in expansion of macro ‘do_uio’ 167 | do_uio(200, &rooms_1.rflag[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:169:5: note: in expansion of macro ‘do_uio’ 169 | do_uio(4, &advs_1.aroom[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:170:5: note: in expansion of macro ‘do_uio’ 170 | do_uio(4, &advs_1.ascore[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:171:5: note: in expansion of macro ‘do_uio’ 171 | do_uio(4, &advs_1.avehic[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:172:5: note: in expansion of macro ‘do_uio’ 172 | do_uio(4, &advs_1.astren[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:173:5: note: in expansion of macro ‘do_uio’ 173 | do_uio(4, &advs_1.aflag[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:175:5: note: in expansion of macro ‘do_uio’ 175 | do_uio(46, &flags[0], sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:176:5: note: in expansion of macro ‘do_uio’ 176 | do_uio(22, &switch_[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:177:5: note: in expansion of macro ‘do_uio’ 177 | do_uio(4, &vill_1.vprob[0], sizeof(integer)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:178:5: note: in expansion of macro ‘do_uio’ 178 | do_uio(25, &cevent_1.cflag[0], sizeof(logical)); | ^~~~~~ dverb2.c:120:8: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 120 | (void)fread((char *)(zbuf), (cbytes), (i), e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dverb2.c:179:5: note: in expansion of macro ‘do_uio’ 179 | do_uio(25, &cevent_1.ctick[0], sizeof(integer)); | ^~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o lightp.o lightp.c cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DALLOW_GDT -c local.c local.c: In function ‘wizard’: local.c:73:9: warning: implicit declaration of function ‘getuid’ [-Wimplicit-function-declaration] 73 | if (getuid() == 0 || getuid() == WIZARDID) | ^~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DALLOW_GDT -c gdt.c gdt.c: In function ‘gdt_’: gdt.c:58:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 58 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:107:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 107 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:121:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 121 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:138:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 138 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:405:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 405 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:542:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 542 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:557:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 557 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:571:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 571 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:589:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 589 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:596:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 596 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:619:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 619 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:634:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 634 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:681:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 681 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:721:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 721 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:751:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 751 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gdt.c:781:12: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 781 | (void) fgets(buf, sizeof buf, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o nobjs.o nobjs.c nobjs.c: In function ‘nobjs_’: nobjs.c:309:21: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 309 | rindex_1.fore1 && play_1.here < rindex_1.clear)) { nobjs.c:616:62: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 616 | if (play_1.here == rindex_1.ncell || findex_1.lcell == 4 && (play_1.here nobjs.c:27:13: warning: variable ‘av’ set but not used [-Wunused-but-set-variable] 27 | integer av, wl; | ^~ nobjs.c:23:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 23 | logical f; | ^ nobjs.c: In function ‘mirpan_’: nobjs.c:884:18: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 884 | if (num == 1 && ! findex_1.mr1f || num == 2 && ! findex_1.mr2f) { | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ nobjs.c:897:22: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 897 | vindex_1.examiw && prsvec_1.prsa != vindex_1.lookw) { cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o np1.o np1.c In file included from np1.c:14: parse.h:61:4: warning: missing braces around initializer [-Wmissing-braces] 61 | = { 2164, 0, 4200, 0, 15160, 0, 1600, 0, 2160, 0, 32325, 0, | ^ | { 62 | 29654, 0, 11800, 0, 26335, 5005, 0, 0 } | } parse.h:81:4: warning: missing braces around initializer [-Wmissing-braces] 81 | = { 24885, 28800, 1, 37180, 12800, 2, 34369, 22680, 2, 32338, | ^ | { ...... 84 | 0, 9, 24560, 0, 10, 24246, 0, 11 } | } parse.h:109:4: warning: missing braces around initializer [-Wmissing-braces] 109 | = { 22400, 0, 1024, 23018, 32320, 1024, 30400, 0, 5120, 8000, 0, | ^ | { ...... 116 | 15360 } | } cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o np2.o np2.c np2.c: In function ‘schlst_’: np2.c:172:3: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 170 | if ((objcts_1.oflag1[i - 1] & VISIBT) == 0 || (rm == 0 || ! | ~~~~~~~~~~~~~ 171 | qhere_(i, rm)) && (cn == 0 || objcts_1.ocan[i - 1] != cn) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 172 | && (ad == 0 || objcts_1.oadv[i - 1] != ad)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ np2.c:219:45: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 218 | if ((objcts_1.oflag1[x - 1] & VISIBT) == 0 || ( | ~ 219 | objcts_1.oflag1[x - 1] & TRANBT) == 0 && ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 220 | objcts_1.oflag2[x - 1] & OPENBT) == 0 || ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o np.o np.c np.c: In function ‘parse_’: np.c:111:23: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] 111 | if (prsvec_1.prso > 0 & prsvec_1.prso < xsrch_1.xmin) { np.c: In function ‘lex_’: np.c:222:8: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] 222 | if (j >= dlimit[i - 1] & j <= dlimit[i]) { | ~~^~~~~~~~~~~~~~~~ np.c:241:12: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] 241 | if (cp == 0 & *op == 1) { | ~~~^~~~ np.c: In function ‘parse_’: np.c:176:5: warning: array subscript -1 is outside array bounds of ‘integer[40]’ {aka ‘int[40]’} [-Warray-bounds] 176 | --outbuf; | ^~~~~~~~ np.c:75:13: note: while referencing ‘outbuf’ 75 | integer outbuf[40], outlnt; | ^~~~~~ np.c:176:5: warning: array subscript -1 is outside array bounds of ‘integer[40]’ {aka ‘int[40]’} [-Warray-bounds] 176 | --outbuf; | ^~~~~~~~ np.c:75:13: note: while referencing ‘outbuf’ 75 | integer outbuf[40], outlnt; | ^~~~~~ np.c:176:5: warning: array subscript -1 is outside array bounds of ‘integer[40]’ {aka ‘int[40]’} [-Warray-bounds] 176 | --outbuf; | ^~~~~~~~ np.c:75:13: note: while referencing ‘outbuf’ 75 | integer outbuf[40], outlnt; | ^~~~~~ np.c:176:5: warning: array subscript -1 is outside array bounds of ‘integer[40]’ {aka ‘int[40]’} [-Warray-bounds] 176 | --outbuf; | ^~~~~~~~ np.c:75:13: note: while referencing ‘outbuf’ 75 | integer outbuf[40], outlnt; | ^~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o np3.o np3.c np3.c: In function ‘syneql_’: np3.c:289:49: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses] 289 | ret_val = prep == (sprep & VPMASK) && (sfl1 & objcts_1.oflag1[ | ~~~~~^~~~~~~~~~~~~~~~~~ 290 | obj - 1] | sfl2 & objcts_1.oflag2[obj - 1]) != 0; | ~~~~~~~~ np3.c: In function ‘takeit_’: np3.c:396:16: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 396 | if (x != 0 && objcts_1.oadv[x - 1] == play_1.winner || weight_(0, obj, | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o nrooms.o nrooms.c nrooms.c: In function ‘lookto_’: nrooms.c:459:17: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 459 | if (m1 == 1 && ! findex_1.mr1f || m1 == 2 && ! findex_1.mr2f) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~ nrooms.c: In function ‘ewtell_’: nrooms.c:512:12: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 512 | if (m1 && ! findex_1.mr1f || ! m1 && ! findex_1.mr2f) { | ~~~^~~~~~~~~~~~~~~~~~ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o objcts.o objcts.c objcts.c: In function ‘oappli_’: objcts.c:301:43: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 301 | if ((prsvec_1.prsa != vindex_1.attacw && prsvec_1.prsa != vindex_1.killw objcts.c:303:22: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 303 | vindex_1.swingw && prsvec_1.prsa != vindex_1.throww || objcts.c:763:40: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 763 | if (prsvec_1.prsa != vindex_1.eatw && prsvec_1.prsa != vindex_1.throww || objcts.c:925:39: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 925 | if (findex_1.mloc == rindex_1.mrc && findex_1.mdir == 180 || objcts.c:23:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 23 | logical f; | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o sobjs.o sobjs.c sobjs.c: In function ‘sobjs_’: sobjs.c:861:38: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 861 | prsvec_1.prsi != oindex_1.hook1 && prsvec_1.prsi != sobjs.c:21:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 21 | logical f; | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o rooms.o rooms.c rooms.c: In function ‘rappl1_’: rooms.c:182:45: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 182 | if ((objcts_1.oflag2[oindex_1.door - 1] & OPENBT + | ^ rooms.c:239:71: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 239 | if (findex_1.rvclr != 0 || qhere_(oindex_1.leave, rindex_1.clear) && ( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 240 | prsvec_1.prsa != vindex_1.movew || prsvec_1.prso != | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | oindex_1.leave)) { | ~~~~~~~~~~~~~~~ rooms.c:18:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 18 | logical f; | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o verbs.o verbs.c verbs.c: In function ‘vappli_’: verbs.c:660:29: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 660 | objcts_1.oflag1[j - 1] & DOORBT + CONTBT) == 0)) | ^ verbs.c:802:41: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 802 | if ((rooms_1.rflag[play_1.here - 1] & RWATER + RFILL) != | ^ verbs.c:899:45: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 899 | if ((objcts_1.oflag1[prsvec_1.prsi - 1] & FLAMBT + | ^ verbs.c:931:55: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 931 | if (qhere_(prsvec_1.prso, play_1.here) || av != 0 && j == av) { | ~~~~~~~~^~~~~~~~~~ verbs.c:942:43: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 942 | if (qhere_(j, play_1.here) || av != 0 && objcts_1.ocan[j - 1] == av) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ verbs.c:1161:45: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 1161 | if ((objcts_1.oflag2[prsvec_1.prso - 1] & VILLBT + | ^ verbs.c:1288:21: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 1288 | oindex_1.wnort && prsvec_1.prso <= oindex_1.wnort + 3)) { cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c supp.c cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o sverbs.o sverbs.c sverbs.c: In function ‘sverbs_’: sverbs.c:220:41: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses] 220 | if ((rooms_1.rflag[play_1.here - 1] & RWATER + RFILL) == | ^ sverbs.c:382:64: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 382 | if (screen_1.scolrm == 0 || prsvec_1.prso != oindex_1.scol && ( sverbs.c:578:72: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 578 | if (curxt_1.xtype == xpars_1.xno || curxt_1.xtype == xpars_1.xcond && ! sverbs.c:33:13: warning: variable ‘f’ set but not used [-Wunused-but-set-variable] 33 | logical f; | ^ cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o villns.o villns.c villns.c: In function ‘thiefp_’: villns.c:484:42: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 484 | if (prsvec_1.prsa != vindex_1.throww && prsvec_1.prsa != vindex_1.givew || cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -o zork actors.o ballop.o clockr.o demons.o dgame.o dinit.o dmain.o dso1.o dso2.o dso3.o dso4.o dso5.o dso6.o dso7.o dsub.o dverb1.o dverb2.o gdt.o lightp.o local.o nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o rooms.o sobjs.o supp.o sverbs.o verbs.o villns.o -ltermcap 13:12:39 [sonik@razorback zork]$ ./zork Welcome to Dungeon. This version created 11-MAR-91. You are in an open field west of a big white house with a boarded front door. There is a small mailbox here. >get mail Segmentation fault (core dumped) 13:12:47 [sonik@razorback zork]$
So, the upstream is no longer active. And while I am the Zork packager, I am not a C programmer. I forked the upstream repository to my own account. If someone wants to take a look at fixing this for newer versions of the compiler shipped by Fedora, I will accept any patches: https://github.com/jwflory/zork For now though, there is not much I can do about fixing this. Help is wanted by any pros in C.
FEDORA-2021-a67cb20f9a has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-a67cb20f9a
FEDORA-2021-3db49a40d2 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-3db49a40d2
FEDORA-EPEL-2021-cf854a6587 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-cf854a6587
FEDORA-EPEL-2021-1a69da230b has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-1a69da230b
A hotfix that disables a compiler optimization flag was pushed to Fedora 33, Fedora 32, EPEL 8, and EPEL 7. A working version of Zork will also ship in Fedora 34. Folks in the Fedora Packaging Community chat on Telegram debugged the issue to discover it was from compiler optimization. To that end, Jan200101 (also in the Telegram group) wrote a patch that fixes this issue in the source code and preserves the compiler optimizations. It works and is more elegant than disabling optimization flags. Jan's patch was sent upstream, where we await a response: https://github.com/devshane/zork/pull/14 If upstream accepts, I will cut a new release and re-add the optimization flag. If upstream does not come back to us in 1-2 months, I will carry the patch in dist-git.
Thanks! Patch works. no more crash. 18:43:52 [sonik@razorback zork]$ diff -p np1.c.orig np1.c *** np1.c.orig 2021-02-17 18:43:42.931763627 -0500 --- np1.c 2021-02-17 18:39:02.197859215 -0500 *************** logical vbflag; *** 27,33 **** const integer r50wal = 36852; /* System generated locals */ ! integer ret_val, i__1, i__2; /* Local variables */ integer i, j, adj; --- 27,33 ---- const integer r50wal = 36852; /* System generated locals */ ! volatile integer ret_val, i__1, i__2; /* Local variables */ integer i, j, adj;
FEDORA-EPEL-2021-cf854a6587 has been pushed to the Fedora EPEL 7 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-cf854a6587 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-1a69da230b has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-1a69da230b See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-a67cb20f9a has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-a67cb20f9a` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-a67cb20f9a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-3db49a40d2 has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-3db49a40d2` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-3db49a40d2 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-a67cb20f9a has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-3db49a40d2 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-de0ee56c39 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-de0ee56c39
FEDORA-2021-9cc43d6844 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-9cc43d6844
FEDORA-2021-e6c4cbd349 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-e6c4cbd349
FEDORA-EPEL-2021-9bc37f11e5 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-9bc37f11e5
FEDORA-EPEL-2021-fe3a31b543 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-fe3a31b543
FEDORA-2021-de0ee56c39 has been pushed to the Fedora 34 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-de0ee56c39` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-de0ee56c39 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-e6c4cbd349 has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-e6c4cbd349` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-e6c4cbd349 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-fe3a31b543 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-fe3a31b543 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-9cc43d6844 has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-9cc43d6844` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-9cc43d6844 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-9bc37f11e5 has been pushed to the Fedora EPEL 7 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-9bc37f11e5 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-9cc43d6844 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-e6c4cbd349 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2021-fe3a31b543 has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2021-9bc37f11e5 has been pushed to the Fedora EPEL 7 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-de0ee56c39 has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.