billr@saab.CNA.TEK.COM (Bill Randle) (06/24/89)
Submitted-by: Mike Taylor <maujf@cu.warwick.ac.uk> Posting-number: Volume 6, Issue 82 Archive-name: tt/Patch1 Patch-To: Volume 6, Issue 81 [I repackaged this as a context diff inside a shar file. Feed directly to patch(1), or however you want to do it. -br] Patch #1 for "tt" - Tetris for terminals ======================================== This is not a bug-fix as such, but a short piece of code to be appended to the header-file tt.h, which will allow tt to run on Berkeley UNIXes older than 4.3, (ie. those without the FD_ macros). These macros were introduced in 4.3 (and in SunOS 4.0) since these UNIXes allow more than 32 file-descriptors open at once, and thus they can no longer all be flagged by setting bits in a 32-bit long integer. In fact, "tt" only select()s on one file-descriptor at a time, so the lack of width will certainly be no problem. The macros as defined here simply twiddle the bits of a long integer in much the same way as I would have done in the first place had I written "tt" to run under 4.2, but using the same names as the corresponding 4.3 macros, so none of the existing "tt" code need be changed. Sorry I didn't think of this before I posted the first time! Have fun! -- Unkle Mirk #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: patches01 # Wrapped by billr@saab on Fri Jun 23 17:20:37 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'patches01' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patches01'\" else echo shar: Extracting \"'patches01'\" \(1166 characters\) sed "s/^X//" >'patches01' <<'END_OF_FILE' X*** tt.h.orig Wed Jun 21 06:46:22 1989 X--- tt.h Fri Jun 23 17:17:31 1989 X*************** X*** 133,135 **** X--- 133,154 ---- X extern void signal_die (); /* When CTRL-C etc. is pressed */ X X /*-------------------------------------------------------------------------*/ X+ /***************************************************************************\ X+ |* *| X+ |* The following macros will be defined if FD_ZERO is not defined by *| X+ |* the system. They simulate the behaviour of 4.3bsd's FD_ macros for *| X+ |* 4.2bsd machines, (ie. those running Berkeley UNIX, but of earlier *| X+ |* issue than 4.3; also SunOS, issues earlier than 4.0. *| X+ |* *| X+ |* This section added Fri Jun 23 20:18:20 BST 1989 *| X+ |* Written by Mike Taylor (mirk@uk.ac.warwick.cs) *| X+ |* *| X+ \***************************************************************************/ X+ X+ #ifndef FD_ZERO X+ # define fd_set long int X+ # define FD_ZERO(fds_ptr) *(fds_ptr) = 0 X+ # define FD_SET(fd, fds_ptr) *(fds_ptr) |= (1<<(fd)) X+ #endif /* FD_ZERO */ X+ X+ /*-------------------------------------------------------------------------*/ END_OF_FILE if test 1166 -ne `wc -c <'patches01'`; then echo shar: \"'patches01'\" unpacked with wrong size! fi # end of 'patches01' fi echo shar: End of shell archive. exit 0