|
|
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: