|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 9852 (0x267c) Types: TextFile Names: »patches01«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Ularn/patches01«
*** /dev/null Mon Jul 10 13:45:01 1989 --- README.patch Mon Jul 10 13:52:14 1989 *************** *** 0 **** --- 1,57 ---- + + + 7/9/89 + + Several small problems with the distribution of Ularn have cropped + up, and I've put together several patches. To apply, you'll need + Larry Wall's "patch" program (if you don't have it and can't + find it anywhere, you should be able to make the modifications + by hand from the descriptions below). These should be applied to + the unmodified sources as distributed by the comp.sources.games + moderator. + + -Phil Cordier + philc@sco.COM + ...!uunet!sco!philc + =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + + FILE: header.h + CHANGE: move "#include <sys/timeb.h>" to after #ifdef BSD + FIXES: file not found message for those SYSV implentations that don't + have the BSD <sys/timeb.h> file. + + FILE: main.c + CHANGE: all "<=26" to "<26" + FIXES: problem with junk on screen after doing an inventory + + FILE: nap.c + CHANGE: comment out stuff after "#else" + FIXES: error messages from picky compilers + + FILE: to_ansi.c + CHANGE: add explicit "exit(0)" before end of main() + FIXES: unless explicit succesfull return value is there, some compilers + return whatever is on top of the stack - if non-zero, 'make' bombs + out. + + FILE: tok.c + CHANGE: add an ioctl to flush input buffer for those who don't have the + POSIX tcflush() function. + FIXES: unresolved external message for those without POSIX stuff. + + FILE: scores.c + CHANGE: change first call of "scbr()" to "clearvt100()" in died() + FIXES: restores all initial terminal settings - EOF will now correctly + be <control>-D instead of <control>-A after playing the game. + + FILE: Makefile + CHANGE: $(UTIL) to ./$(UTIL) in actions for Umaps + FIXES: If you run 'make install' as root, it will fail when it tries + to run 'to_ansi <Uhelp.no_control >Uhelp' because "." is not in root's + PATH. Fix by adding explicit "./" before the "to_ansi" call. + CHANGE: $(UTIL_OBJ) to $(UTIL_SRC) in production for $(UTIL) + FIXES: Some systems complain about not being able to find to_ansi.o. + + FILE: store.c + CHANGE: add a loop to zero out gemvalue array before selling a stone + FIXES: bug allowing you to sell a gemstone multiple times *** header.h.orig Thu Jun 29 06:28:23 1989 --- header.h Mon Jul 10 09:22:06 1989 *************** *** 1,9 **** /* header.h */ #include <sys/types.h> #include <sys/stat.h> - #include <sys/timeb.h> #ifdef BSD # include <sys/time.h> # include <sgtty.h> #else --- 1,9 ---- /* header.h */ #include <sys/types.h> #include <sys/stat.h> #ifdef BSD + # include <sys/timeb.h> # include <sys/time.h> # include <sgtty.h> #else *** main.c.orig Thu Jun 29 06:28:41 1989 --- main.c Mon Jul 10 09:22:07 1989 *************** *** 269,275 **** srcount++; } ! for (k=0; k<=26; k++) if (iven[k]) show3(k); lprintf("\nElapsed time is %d. You have %d mobuls left", --- 269,275 ---- srcount++; } ! for (k=0; k<26; k++) if (iven[k]) show3(k); lprintf("\nElapsed time is %d. You have %d mobuls left", *************** *** 320,326 **** srcount=0; /* count number of items we will display */ ! for (count=2,j=0; j<=26; j++) if (i=iven[j]) switch(i) { case OLEATHER: --- 320,326 ---- srcount=0; /* count number of items we will display */ ! for (count=2,j=0; j<26; j++) if (i=iven[j]) switch(i) { case OLEATHER: *************** *** 339,345 **** t_setup(count); for (i=22; i<93; i++) ! for (j=0; j<=26; j++) if (i==iven[j]) switch(i) { case OLEATHER: --- 339,345 ---- t_setup(count); for (i=22; i<93; i++) ! for (j=0; j<26; j++) if (i==iven[j]) switch(i) { case OLEATHER: *************** *** 368,374 **** sigsav=nosignal; nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<=26; j++) /* count how many items */ if (i=iven[j]) switch(i) { case ODIAMOND: case ORUBY: case OEMERALD: --- 368,374 ---- sigsav=nosignal; nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<26; j++) /* count how many items */ if (i=iven[j]) switch(i) { case ODIAMOND: case ORUBY: case OEMERALD: *************** *** 390,396 **** t_setup(count); for (i=22; i<93; i++) ! for (j=0; j<=26; j++) if (i==iven[j]) switch(i) { case ODIAMOND: case ORUBY: --- 390,396 ---- t_setup(count); for (i=22; i<93; i++) ! for (j=0; j<26; j++) if (i==iven[j]) switch(i) { case ODIAMOND: case ORUBY: *************** *** 419,425 **** sigsav=nosignal; nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<=26; j++) switch(iven[j]) { case OBOOK: case OSCROLL: --- 419,425 ---- sigsav=nosignal; nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<26; j++) switch(iven[j]) { case OBOOK: case OSCROLL: *************** *** 428,434 **** t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<=26; j++) if (i==iven[j]) switch(i) { case OBOOK: --- 428,434 ---- t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<26; j++) if (i==iven[j]) switch(i) { case OBOOK: *************** *** 451,457 **** nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<=26; j++) switch(iven[j]) { case OCOOKIE: count++; --- 451,457 ---- nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<26; j++) switch(iven[j]) { case OCOOKIE: count++; *************** *** 459,465 **** t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<=26; j++) if (i==iven[j]) switch(i) { case OCOOKIE: --- 459,465 ---- t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<26; j++) if (i==iven[j]) switch(i) { case OCOOKIE: *************** *** 481,487 **** nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<=26; j++) switch(iven[j]) { case OPOTION: count++; --- 481,487 ---- nosignal=1; /* don't allow ^c etc */ srcount=0; ! for (count=2,j=0; j<26; j++) switch(iven[j]) { case OPOTION: count++; *************** *** 489,495 **** t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<=26; j++) if (i==iven[j]) switch(i) { case OPOTION: --- 489,495 ---- t_setup(count); for (i=22; i<84; i++) ! for (j=0; j<26; j++) if (i==iven[j]) switch(i) { case OPOTION: *************** *** 1129,1135 **** char gack[26]; cursors(); ! for (j=0; j<=26; j++) switch(iven[j]) { case OPOTION: gack[i++] = j; }; --- 1129,1135 ---- char gack[26]; cursors(); ! for (j=0; j<26; j++) switch(iven[j]) { case OPOTION: gack[i++] = j; }; *************** *** 1164,1170 **** else if (!strcmp(str, "eat")) e = 1; else if (!strcmp(str, "drop")) d = 1; ! for (j=0; j<=26; j++) { switch(iven[j]) { case OSWORDofSLASHING : case OHAMMER: --- 1164,1170 ---- else if (!strcmp(str, "eat")) e = 1; else if (!strcmp(str, "drop")) d = 1; ! for (j=0; j<26; j++) { switch(iven[j]) { case OSWORDofSLASHING : case OHAMMER: *** nap.c.orig Thu Jun 29 06:28:16 1989 --- nap.c Mon Jul 10 09:22:08 1989 *************** *** 96,102 **** } } # endif /* SIGVTALARAM */ ! # else not BSD napms(time) int time; { --- 96,102 ---- } } # endif /* SIGVTALARAM */ ! # else /* not BSD */ napms(time) int time; { *** scores.c.orig Thu Jun 29 06:28:57 1989 --- scores.c Mon Jul 10 09:22:09 1989 *************** *** 670,676 **** return; /* only case where died() returns */ } invalid: ! sncbr(); f = 0; if (ckpflag) unlink(ckpfile); /* remove checkpoint file if used */ --- 670,676 ---- return; /* only case where died() returns */ } invalid: ! clearvt100(); f = 0; if (ckpflag) unlink(ckpfile); /* remove checkpoint file if used */ *** to_ansi.c.orig Thu Jun 29 08:00:13 1989 --- to_ansi.c Mon Jul 10 09:22:10 1989 *************** *** 23,26 **** --- 23,27 ---- } else putc((char)c, stdout); } + exit(0); } *** tok.c.orig Thu Jun 29 06:28:02 1989 --- tok.c Mon Jul 10 09:22:11 1989 *************** *** 49,63 **** exit(0); } } ! #ifdef BSD ! /* if keyboard input buffer is too big, flush some of it */ ! do { ! ioctl(0,FIONREAD,&ic); ! if (ic>flushno) ! read(0,&cc,1); ! } ! while (ic>flushno); ! #endif if (read(0,&cc,1) != 1) return(lastok = -1); --- 49,55 ---- exit(0); } } ! flushall(); if (read(0,&cc,1) != 1) return(lastok = -1); *************** *** 113,121 **** } /* gobble up the byte */ } #else /* SYSV */ ! # ifdef unix ! tcflush(0, TCIFLUSH); /* unix SYSV only, not XENIX */ ! # endif /* unix */ #endif /* BSD */ } --- 105,115 ---- } /* gobble up the byte */ } #else /* SYSV */ ! # ifdef TCIFLUSH ! tcflush(0, TCIFLUSH); /* SYSV w/POSIX 1003 tcflush() */ ! # else ! ioctl(0, TCFLSH); /* standard ioctl */ ! # endif /* TCIFLUSH */ #endif /* BSD */ } *** /dev/null Mon Jul 10 09:30:02 1989 --- patchlevel.h Mon Jul 10 09:34:48 1989 *************** *** 0 **** --- 1 ---- + #define PATCHLEVEL 1 *** store.c.orig Thu Jun 29 06:29:01 1989 --- store.c Mon Jul 10 13:46:21 1989 *************** *** 536,541 **** --- 536,544 ---- if (level==8) c[TELEFLAG] = 0; + for(i = 0; i < 26; i++) + gemvalue[i] = 0; + for (k=i=0; i<26; i++) switch(iven[i]) { case OLARNEYE: