[MacOS] PL14 patch

From: Dean Takemori (dean@UHHEPH.PHYS.HAWAII.EDU)
Date: 07/06/98


As promised, the small patches needed for PL14 on MacOS.  A README.MAC
is forthcoming, hopefully by the end of the week.

comm.c : 1) MacOS can handle some signals, but not all.  I moved the
            appropriate #ifdef around.
         2) The GUSI sockets library is derived from BSD, so it defines
            SO_LINGER, even though setsockopt() is unimplimented.
         3) The third parameter to accept() should be int.

sysdep.h : 1) define socket_t and CLOSE_SOCK()
           2) add fdopen() prototype inside an appropriate #ifdef

conf.h.mac : adds a #define NEED_FDOPEN_PROTO for above.  No idea if
             any other systems need it, but this is the consistant
             way of adding this support.

Note, the conf.h.mac here is minimalist on purpose - to avoid spamming
the list with a hundred more lines of #undefs.  The appropriate conf.h.mac
would derive from conf.h.in.

--- comm.c.orig Sat Jul  4 12:29:58 1998
+++ comm.c      Sun Jul  5 07:44:56 1998
@@ -314,7 +314,7 @@

   boot_db();

-#ifdef CIRCLE_UNIX
+#if defined (CIRCLE_UNIX) || defined(CIRCLE_MACINTOSH)
   log("Signal trapping.");
   signal_setup();
 #endif
@@ -401,7 +401,7 @@

   set_sendbuf(s);

-#if defined(SO_LINGER)
+#if defined(SO_LINGER) && !defined(CIRCLE_MACINTOSH)
   {
     struct linger ld;

@@ -1165,7 +1165,7 @@
 {
   socket_t desc;
   int sockets_connected = 0;
-  unsigned int i;
+  int i;
   static int last_desc = 0;    /* last descriptor number */
   struct descriptor_data *newd;
   struct sockaddr_in peer;
@@ -1923,6 +1923,8 @@
     tics = 0;
 }

+#endif /* CIRCLE_UNIX */
+
 RETSIGTYPE hupsig(int sig)
 {
   log("SYSERR: Received SIGHUP, SIGINT, or SIGTERM.  Shutting down...");
@@ -2003,7 +2005,6 @@
   my_signal(SIGALRM, SIG_IGN);
 }

-#endif /* CIRCLE_UNIX */
 #endif /* CIRCLE_UNIX || CIRCLE_MACINTOSH */

 /* ****************************************************************
--- sysdep.h.orig       Wed Mar  4 21:37:18 1998
+++ sysdep.h    Sun Jul  5 07:32:10 1998
@@ -284,6 +284,8 @@
 # define CLOSE_SOCKET(sock)    close(sock)

 #elif defined(CIRCLE_MACINTOSH)        /* Macintosh definitions. */
+  typedef int socket_t;
+# define CLOSE_SOCKET(sock)    close(sock)

 #elif defined(CIRCLE_ACORN)    /* Definitions for Acorn. */
   typedef int socket_t;
@@ -383,6 +385,10 @@

 #ifdef NEED_FCLOSE_PROTO
    int fclose(FILE *stream);
+#endif
+
+#ifdef NEED_FDOPEN_PROTO
+   FILE *fdopen(int fd, const char *mode);
 #endif

 #ifdef NEED_FFLUSH_PROTO
/*
 * conf.h.mac : This is a minimal file to #define the symbols needed to
 *              compile Circle 3.0 bPL14 for MacOS with CodeWarrior Pro2
 *              and the GUSI 1.8.3 library.
 *
 *              The comments and unneeded #undefs were removed to make
 *              it short enough to post to the mailing list.
 *
 *              A distribution copy of this file should include all the
 *              #define/#undef lines to make it easy to tweak for different
 *              compiler/library versions.
 */

#define CIRCLE_MACINTOSH 1

#undef CIRCLE_UNIX
#undef CIRCLE_WINDOWS
#undef CIRCLE_AMIGA
#undef CIRCLE_ACORN
#undef CIRCLE_OS2

#define HAVE_SYS_ERRNO_H 1
#define RETSIGTYPE void
#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1
#define HAVE_ASSERT_H 1
#define HAVE_FCNTL_H 1
#define HAVE_LIMITS_H 1
#define HAVE_MEMORY_H 1
#define HAVE_NETDB_H 1
#define HAVE_NETINET_IN_H 1
#define HAVE_SIGNAL_H
#define HAVE_STRING_H 1
#define HAVE_STRINGS_H 1
#define HAVE_SYS_ERNO_H 1
#define HAVE_SYS_FCNTL_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define NEED_FDOPEN_PROTO 1
#define NEED_INET_NTOA_PROTO 1


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST