games@tekred.CNA.TEK.COM (05/02/89)
Submitted-by: Tim Ramsey <tar@ksuvax1.cis.ksu.edu> Posting-number: Volume 6, Issue 71 Archive-name: connect4.pch1 [[Here's the patches for Connect 4 to get it to compile under SysV Rel3.1. If you find any bugs in the patches please let me know. Tim]] #! /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: c4.c.diff screen.c.diff # Wrapped by tar@ksuvax1.cis.ksu.edu on Thu Apr 27 23:09:45 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f c4.c.diff -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"c4.c.diff\" else echo shar: Extracting \"c4.c.diff\" \(4222 characters\) sed "s/^X//" >c4.c.diff <<'END_OF_c4.c.diff' X*** Orig/c4.c Thu Apr 27 07:35:24 1989 X--- c4.c Thu Apr 27 07:37:56 1989 X*************** X*** 11,16 **** X--- 11,18 ---- X * BITNET: tcjones@WATER.bitnet X * Canadian domain: tcjones@dragon.uwaterloo.ca X * X+ * Patched for SysV Rel3.1 by Tim Ramsey on 27 April 89. X+ * ..!rutgers!ksuvax1!tar, tar@ksuvax1.cis.ksu.edu X */ X X #include <stdio.h> X*************** X*** 17,25 **** X #include <sys/types.h> X #include <ctype.h> X #include <pwd.h> X! #include <sys/time.h> X! #include <sys/file.h> X! #include <sys/param.h> X #include "c4.h" X #include "types.h" X #include "tables.h" X--- 19,44 ---- X #include <sys/types.h> X #include <ctype.h> X #include <pwd.h> X! X! #define SYSV /* TAR: could do this in Makefile but screen.c would complain */ X! X! #ifdef SYSV /* TAR */ X! # include <unistd.h> /* For lockf() */ X! # include <sys/utsname.h> /* For uname() */ X! X! # define index strchr X! # define u_char unchar X! # define u_short ushort X! X! struct passwd *getpwuid(), *getpwnam(); X! X! #else /* !SYSV */ X! X! # include <sys/time.h> X! # include <sys/file.h> X! # include <sys/param.h> X! #endif /* SYSV */ X! X #include "c4.h" X #include "types.h" X #include "tables.h" X*************** X*** 43,49 **** X char *release_date = "8pm, January 1st, 1988"; X int turn = GAME_OVER; X int first; X! char *wizard = "tcjones"; X X main(argc, argv, envp) X int argc; X--- 62,68 ---- X char *release_date = "8pm, January 1st, 1988"; X int turn = GAME_OVER; X int first; X! char wizard[] = "tcjones"; /* TAR: added "[]" */ X X main(argc, argv, envp) X int argc; X*************** X*** 259,264 **** X--- 278,287 ---- X char *win_str = "won"; X extern char *date(); X X+ #ifdef SYSV /* TAR */ X+ struct utsname sysname; X+ #endif X+ X bell(); X switch (winner){ X case OURS:{ X*************** X*** 285,296 **** X--- 308,330 ---- X } X } X X+ #ifdef SYSV /* TAR */ X+ if (uname(&sysname) != -1){ X+ strcpy(host, sysname.nodename); X+ } X+ else{ X+ #else X if (gethostname(host, sizeof(host)) == -1){ X+ #endif X host[0] = '\0'; X strcat(host, "Unknown"); X } X X+ #ifdef SYSV /* TAR */ X+ if (lockf(fileno(scorefile), F_LOCK, 0) == -1){ X+ #else X if (flock(fileno(scorefile), LOCK_EX) == -1){ X+ #endif X fprintf(stderr, "Could not lock scorefile!\n"); X return; X } X*************** X*** 297,303 **** X--- 331,341 ---- X X if (fseek(scorefile, 0L, 2) == -1){ X fprintf(stderr, "Could not unlock scorefile!\n"); X+ #ifdef SYSV /* TAR */ X+ if (lockf(fileno(scorefile), F_ULOCK, 0) == -1){ X+ #else X if (flock(fileno(scorefile), LOCK_UN) == -1){ X+ #endif X fprintf(stderr, "Could not unlock scorefile!\n"); X } X return; X*************** X*** 320,326 **** X--- 358,368 ---- X } X fprintf(scorefile, "\n\n"); X X+ #ifdef SYSV /* TAR */ X+ if (lockf(fileno(scorefile), F_ULOCK, 0) == -1){ X+ #else X if (flock(fileno(scorefile), LOCK_UN) == -1){ X+ #endif X fprintf(stderr, "Could not unlock scorefile!\n"); X return; X } X*************** X*** 683,703 **** X /* return pointer to NULL terminated date string */ X X extern char *index(); X! static char time[26]; X struct timeval v; X struct timezone z; X- char *nl; X X gettimeofday(&v, &z); X! sprintf(time,"%s", ctime(&v.tv_sec)); X X! if ((nl = index(time, '\n')) == NULL){ X fprintf(stderr,"date: ctime returned non-newline terminated string.\n"); X exit(1); X } X X *nl = '\0'; X! return time; X } X X void X--- 725,753 ---- X /* return pointer to NULL terminated date string */ X X extern char *index(); X! static char timestr[26]; /* TAR */ X! char *nl; X! X! #ifdef SYSV /* TAR */ X! long secs; X! X! secs = time((long *) 0); X! sprintf(timestr,"%s", ctime(&secs)); X! #else X struct timeval v; X struct timezone z; X X gettimeofday(&v, &z); X! sprintf(timestr,"%s", ctime(&v.tv_sec)); X! #endif X X! if ((nl = index(timestr, '\n')) == NULL){ X fprintf(stderr,"date: ctime returned non-newline terminated string.\n"); X exit(1); X } X X *nl = '\0'; X! return timestr; X } X X void END_OF_c4.c.diff if test 4222 -ne `wc -c <c4.c.diff`; then echo shar: \"c4.c.diff\" unpacked with wrong size! fi # end of overwriting check fi if test -f screen.c.diff -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"screen.c.diff\" else echo shar: Extracting \"screen.c.diff\" \(217 characters\) sed "s/^X//" >screen.c.diff <<'END_OF_screen.c.diff' X*** Orig/screen.c Thu Apr 27 07:35:27 1989 X--- screen.c Thu Apr 27 07:37:09 1989 X*************** X*** 116,121 **** X--- 116,122 ---- X refresh(); X nocrmode(); X echo(); X+ endwin(); /* TAR */ X } X X END_OF_screen.c.diff if test 217 -ne `wc -c <screen.c.diff`; then echo shar: \"screen.c.diff\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of shell archive. exit 0