--- ./Imakefile.org Sat Aug 28 19:21:40 1993 +++ ./Imakefile Thu Mar 23 22:37:37 1995 @@ -1,64 +1,64 @@ -#### Imakefile for YTalk version 3.0 #### -# -# NOTICE -# -# Copyright (c) 1990,1992,1993 Britt Yenne. All rights reserved. -# -# This software is provided AS-IS. The author gives no warranty, -# real or assumed, and takes no responsibility whatsoever for any -# use or misuse of this software, or any damage created by its use -# or misuse. -# -# This software may be freely copied and distributed provided that -# no part of this NOTICE is deleted or edited in any manner. -# - -################################### -## CONFIGURATION (The Fun Part) ## -################################### -# -# If your machine does not support TERMIOS (example: any NeXT running -# NeXTStep up to and including version 3.1), then uncomment the following -# line. +XCOMM ### Imakefile for YTalk version 3.0 #### +XCOMM +XCOMM NOTICE +XCOMM +XCOMM Copyright (c) 1990,1992,1993 Britt Yenne. All rights reserved. +XCOMM +XCOMM This software is provided AS-IS. The author gives no warranty, +XCOMM real or assumed, and takes no responsibility whatsoever for any +XCOMM use or misuse of this software, or any damage created by its use +XCOMM or misuse. +XCOMM +XCOMM This software may be freely copied and distributed provided that +XCOMM no part of this NOTICE is deleted or edited in any manner. +XCOMM + +XCOMM ################################## +XCOMM # CONFIGURATION (The Fun Part) ## +XCOMM ################################## +XCOMM +XCOMM If your machine does not support TERMIOS (example: any NeXT running +XCOMM NeXTStep up to and including version 3.1), then uncomment the following +XCOMM line. -#TDEFS = -DUSE_SGTTY +XCOMM TDEFS = -DUSE_SGTTY -# -# If you are running an older Sun OS using YP (now known as NIS), you might -# need to uncomment the next line if ytalk asks you "Who are you?" +XCOMM +XCOMM If you are running an older Sun OS using YP (now known as NIS), you might +XCOMM need to uncomment the next line if ytalk asks you "Who are you?" -#SLIBS = -lsun +XCOMM SLIBS = -lsun -# -# If you are on a sun running solaris 2.* you might need to uncomment the -# following line. +XCOMM +XCOMM If you are on a sun running solaris 2.* you might need to uncomment the +XCOMM following line. -#SLIBS = -lnsl -lsocket +XCOMM SLIBS = -lnsl -lsocket -# -# If your machine has a 64-bit architecture or uses 64-bit 'long's, then you -# will need to uncomment the following line. +XCOMM +XCOMM If your machine has a 64-bit architecture or uses 64-bit 'long's, then you +XCOMM will need to uncomment the following line. -#BDEFS = -DY64BIT +XCOMM BDEFS = -DY64BIT -# -# If you have (or want) a system-wide .ytalkrc file, uncomment the next -# line and set it to the correct pathname. The backslashes must remain -# before each double-quote. +XCOMM +XCOMM If you have (or want) a system-wide .ytalkrc file, uncomment the next +XCOMM line and set it to the correct pathname. The backslashes must remain +XCOMM before each double-quote. -#RCDEF = -DSYSTEM_YTALKRC=\"/usr/local/etc/ytalkrc\" +XCOMM RCDEF = -DSYSTEM_YTALKRC=\"/usr/local/etc/ytalkrc\" -# -# If you plan to install ytalk on your system, you may want to modify -# the following lines. Y_BINDIR is where the binary will be placed. -# Y_MANDIR is where the manpage will be placed. +XCOMM +XCOMM If you plan to install ytalk on your system, you may want to modify +XCOMM the following lines. Y_BINDIR is where the binary will be placed. +XCOMM Y_MANDIR is where the manpage will be placed. Y_BINDIR = /usr/local/bin Y_MANDIR = /usr/local/man/man1 -############################################################ -## Past this point, you shouldn't need to modify anything ## -############################################################ +XCOMM ########################################################### +XCOMM # Past this point, you shouldn't need to modify anything ## +XCOMM ########################################################### LIB = -lcurses -ltermcap $(SLIBS) $(XLIB) DEFINES = -DUSE_X11 -I/usr/local/include $(TDEFS) $(BDEFS) $(RCDEF) LDFLAGS = $(LDOPTIONS) @@ -86,7 +86,10 @@ install:: $(PRG) /bin/cp ytalk $(Y_BINDIR) + /usr/bin/strip $(Y_BINDIR)/ytalk /bin/cp ytalk.1 $(Y_MANDIR) + /bin/chmod 644 $(Y_MANDIR)/ytalk.1 + gzip -9nf $(Y_MANDIR)/ytalk.1 @echo "Ytalk installation complete." $(OBJ): header.h --- ./socket.c.org Sun Nov 21 08:32:18 1993 +++ ./socket.c Thu Mar 23 22:35:09 1995 @@ -54,6 +54,9 @@ int fd, socklen; sock->sin_family = AF_INET; +#ifdef OS386BSD + sock->sin_len = 0; +#endif IN_ADDR(*sock) = INADDR_ANY; IN_PORT(*sock) = 0; if((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) @@ -157,6 +160,9 @@ int socklen; autosock.sin_family = AF_INET; +#ifdef OS386BSD + autosock.sin_len = 0; +#endif IN_ADDR(autosock) = INADDR_ANY; IN_PORT(autosock) = 0; if((autofd = socket(AF_INET, SOCK_STREAM, 0)) < 0) @@ -212,7 +218,12 @@ } if(r == NULL) IN_ADDR(*sock) = me->host_addr; +#ifndef OS386BSD sock->sin_family = htons(AF_INET); +#else + sock->sin_family = AF_INET; + sock->sin_len = 0; +#endif } /* sendit() sends the completed message to the talk daemon at the given @@ -261,6 +272,9 @@ /* set up a sockaddr_in for the daemon we're sending to */ daemon.sin_family = AF_INET; +#ifdef OS386BSD + daemon.sin_len = 0; +#endif IN_ADDR(daemon) = addr; IN_PORT(daemon) = talkd[d].port; @@ -358,6 +372,9 @@ for(; c >= (char *)&orsp.id_num; c--) *c = *(c-2); } +#ifdef OS386BSD + orsp.addr.sin_len = 0; +#endif } /* Fill in the new talk response structure if we just read an @@ -398,6 +415,9 @@ return h->dtype; daemon.sin_family = AF_INET; +#ifdef OS386BSD + daemon.sin_len = 0; +#endif IN_ADDR(daemon) = addr; m1 = omsg; @@ -411,7 +431,12 @@ m1.r_tty[0] = m2.r_tty[0] = '\0'; strcpy(m1.r_name, "ytalk"); strcpy(m2.r_name, "ytalk"); +#ifndef OS386BSD m1.addr.sin_family = m2.addr.sin_family = htons(AF_INET); +#else + m1.addr.sin_family = m2.addr.sin_family = AF_INET; + m1.addr.sin_len = m2.addr.sin_len = 0; +#endif out = 0; for(i = 0; i < 5; i++) @@ -651,7 +676,12 @@ strncpy(nmsg.r_tty, user->tty_name, TTY_SIZE); } nmsg.addr = user->sock; +#ifndef OS386BSD nmsg.addr.sin_family = htons(AF_INET); +#else + nmsg.addr.sin_family = AF_INET; + nmsg.addr.sin_len = 0; +#endif if(sendit(addr, d) != 0) { if(type == AUTO_LOOK_UP || type == AUTO_DELETE) @@ -693,7 +723,12 @@ strcpy(nmsg.r_name, "+AUTO"); nmsg.r_tty[0] = '\0'; nmsg.addr = autosock; +#ifndef OS386BSD nmsg.addr.sin_family = htons(AF_INET); +#else + nmsg.addr.sin_family = AF_INET; + nmsg.addr.sin_len = 0; +#endif rc = 0; dtype = find_daemon(me->host_addr); @@ -737,6 +772,9 @@ int socklen, fd; user->sock.sin_family = AF_INET; +#ifdef OS386BSD + user->sock.sin_len = 0; +#endif IN_ADDR(user->sock) = INADDR_ANY; IN_PORT(user->sock) = 0; if((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) @@ -782,7 +820,9 @@ orig_sock = *(struct sockaddr_in *)&nrsp.addr; orig_sock.sin_family = AF_INET; - +#ifdef OS386BSD + orig_sock.sin_len = 0; +#endif /* it could be one of mine... */ for(u = user_list; u; u = u->unext) if(SOCK_EQUAL(orig_sock, u->orig_sock)) --- ./header.h.org Sun Nov 21 08:32:16 1993 +++ ./header.h Thu Mar 23 22:35:09 1995 @@ -16,6 +16,15 @@ /* Mail comments or questions to ytalk@austin.eds.com */ +/* ---- Sze-Yao Ni: compatibility for NetBSD and FreeBSD, + from jeli@csie.nctu.edu.tw ---- */ +#ifdef __NetBSD__ +# define OS386BSD +#endif +#ifdef __FreeBSD__ +# define OS386BSD +#endif + #include #ifdef LINUX # include @@ -223,7 +232,9 @@ /* ---- global variables ---- */ +#ifndef OS386BSD extern char *sys_errlist[]; /* system errors */ +#endif extern yuser *me; /* just lil' ol' me */ extern yuser *user_list; /* full list of invited/connected users */