DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T p

⟦e455cd9e5⟧ TextFile

    Length: 9852 (0x267c)
    Types: TextFile
    Names: »patches01«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Ularn/patches01« 

TextFile

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