home *** CD-ROM | disk | FTP | other *** search
- From: ml@brumuc.bru.sub.org (Marc Laukien)
- Newsgroups: alt.sources
- Subject: UnixChat Part 2/2
- Message-ID: <1110@brumuc.bru.sub.org>
- Date: 22 Jan 91 15:24:57 GMT
-
- #!/bin/sh
- # this is chat.02 (part 2 of UnixChat)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file cm/int.c continued
- #
- if touch 2>&1 | fgrep 'amc' > /dev/null
- then TOUCH=touch
- else TOUCH=true
- fi
- if test ! -r shar3_seq_.tmp; then
- echo "Please unpack part 1 first!"
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 2; then
- echo "Please unpack part $Scheck next!"
- exit 1
- else
- exit 0
- fi
- ) < shar3_seq_.tmp || exit 1
- echo "x - Continuing file cm/int.c"
- sed 's/^X//' << 'SHAR_EOF' >> cm/int.c &&
- X if(userlist[j].pid!= -1 && userlist[j].pid!= msg->pid)
- X send_msg(&umsg,&userlist[j]);/* senden */
- X }
- X break;
- X
- X case CNAME: /* Namen aendern */
- X i=0;
- X while(userlist[i].pid != msg->pid && i<MAXUSER)
- X i++; /* Eintrag suchen */
- X
- X if(i!=MAXUSER) /* gefunden ? */
- X {
- X UMSG umsg;
- X
- X sprintf(umsg.text,"%s %s",userlist[i].cname,msg->text);
- X umsg.typ=CNAME; /* Message aufbereiten */
- X
- X strcpy(userlist[i].cname,msg->text); /* neuer Name */
- X
- X for(j=0;j<MAXUSER;j++) /* alle User durchgehen */
- X if(userlist[j].pid!= -1 && userlist[j].pid!= msg->pid)
- X send_msg(&umsg,&userlist[j]);/* senden */
- X
- X write_conf(); /* Conf-Datei neu anlegen */
- X }
- X break;
- X
- X case KILL: /* User rauswerfen */
- X i=0;
- X while(userlist[i].pid != msg->pid && i<MAXUSER)
- X i++; /* Eintrag suchen */
- X
- X if(i!=MAXUSER) /* gefunden ? */
- X {
- X int k;
- X UMSG umsg,umsg2;
- X
- X /* --- rauswerfen ----------------------------- */
- X sprintf(umsg.text,"%s",userlist[i].cname);
- X umsg.typ=QUIT; /* Message aufbereiten */
- X
- X for(j=0;j<MAXUSER;j++) /* alle User durchgehen */
- X if(!strcmp(userlist[j].name,msg->text) && userlist[j].pid!= -1)
- X {
- X send_msg(&umsg,&userlist[j]);/* senden */
- X
- X /* --- anderen mitteilen -------------- */
- X sprintf(umsg2.text,"%s",userlist[j].cname);
- X umsg2.typ=KILL; /* Message aufbereiten */
- X
- X userlist[j].pid= -1; /* Daten loeschen */
- X usernr--; /* ein User weniger */
- X
- X for(k=0;k<MAXUSER;k++) /* alle User durchgehen */
- X if(userlist[k].pid!= -1) /* senden */
- X send_msg(&umsg2,&userlist[k]);
- X }
- X
- X write_conf(); /* Conf-Datei neu anlegen */
- X }
- X break;
- X
- X } /* Ende switch */
- X }
- X while(msg->typ != QUIT);
- X}
- X
- X/*----------------------------------------------------------------------*/
- X/* Konferenzdatei neuschreiben */
- X/*----------------------------------------------------------------------*/
- X
- Xvoid write_conf()
- X
- X{
- X char str[STRLEN];
- X FILE *fp; /* Filepointer */
- X int i;
- X
- X sprintf(str,"confdir/%s",conf); /* Konferenz-File */
- X
- X fp=fopen(str,"w"); /* oeffnen */
- X
- X if(fp==(FILE *)0) /* schon belegt ? */
- X {
- X fprintf(stderr,"%s: %s\n",pname,sys_errlist[errno]);
- X deinit();
- X exit(2);
- X }
- X
- X fprintf(fp,"%ld\n",key); /* Key schreiben */
- X fprintf(fp,"%s\n",password); /* Password schreiben */
- X
- X for(i=0;i<MAXUSER;i++) /* alle User durchgehen */
- X if(userlist[i].pid!= -1) /* Name schreiben */
- X fprintf(fp,"%s %s\n",
- X userlist[i].name,userlist[i].cname);
- X
- X fclose(fp); /* schliessen */
- X}
- SHAR_EOF
- echo "File cm/int.c is complete" &&
- $TOUCH -am 0806102590 cm/int.c &&
- chmod 0600 cm/int.c ||
- echo "restore of cm/int.c failed"
- set `wc -c cm/int.c`;Wc_c=$1
- if test "$Wc_c" != "5033"; then
- echo original size 5033, current size $Wc_c
- fi
- # ============= cm/main.c ==============
- echo "x - extracting cm/main.c (Text)"
- sed 's/^X//' << 'SHAR_EOF' > cm/main.c &&
- X/*----------------------------------------------------------------------*/
- X/* */
- X/* Name: ChatManager V2.9 */
- X/* */
- X/* Programmteil: Hauptprogramm */
- X/* */
- X/* Library: UNIX V */
- X/* */
- X/* Autor: Marc Laukien */
- X/* */
- X/*----------------------------------------------------------------------*/
- X
- X#include <sys/types.h>
- X#include <stdio.h>
- X#include <signal.h>
- X#include "cm.h"
- X
- Xextern char *getcwd();
- X
- X/* globale Variablen */
- X
- Xchar *pname; /* Programmname: argv[0] */
- Xchar *cwd; /* Working Directory */
- Xchar conf[STRLEN]="sysconf"; /* Konferenzname */
- Xint conf_on=0; /* 0: Konferenz noch nicht an */
- Xint stop=1; /* 1 = nach WAITTIME anhalten */
- Xchar password[STRLEN]=STDPASS; /* Passwort */
- X
- Xlong key= -1; /* Key der Manager-FIFO */
- Xint fifofd= -1; /* Manager FIFO fd */
- X
- XUSER userlist[MAXUSER]; /* Liste aller Teilnehmer */
- Xint usernr=0; /* Number of Users */
- X
- X/*----------------------------------------------------------------------*/
- X/* Hauptprogramm */
- X/*----------------------------------------------------------------------*/
- X
- Xint main(argc,argv,envp)
- X
- Xint argc;
- Xchar *argv[];
- Xchar *envp[];
- X{
- X extern char *optarg;
- X extern int optind,opterr;
- X char ch;
- X
- X cwd=getcwd((char *)0,STRLEN); /* Directory retten */
- X chdir(LIBDIR); /* Directory einstellen */
- X
- X signal(SIGHUP,interrupt); /* Interrupt einstellen */
- X signal(SIGINT,interrupt);
- X signal(SIGQUIT,interrupt);
- X signal(SIGTERM,interrupt);
- X
- X pname=argv[0]; /* Programmname */
- X
- X /* Optionen einlesen *******************************************/
- X
- X opterr=1;
- X while((ch=getopt(argc,argv,"p:c:n"))!=EOF)
- X switch(ch)
- X {
- X case 'c': /* andere Konferenz */
- X strcpy(conf,optarg);
- X break;
- X
- X case 'p': /* andere Konferenz */
- X strcpy(password,optarg);
- X break;
- X
- X case 'n': /* nicht aufhoeren */
- X stop=0;
- X break;
- X
- X case '?': /* Fehler */
- X opterr++;
- X break;
- X }
- X
- X if(opterr>1) /* falsche Optionen */
- X {
- X fprintf(stderr,
- X "usage: %s [-c conf] [-p password] [-n]\n",pname);
- X exit(2);
- X }
- X
- X /* Ende Optionen einlesen **************************************/
- X
- X if(strlen(conf)>10) /* Name zu lang ? */
- X {
- X fprintf(stderr,"%s: conference name too long\n",pname);
- X exit(2);
- X }
- X
- X init(); /* Initialisierungen */
- X
- X msg_int(); /* Messageinterpreter */
- X
- X deinit(); /* Deinitialisierungen */
- X
- X return(0); /* Tschuess */
- X}
- X
- X/*----------------------------------------------------------------------*/
- X/* Interruptroutine */
- X/*----------------------------------------------------------------------*/
- X
- Xvoid interrupt()
- X
- X{
- X deinit();
- X exit(0);
- X}
- X
- SHAR_EOF
- $TOUCH -am 0806102590 cm/main.c &&
- chmod 0600 cm/main.c ||
- echo "restore of cm/main.c failed"
- set `wc -c cm/main.c`;Wc_c=$1
- if test "$Wc_c" != "2689"; then
- echo original size 2689, current size $Wc_c
- fi
- # ============= cm/comm.c ==============
- echo "x - extracting cm/comm.c (Text)"
- sed 's/^X//' << 'SHAR_EOF' > cm/comm.c &&
- X/*----------------------------------------------------------------------*/
- X/* */
- X/* Name: ChatManager V2.9 */
- X/* */
- X/* Programmteil: Kommunikation */
- X/* */
- X/* Library: UNIX V */
- X/* */
- X/* Autor: Marc Laukien */
- X/* */
- X/*----------------------------------------------------------------------*/
- X
- X#include <stdio.h>
- X#include <fcntl.h>
- X#include <errno.h>
- X#include <setjmp.h>
- X#include <signal.h>
- X#include "cm.h"
- X
- Xjmp_buf env; /* Environment */
- X
- X/*----------------------------------------------------------------------*/
- X/* Message empfangen */
- X/*----------------------------------------------------------------------*/
- X
- XMSG *recv_msg()
- X{
- X static MSG msg; /* Message */
- X int ret; /* Return von read() */
- X
- X if(usernr==0 && stop) /* nach WAITTIME secs beenden */
- X { /* falls kein User mehr */
- X signal(SIGALRM,interrupt);/* Interrupt setzen */
- X alarm(WAITTIME); /* Wecker setzen */
- X }
- X
- X if(setjmp(env)==0) /* Interrupt ? */
- X {
- X while((ret=read(fifofd,&msg,sizeof(MSG)))==0)
- X /* empfangen */
- X sleep(2);
- X
- X if(ret == -1)
- X {
- X fprintf(stderr,"%s: %s (recv_msg)\n"
- X ,pname,sys_errlist[errno]);
- X deinit();
- X exit(2); /* Fehler */
- X }
- X }
- X else
- X msg.typ=QUIT; /* Aussteigen */
- X
- X signal(SIGALRM,SIG_IGN); /* Interrupt ruecksetzen */
- X
- X return(&msg); /* Message als Returnwert */
- X}
- X
- Xstatic void interrupt()
- X{
- X longjmp(env,1); /* Ruecksprung */
- X}
- X
- X/*----------------------------------------------------------------------*/
- X/* Message senden */
- X/*----------------------------------------------------------------------*/
- X
- Xvoid send_msg(umsg,user)
- X
- XMSG *umsg; /* zu sendende Message */
- XUSER *user; /* Benutzer */
- X{
- X int fd;
- X char str[STRLEN];
- X
- X sprintf(str,"fifodir/%ld",user->key);
- X fd=open(str,O_WRONLY | O_NDELAY); /* FIFO oeffnen */
- X if(fd== -1) /* Fehler ? */
- X {
- X user->pid= -1; /* Daten loeschen */
- X usernr--; /* ein User weniger */
- X }
- X
- X if(write(fd,umsg,sizeof(UMSG)) == -1) /* senden */
- X {
- X fprintf(stderr,"%s: %s (send_msg)\n",pname,sys_errlist[errno]);
- X user->pid= -1; /* User sperren */
- X
- X write_conf(); /* Conf-Datei neu anlegen */
- X }
- X else /* senden gelungen */
- X kill(user->pid,SIGUSR1); /* unterbrechen */
- X
- X close(fd);
- X}
- SHAR_EOF
- $TOUCH -am 0106163991 cm/comm.c &&
- chmod 0600 cm/comm.c ||
- echo "restore of cm/comm.c failed"
- set `wc -c cm/comm.c`;Wc_c=$1
- if test "$Wc_c" != "2311"; then
- echo original size 2311, current size $Wc_c
- fi
- # ============= ch/lex.l ==============
- echo "x - extracting ch/lex.l (Text)"
- sed 's/^X//' << 'SHAR_EOF' > ch/lex.l &&
- X/*----------------------------------------------------------------------*/
- X/* */
- X/* Name: Chat V2.9 */
- X/* */
- X/* Programmteil: externe Strings einlesen */
- X/* */
- X/* Library: UNIX V + lex */
- X/* */
- X/* Autor: Marc Laukien */
- X/* */
- X/*----------------------------------------------------------------------*/
- X
- X%{
- X#include <string.h>
- X#include <ctype.h>
- X
- Xextern char *malloc();
- Xextern void exit();
- X
- Xextern char *pname; /* Programmname */
- Xextern char lang[]; /* langinitionfile */
- Xextern int errno; /* Fehlernummer */
- Xextern char *sys_errlist[]; /* Fehlertexte */
- X
- Xextern int atoi();
- X
- Xvoid lex();
- Xstatic void insert();
- Xstatic int getnr();
- X
- Xstatic char str[100]; /* String */
- X
- Xchar *cmds; /* Kommandos */
- Xchar *prompt; /* Prompt */
- Xchar *press_key; /* Tastendruck */
- Xchar *conf_name; /* Konferenzname */
- Xchar *password; /* Passwort */
- Xchar *arr; /* Ankunft */
- Xchar *dep; /* Verlassen */
- Xchar *start; /* Startmeldung */
- Xchar *fire; /* Rauswurf */
- Xchar *help; /* helpfile */
- Xchar *menufile; /* Menuefile */
- Xchar *invit; /* Einladung */
- Xchar *who; /* Who-Kommando */
- Xchar *msg; /* msg-Kommando */
- Xchar *inv; /* invitation-Kommando */
- Xchar *nouser; /* User gibt es nicht */
- Xchar *not_online; /* User nicht online */
- Xchar *nocmd; /* Fehler */
- Xchar *nomode; /* Unbekannter Modus */
- Xchar *nomsg; /* Messages gesperrt */
- Xchar *members; /* Teilnehmer */
- Xchar *msg_from; /* Nachricht von */
- X
- X%}
- X
- XT [ \t]
- XS \".*\"
- XN "["[0-9]*"]"
- X%%
- X#.*\n { ; /* Kommentar */ }
- X"cmds"{T}*{S} { insert(&cmds); }
- X"prompt"{T}*{S} { insert(&prompt); }
- X"press_key"{T}*{S} { insert(&press_key); }
- X"conf_name"{T}*{S} { insert(&conf_name); }
- X"password"{T}*{S} { insert(&password); }
- X"arrival"{T}*{S} { insert(&arr); }
- X"departure"{T}*{S} { insert(&dep); }
- X"kill"{T}*{S} { insert(&fire); }
- X"start"{T}*{S} { insert(&start); }
- X"help"{T}*{S} { insert(&help); }
- X"menu"{T}*{S} { insert(&menufile); }
- X"invit"{T}*{S} { insert(&invit); }
- X"who"{T}*{S} { insert(&who); }
- X"msg"{T}*{S} { insert(&msg); }
- X"inv"{T}*{S} { insert(&inv); }
- X"nouser"{T}*{S} { insert(&nouser); }
- X"not_online"{T}*{S} { insert(¬_online); }
- X"nocmd"{T}*{S} { insert(&nocmd); }
- X"nomsg"{T}*{S} { insert(&nomsg); }
- X"nomode"{T}*{S} { insert(&nomode); }
- X"members"{T}*{S} { insert(&members); }
- X"msg_from"{T}*{S} { insert(&msg_from); }
- X
- X[ \t\n] { ; /* Leerstellen, Tabs und Newline ignorieren */ }
- X. { fprintf(stderr,
- X "%s: syntax error in %s at line %d\n"
- X ,pname,str,yylineno);
- X deinit();
- X exit(1);
- X } /* Fehler */
- X%%
- X
- Xvoid lex()
- X{
- X FILE *fp; /* Filepointer */
- X
- X sprintf(str,"def.%s",lang); /* aufbereiten */
- X if((fp=fopen(str,"r"))==(FILE *)0) /* oeffnen */
- X {
- X fprintf(stderr,"%s: %s\n",pname,sys_errlist[errno]);
- X deinit();
- X exit(1);
- X }
- X
- X yyin = fp; /* Input setzen */
- X
- X yylex();
- X
- X fclose(fp); /* schliessen */
- X}
- X
- Xstatic void insert(pt) /* String einfuegen */
- Xchar **pt;
- X{
- X char st[100];
- X char *s;
- X int i;
- X
- X s=st;
- X
- X strcpy(s,yytext);
- X while(*s != '"')
- X s++;
- X s++;
- X
- X i=0;
- X while(s[i] != '"')
- X i++;
- X s[i]=0;
- X
- X *pt=(char *)malloc((unsigned)(strlen(s)+1));
- X strcpy(*pt,s);
- X}
- X
- Xstatic int getnr() /* Stringnummer holen */
- X{
- X char st[100];
- X char *s;
- X int i;
- X
- X s=st;
- X
- X strcpy(s,yytext);
- X while(!isdigit(*s))
- X s++;
- X
- X i=0;
- X while(isdigit(s[i]))
- X i++;
- X s[i]=0;
- X
- X return(atoi(s));
- X}
- X
- SHAR_EOF
- $TOUCH -am 0806174890 ch/lex.l &&
- chmod 0600 ch/lex.l ||
- echo "restore of ch/lex.l failed"
- set `wc -c ch/lex.l`;Wc_c=$1
- if test "$Wc_c" != "3456"; then
- echo original size 3456, current size $Wc_c
- fi
- # ============= ch/ch.h ==============
- echo "x - extracting ch/ch.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > ch/ch.h &&
- X/* Headerdatei zur Verwendung von Chatter V2.9 */
- X
- X#include "std.h" /* Standarddefinitionen */
- X#include "ipc.h" /* Interprozesskommunikation */
- X
- X#define CLEAR {putp(clear_screen);putp(cursor_home);}
- X
- X#define ESC 27 /* Escape */
- X#define RET 13 /* Return */
- X#define NL 10 /* Linefeed */
- X#define BS 8 /* Backspace */
- X#define DEL 127 /* Delete */
- X#define BELL 7 /* Bell */
- X#define TAB 9 /* Tabulator */
- X
- X#define REVERSE 1 /* Eingabe invers statt Bold */
- X#define JUMP 2 /* Scrollen der Eingabezeile */
- X#define BEEPER 4 /* Beep bei Messages */
- X#define STDMODE (BEEPER|JUMP) /* Standardmodus */
- X
- Xextern int terminfo; /* Falls 1: Terminfo ist an */
- Xextern struct termio term,oterm; /* Terminaldaten */
- X
- Xextern char *pname; /* Programmname: argv[0] */
- Xextern char *cwd; /* Working Directory */
- Xextern char lang[]; /* Sprache */
- Xextern char conf[]; /* Konferenzname */
- Xextern char cname[]; /* Chatname */
- X
- Xextern char *cmds; /* Kommandos */
- Xextern char *prompt; /* Prompt */
- Xextern char *press_key; /* Tastendruck */
- Xextern char *conf_name; /* Konferenzname */
- Xextern char *password; /* Passwort */
- Xextern char *arr; /* Ankunft */
- Xextern char *dep; /* Verlassen */
- Xextern char *start; /* Startmeldung */
- Xextern char *fire; /* Rauswurf */
- Xextern char *help; /* Helpfile */
- Xextern char *menufile; /* Menuefile */
- Xextern char *invit; /* Einladung */
- Xextern char *who; /* Who-Kommando */
- Xextern char *msg; /* write-Kommando */
- Xextern char *inv; /* invitation-Kommando */
- Xextern char *nouser; /* User gibt es nicht */
- Xextern char *not_online; /* User nicht online */
- Xextern char *nocmd; /* Falsches Kommando */
- Xextern char *nomsg; /* Messages gesperrt */
- Xextern char *nomode; /* Unbekannter Modus */
- Xextern char *members; /* Teilnehmer */
- Xextern char *msg_from; /* Nachricht von */
- X
- Xextern int len; /* Laenge der letzten Zeile */
- Xextern char *fkey[]; /* Funktionstasten */
- X
- Xextern int mode; /* Modus */
- Xextern int superuser; /* falls 1: Super-User */
- Xextern int guest; /* falls 1: Gast */
- Xextern int menu; /* falls 1: Menue aufrufen */
- Xextern char pw[STRLEN]; /* Passwort */
- X
- Xextern long key; /* Key der Manager-FIFO */
- Xextern int fifofd; /* Manager FIFO fd */
- Xextern long pkey; /* Key der privaten FIFO */
- Xextern int pfifofd; /* private FIFO fd */
- X
- Xextern UMSG *recv_msg(); /* Message empfangen */
- X
- Xextern int main(); /* Hauptprogramm */
- Xextern int output(); /* Messageausgabe */
- Xextern int conf_init(); /* Konf. Initial. */
- Xextern int grep(); /* eigenes grep */
- X
- Xextern char *read_string(); /* String einlesen */
- X
- Xextern void lex(); /* Strings einlesen */
- Xextern void interrupt(); /* Interrupt */
- Xextern void init(); /* Initialisierungen */
- Xextern void conf_deinit(); /* Konf. Deinitial. */
- Xextern void conf_members(); /* Konferenzteilnehmer */
- Xextern void deinit(); /* Deinitialisierungen */
- Xextern void chat_menu(); /* Chatmenue */
- Xextern void menu_key(); /* Tastendruck */
- Xextern void input(); /* Eingabe */
- Xextern void input_str(); /* String eingeben */
- Xextern void send_msg(); /* Message senden */
- Xextern void announce(); /* Anmelden */
- Xextern void give_notice(); /* Abmelden */
- Xextern void pub_msg(); /* oeffentl. Message */
- Xextern void noprompt_msg(); /* oef. Mes. o. prompt */
- Xextern void priv_msg(); /* private Message */
- Xextern void chat_help(); /* Hilfestellung */
- Xextern void chat_mode(); /* Parser fuer Modi */
- Xextern void chat_fkey(); /* Funktionstasten */
- Xextern void chat_pr_fkey(); /* F-Tasten progr. */
- Xextern void change_name(); /* Namensaenderung */
- Xextern void kill_user(); /* User rauswerfen */
- Xextern void invite(); /* User einladen */
- Xextern void message(); /* Nachricht schicken */
- SHAR_EOF
- $TOUCH -am 0806175790 ch/ch.h &&
- chmod 0600 ch/ch.h ||
- echo "restore of ch/ch.h failed"
- set `wc -c ch/ch.h`;Wc_c=$1
- if test "$Wc_c" != "3789"; then
- echo original size 3789, current size $Wc_c
- fi
- # ============= cm/cm.h ==============
- echo "x - extracting cm/cm.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > cm/cm.h &&
- X/* Headerdatei zur Verwendung von ChatManager V2.9 */
- X
- X#include "std.h" /* Standarddefinitionen */
- X#include "ipc.h" /* Interprozesskommunikation */
- X
- X#define MAXUSER 100 /* Maximale Anzahl der Teilnehmer */
- X#define WAITTIME 30 /* Beendigungszeit, falls kein User */
- X
- Xtypedef struct /* Userstructur */
- X{
- X int pid; /* Process ID */
- X char name[STRLEN]; /* Loginname */
- X char cname[STRLEN]; /* Chatname */
- X long key; /* FIFO Key */
- X} USER;
- X
- Xextern char *pname; /* Programmname: argv[0] */
- Xextern char *cwd; /* Working Directory */
- Xextern char conf[]; /* Konferenzname */
- Xextern int conf_on; /* 0: Konferenz noch nicht an */
- Xextern int stop; /* 1 = nach WAITTIME anhalten */
- Xextern char password[STRLEN]; /* Passwort */
- X
- Xextern long key; /* Key der Manager-FIFO */
- Xextern int fifofd; /* Manager FIFO fd */
- X
- Xextern USER userlist[]; /* Liste aller Teilnehmer */
- Xextern int usernr; /* Anzahl der Users */
- X
- Xextern MSG *recv_msg(); /* Message empfangen */
- X
- Xextern int main(); /* Hauptprogramm */
- X
- Xextern void interrupt(); /* Interrupt */
- Xextern void init(); /* Initialisierungen */
- Xextern void deinit(); /* Deinitialisierungen */
- Xextern void send_msg(); /* Message senden */
- Xextern void msg_int(); /* Message-Interpreter */
- Xextern void write_conf(); /* Konferenz schreiben */
- SHAR_EOF
- $TOUCH -am 0806110790 cm/cm.h &&
- chmod 0600 cm/cm.h ||
- echo "restore of cm/cm.h failed"
- set `wc -c cm/cm.h`;Wc_c=$1
- if test "$Wc_c" != "1318"; then
- echo original size 1318, current size $Wc_c
- fi
- # ============= hdrs/ipc.h ==============
- if test ! -d 'hdrs'; then
- echo "x - creating directory hdrs"
- mkdir 'hdrs'
- fi
- echo "x - extracting hdrs/ipc.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > hdrs/ipc.h &&
- X/* Headerdatei fuer Interprozesskommunikation */
- X
- X#define EMPTY 0 /* leer */
- X#define ARRIVAL 1 /* Anmeldung */
- X#define DEPARTURE 2 /* Abmeldung */
- X#define MESSAGE 3 /* Nachricht */
- X#define NOPROMPT 4 /* Nachricht ohne Prompt*/
- X#define CNAME 5 /* Namen aendern */
- X#define QUIT 6 /* Konference beenden */
- X#define KILL 7 /* Rauswerfen */
- X#define NOUSER 8 /* User existiert nicht */
- X
- X/* Headerdatei mit Messagedefinitionen */
- X
- Xtypedef struct /* Messagestructur */
- X{
- X int pid; /* Process ID */
- X int typ; /* Messagetyp */
- X
- X char text[TEXTLEN]; /* Messagetext */
- X} MSG;
- X
- Xtypedef struct /* Messagestructur an die User */
- X{
- X int typ; /* Messagetyp */
- X
- X char text[TEXTLEN]; /* Messagetext */
- X} UMSG;
- SHAR_EOF
- $TOUCH -am 0604100390 hdrs/ipc.h &&
- chmod 0600 hdrs/ipc.h ||
- echo "restore of hdrs/ipc.h failed"
- set `wc -c hdrs/ipc.h`;Wc_c=$1
- if test "$Wc_c" != "745"; then
- echo original size 745, current size $Wc_c
- fi
- # ============= hdrs/std.h ==============
- echo "x - extracting hdrs/std.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > hdrs/std.h &&
- X/* Headerdatei fuer Standarddefinitionen */
- X
- X#ifndef LIBDIR /* Arbeitsdirectory */
- X#define LIBDIR "."
- X#endif
- X
- X#ifndef BINDIR /* Arbeitsdirectory */
- X#define BINDIR "."
- X#endif
- X
- X#define STDPASS "~'#$%&(%&?='`" /* Standardpasswort */
- X
- X#define STRLEN 100 /* Laenge von Strings */
- X#define TEXTLEN 140 /* Laenge des Messagetextes */
- X#define MAXBYTES (sizeof(MSG)*8) /* Max. Anz. von Bytes in Queue */
- X#define MAXTRYS 10 /* Max. Anz. von Schreibvers. */
- X#define MODE 0600 /* Creation Mode */
- X
- X#define FOREVER while(1) /* Endlosschleife */
- X
- Xextern int errno; /* Fehlernummer */
- Xextern char *sys_errlist[]; /* Fehlertexte */
- X
- Xextern void exit(); /* Programmende */
- X
- Xextern char getopt(); /* Option einlesen */
- X
- Xextern char *getlogin(); /* Loginnnamen holen */
- Xextern char *getcwd(); /* get current workdir. */
- Xextern char *getenv(); /* get environment */
- X
- X
- X
- SHAR_EOF
- $TOUCH -am 0604100490 hdrs/std.h &&
- chmod 0600 hdrs/std.h ||
- echo "restore of hdrs/std.h failed"
- set `wc -c hdrs/std.h`;Wc_c=$1
- if test "$Wc_c" != "889"; then
- echo original size 889, current size $Wc_c
- fi
- # ============= def.german ==============
- echo "x - extracting def.german (Text)"
- sed 's/^X//' << 'SHAR_EOF' > def.german &&
- X# ----------------------
- X# Strings fuer Chat V2.9
- X# (c) 1990 by M. Laukien
- X# ----------------------
- X
- X# Kommandos:
- X# 1. Ende
- X# 2. Hilfe
- X# 3. Wer ist im System
- X# 4. Wer ist im Chat
- X# 5. clear
- X# 6. Blitzmeldung
- X# 7. Einladung
- X# 8. Namensaenderung
- X# 9. Kill
- X# 10. Message ohne Prompt
- X# 11. Mode
- X# 12. F-Key programmieren
- X# 13. F-Key abrufen
- Xcmds "x?wsctinkampf"
- X
- X# Unix-Kommndos
- Xwho "/bin/who" # who-cmd.
- X
- X# Fehlermeldungen
- Xnouser "*** Fehler: %s: diesen User gibt es nicht ***"
- Xnot_online "*** Fehler: %s ist nicht online ***"
- Xnomsg "*** Fehler: %s hat Mitteilungen gesperrt ***"
- Xnocmd "*** Fehler: Unbekanntes Kommando (:? fuer Hilfe) ***"
- Xnomode "*** Fehler: Unbekannter Modus ***"
- X
- X# Diverse Strings
- Xstart "UNIX-Chat V2.9 :? fuer Hilfe" # Startmeldung
- Xprompt "> " # Prompt-String
- Xpress_key "<Taste>" # Tastendruck
- Xconf_name "Konferenzname : " # Konferenzname
- Xpassword "Passwort : " # Passwort
- Xarrival "betritt die Konferenz" # Betreten
- Xdeparture "verlaesst die Konferenz" # Verlassen
- Xkill "verlaesst unfreiwillig die Konferenz" # Kill
- Xmembers "Konferenzteilnehmer:" # Konferenzteilnehmer
- Xinv "Einladung zur Konferenz" # Einladung
- Xmenu "menu.german" # Menuetext
- Xhelp "help.german" # Hilfstext
- Xmsg_from "Nachricht von %s" # Nachricht von
- SHAR_EOF
- $TOUCH -am 0122160391 def.german &&
- chmod 0600 def.german ||
- echo "restore of def.german failed"
- set `wc -c def.german`;Wc_c=$1
- if test "$Wc_c" != "1269"; then
- echo original size 1269, current size $Wc_c
- fi
- # ============= def.english ==============
- echo "x - extracting def.english (Text)"
- sed 's/^X//' << 'SHAR_EOF' > def.english &&
- X# ----------------------
- X# Strings fuer Chat V2.9
- X# (c) 1990 by M. Laukien
- X# ----------------------
- X
- X# Kommandos:
- X# 1. Ende
- X# 2. Hilfe
- X# 3. Wer ist im System
- X# 4. Wer ist im Chat
- X# 5. clear
- X# 6. Blitzmeldung
- X# 7. Einladung
- X# 8. Namensaenderung
- X# 9. Kill
- X# 10. Message ohne Prompt
- X# 11. Mode
- X# 12. F-Key programmieren
- X# 13. F-Key abrufen
- Xcmds "x?wsctinkampf"
- X
- X# Unix-Kommndos
- Xwho "/bin/who" # who-cmd.
- X
- X# Fehlermeldungen
- Xnouser "*** error: %s: no such user ***"
- Xnot_online "*** error: %s is not online ***"
- Xnomsg "*** error: %s denies messages ***"
- Xnocmd "*** error: unknown command (:? for help) ***"
- Xnomode "*** error: unknown mode ***"
- X
- X# Diverse Strings
- Xstart "UNIX-Chat V2.9 :? for help" # Startmeldung
- Xprompt "> " # Prompt-String
- Xpress_key "<press any key>" # Tastendruck
- Xconf_name "conference name : " # Konferenzname
- Xpassword "password : " # Passwort
- Xarrival "enters the conference" # Betreten
- Xdeparture "leaves the conference" # Verlassen
- Xkill "has been killed" # Kill
- Xmembers "conferencemembers:" # Konferenzteilnehmer
- Xinv "invitation to conference" # Einladung
- Xmenu "menu.english" # Menuetext
- Xhelp "help.english" # Hilfstext
- Xmsg_from "message from %s" # Nachricht von
- SHAR_EOF
- $TOUCH -am 0122160391 def.english &&
- chmod 0600 def.english ||
- echo "restore of def.english failed"
- set `wc -c def.english`;Wc_c=$1
- if test "$Wc_c" != "1212"; then
- echo original size 1212, current size $Wc_c
- fi
- # ============= help.german ==============
- echo "x - extracting help.german (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help.german &&
- X------------------------------------------------------------------------------
- XUNIX-Chat V2.9 (c) 1990 by M. Laukien
- X------------------------------------------------------------------------------
- X:? Hilfe :x Ende
- X:n Namen aendern :s Wer ist in der Konferenz
- X:w Wer ist im System :t Blitzmeldung
- X:i Konferenzeinladung :a Nachricht ohne Prompt
- X:c Bildschirm loeschen
- X------------------------------------------------------------------------------
- X:f Funktionstastenbelegung :f0-9 Funktionstasten ausgeben
- X:p0-9 Funktionstasten programmieren
- X------------------------------------------------------------------------------
- X:m Modus: jump - Eingabezeile scrollen
- X nojump - Eingabezeile nicht scrollen
- X bold - Eingabezeile hell
- X reverse - Eingabezeile invers
- X beep - Beep senden
- X nobeep - Beep aus
- X------------------------------------------------------------------------------
- SHAR_EOF
- $TOUCH -am 0806175590 help.german &&
- chmod 0600 help.german ||
- echo "restore of help.german failed"
- set `wc -c help.german`;Wc_c=$1
- if test "$Wc_c" != "885"; then
- echo original size 885, current size $Wc_c
- fi
- # ============= help.english ==============
- echo "x - extracting help.english (Text)"
- sed 's/^X//' << 'SHAR_EOF' > help.english &&
- X------------------------------------------------------------------------------
- XUNIX-Chat V2.9 (c) 1990 by M. Laukien
- X------------------------------------------------------------------------------
- X:? help :x exit
- X:n change name :s who is in the conference
- X:w who is in the system :t write to user
- X:i invitation to conference :a message without prompt
- X:c clear screen
- X------------------------------------------------------------------------------
- X:f display functionkeys :f0-9 functionkeys
- X:p0-9 setup functionkeys
- X------------------------------------------------------------------------------
- X:m mode: jump - scroll input line
- X nojump - do not scroll input line
- X bold - bold input
- X reverse - reverse input
- X beep - beep on
- X nobeep - beep off
- X------------------------------------------------------------------------------
- SHAR_EOF
- $TOUCH -am 0122160791 help.english &&
- chmod 0600 help.english ||
- echo "restore of help.english failed"
- set `wc -c help.english`;Wc_c=$1
- if test "$Wc_c" != "835"; then
- echo original size 835, current size $Wc_c
- fi
- # ============= menu.german ==============
- echo "x - extracting menu.german (Text)"
- sed 's/^X//' << 'SHAR_EOF' > menu.german &&
- XUNIX-Chat V2.9 (c) 1990 by M. Laukien
- X
- X[1] Systemkonferenz betreten
- X[2] Andere Konferenz besuchen
- X[3] Neue Konferenz eroeffnen
- X[4] Neue private Konferenz eroeffnen
- X[5] Konferenzen anzeigen
- X
- X[X] Ende
- SHAR_EOF
- $TOUCH -am 0122155491 menu.german &&
- chmod 0600 menu.german ||
- echo "restore of menu.german failed"
- set `wc -c menu.german`;Wc_c=$1
- if test "$Wc_c" != "231"; then
- echo original size 231, current size $Wc_c
- fi
- # ============= menu.english ==============
- echo "x - extracting menu.english (Text)"
- sed 's/^X//' << 'SHAR_EOF' > menu.english &&
- XUNIX-Chat V2.9 (c) 1990 by M. Laukien
- X
- X[1] Join the system conference
- X[2] Join other conference
- X[3] Start a new conference
- X[4] Start a new private conference
- X[5] Display active conferences
- X
- X[X] quit
- SHAR_EOF
- $TOUCH -am 0122155491 menu.english &&
- chmod 0600 menu.english ||
- echo "restore of menu.english failed"
- set `wc -c menu.english`;Wc_c=$1
- if test "$Wc_c" != "231"; then
- echo original size 231, current size $Wc_c
- fi
- # ============= super.user ==============
- echo "x - extracting super.user (Text)"
- sed 's/^X//' << 'SHAR_EOF' > super.user &&
- Xroot
- Xrootcsh
- Xsysop
- Xcosysop
- SHAR_EOF
- $TOUCH -am 0117133691 super.user &&
- chmod 0600 super.user ||
- echo "restore of super.user failed"
- set `wc -c super.user`;Wc_c=$1
- if test "$Wc_c" != "27"; then
- echo original size 27, current size $Wc_c
- fi
- # ============= name.list ==============
- echo "x - extracting name.list (Text)"
- sed 's/^X//' << 'SHAR_EOF' > name.list &&
- Xsysop
- Xcosysop
- Xroot
- Xrootcsh
- Xgast
- Xguest
- SHAR_EOF
- $TOUCH -am 0122161391 name.list &&
- chmod 0600 name.list ||
- echo "restore of name.list failed"
- set `wc -c name.list`;Wc_c=$1
- if test "$Wc_c" != "38"; then
- echo original size 38, current size $Wc_c
- fi
- # ============= guest.list ==============
- echo "x - extracting guest.list (Text)"
- sed 's/^X//' << 'SHAR_EOF' > guest.list &&
- Xguest
- Xgast
- SHAR_EOF
- $TOUCH -am 0806175590 guest.list &&
- chmod 0600 guest.list ||
- echo "restore of guest.list failed"
- set `wc -c guest.list`;Wc_c=$1
- if test "$Wc_c" != "11"; then
- echo original size 11, current size $Wc_c
- fi
- # ============= README.ger ==============
- echo "x - extracting README.ger (Text)"
- sed 's/^X//' << 'SHAR_EOF' > README.ger &&
- X -------------------------------
- X Installieren von UNIX-Chat V2.9
- X -------------------------------
- X
- Xo Eintraege im Makefile ueberpruefen, und ggf. aendern, falls
- X z.B. andere Pfade gewuenscht sind.
- X
- Xo Mit 'make' zum Test im aktuellen Directory installieren
- X
- Xo Mit 'make install' installieren (Wichtig: Nicht von Hand
- X installieren, da sonst die Pfade nicht richtig gesetzt
- X werden).
- X
- Xo Die Systemkonferenz starten mit 'chman -n &'.
- X
- Xo Chat mit 'chat -m' aufrufen.
- X
- Xo Wichtig: Prozesse nie mit 'kill -9 <pid>' beenden, sondern nur
- X mit 'kill <pid>'.
- X
- Xo Fehler und Verbesserungsvorschlaege bitte an 'ml@brumuc.bru.sub.org'
- X senden.
- SHAR_EOF
- $TOUCH -am 0122154891 README.ger &&
- chmod 0600 README.ger ||
- echo "restore of README.ger failed"
- set `wc -c README.ger`;Wc_c=$1
- if test "$Wc_c" != "633"; then
- echo original size 633, current size $Wc_c
- fi
- # ============= README.eng ==============
- echo "x - extracting README.eng (Text)"
- sed 's/^X//' << 'SHAR_EOF' > README.eng &&
- X ------------------------------
- X Installation of UNIX-Chat V2.9
- X ------------------------------
- X
- Xo Check the Makefile, and make the necessary changes, i.e. other
- X pathnames.
- X
- Xo For testing, install with 'make' in the working directory.
- X
- Xo If everything works fine, install with 'make install'.
- X Important: Don't copy the files by hand, because the pathnames
- X will not be set correctly.
- X
- Xo Start the system conference with 'chman -n &'.
- X
- Xo Start the chat with 'chat -m'.
- X
- Xo Important: Never kill processes with 'kill -9 <pid>', use always
- X 'kill <pid>'.
- X
- Xo Please send bugreports to 'ml@brumuc.bru.sub.org'.
- SHAR_EOF
- $TOUCH -am 0117135491 README.eng &&
- chmod 0600 README.eng ||
- echo "restore of README.eng failed"
- set `wc -c README.eng`;Wc_c=$1
- if test "$Wc_c" != "610"; then
- echo original size 610, current size $Wc_c
- fi
- # ============= Makefile ==============
- echo "x - extracting Makefile (Text)"
- sed 's/^X//' << 'SHAR_EOF' > Makefile &&
- X# ---------------------------------------------------------------------
- X#
- X# Name: Chat V2.9
- X#
- X# Programmteil: Makefile
- X#
- X# Autor: Marc Laukien
- X#
- X# ---------------------------------------------------------------------
- X
- X# ----------------- Ab hier Eintragungen vornehmen --------------------
- X# ----------------- Make the necessary changes --------------------
- X
- XNAME = chat
- XLANG = english
- X
- XLIBDIR = /usr/local/lib/Chat
- XBINDIR = /usr/local/bin
- X
- XFLAGS = -O
- XLIB = -lcurses
- X#FLAGS = -O -DM_TERMINFO
- X#LIB = -ltinfo
- X
- XSHAR = shar -n UnixChat -o $(NAME) -L 50 -a
- X
- X# ----------------- Keine Aenderung ab hier !!! ------------------------
- X# ----------------- Don't touch the rest !!! ------------------------
- X
- XSHELL = /bin/sh
- X
- XCFLAGS = $(FLAGS) -Ihdrs -DSTDLANG=\"$(LANG)\"
- X
- XALLSRCS1 = ch/init.c ch/input.c ch/main.c ch/comm.c ch/utility.c \
- X ch/output.c ch/menu.c ch/invite.c ch/grep.c
- X
- XALLSRCS2 = cm/init.c cm/int.c cm/main.c cm/comm.c
- X
- XALLSRCS = $(ALLSRCS1) $(ALLSRCS2)
- X
- XALLARCH = $(ALLSRCS) ch/lex.l \
- X ch/ch.h cm/cm.h hdrs/ipc.h hdrs/std.h \
- X def.german def.english help.german help.english \
- X menu.german menu.english \
- X super.user name.list guest.list \
- X README.ger README.eng Makefile
- X
- XALLOBJ1 = ch/init.o ch/input.o ch/comm.o ch/utility.o \
- X ch/output.o ch/invite.o ch/grep.o ch/lex.o
- X
- XALLOBJ2 = cm/init.o cm/int.o cm/comm.o
- X
- Xall: $(NAME) chman
- X
- X$(NAME): $(ALLOBJ1) ch/main.o ch/menu.o
- X -mkdir userdir
- X
- X $(CC) $(CFLAGS) -o $(NAME) $(ALLOBJ1) ch/menu.o ch/main.o \
- X $(LIB) -ll
- X chmod 4711 $(NAME)
- X
- Xchman: $(ALLOBJ2) cm/main.o
- X -mkdir confdir
- X -mkdir fifodir
- X
- X $(CC) $(CFLAGS) -o chman $(ALLOBJ2) cm/main.o
- X chmod 4711 chman
- X
- Xlint.out: $(ALLSRCS1) $(ALLSRCS2)
- X lint $(ALLSRCS1) > lint.out
- X lint $(ALLSRCS2) >> lint.out
- X
- Xinstall: all cm/main2.o ch/main2.o ch/menu2.o
- X -mkdir $(BINDIR)
- X -mkdir $(LIBDIR)
- X chmod 700 $(LIBDIR)
- X -mkdir $(LIBDIR)/confdir
- X -mkdir $(LIBDIR)/fifodir
- X -mkdir $(LIBDIR)/userdir
- X chmod 700 $(LIBDIR)/confdir
- X chmod 700 $(LIBDIR)/fifodir
- X chmod 700 $(LIBDIR)/userdir
- X
- X $(CC) $(CFLAGS) -o $(BINDIR)/$(NAME) \
- X $(ALLOBJ1) ch/main2.o ch/menu2.o $(LIB) -ll
- X chmod 4711 $(BINDIR)/$(NAME)
- X
- X $(CC) $(CFLAGS) -o $(BINDIR)/chman \
- X $(ALLOBJ2) cm/main2.o
- X chmod 4711 $(BINDIR)/chman
- X
- X cp def.* $(LIBDIR)
- X cp help.* $(LIBDIR)
- X cp menu.* $(LIBDIR)
- X cp super.user $(LIBDIR)
- X cp name.list $(LIBDIR)
- X cp guest.list $(LIBDIR)
- X chmod 600 $(LIBDIR)/help.* $(LIBDIR)/def.* \
- X $(LIBDIR)/menu.* \
- X $(LIBDIR)/super.user $(LIBDIR)/name.list \
- X $(LIBDIR)/guest.list
- X
- Xremove:
- X -rm -rf $(LIBDIR)/confdir
- X -rm -rf $(LIBDIR)/fifodir
- X -rm -rf $(LIBDIR)/userdir
- X -rm -f $(BINDIR)/$(NAME)
- X -rm -f $(BINDIR)/chman
- X -rm -f $(LIBDIR)/def.*
- X -rm -f $(LIBDIR)/help.*
- X -rm -f $(LIBDIR)/menu.*
- X -rm -f $(LIBDIR)/super.user
- X -rm -f $(LIBDIR)/name.list
- X -rm -f $(LIBDIR)/guest.list
- X
- Xdist: $(ALLARCH)
- X $(SHAR) $(ALLARCH)
- X
- Xchat.arc: $(ALLARCH)
- X -rm -f chat.arc
- X arc -a chat.arc $(ALLARCH)
- X
- Xchat.zoo: $(ALLARCH)
- X -rm -f chat.zoo
- X zoo -add chat.zoo $(ALLARCH)
- X
- Xchat.tar: $(ALLARCH)
- X tar cvf chat.tar $(ALLARCH)
- X
- Xchat.tar.z: chat.tar
- X @if test -r chat.tar.z ;\
- X then \
- X rm -f chat.tar.z ;\
- X fi
- X pack chat.tar
- X
- Xchat.tar.Z: chat.tar
- X @if test -r chat.tar.Z ;\
- X then \
- X rm -f chat.tar.Z ;\
- X fi
- X compress chat.tar
- X
- Xclean:
- X -rm -f ch/*.o cm/*.o
- X
- Xclobber: clean
- X -rm -f $(NAME)
- X -rm -f chman
- X -rm -f cm/ma2.c
- X -rm -f ch/ma2.c
- X -rm -f ch/mn2.c
- X -rm -f lint.out
- X -rm -f man.$(MANUAL)
- X -rm -f core
- X -rm -f mon.out
- X -rm -f lint.out
- X -rm -f *.bak
- X -rm -r -f confdir
- X -rm -r -f fifodir
- X -rm -r -f userdir
- X
- Xch/main2.c: ch/main.c
- X ln ch/main.c ch/main2.c
- X
- Xch/main2.o: ch/main2.c
- X $(CC) $(CFLAGS) -DLIBDIR=\"$(LIBDIR)\" -c ch/main2.c
- X mv main2.o ch
- X
- Xch/menu2.c: ch/menu.c
- X ln ch/menu.c ch/menu2.c
- X
- Xch/menu2.o: ch/menu2.c
- X $(CC) $(CFLAGS) -DBINDIR=\"$(BINDIR)\" -c ch/menu2.c
- X mv menu2.o ch
- X
- Xcm/main2.c: cm/main.c
- X ln cm/main.c cm/main2.c
- X
- Xcm/main2.o: cm/main2.c
- X $(CC) $(CFLAGS) -DLIBDIR=\"$(LIBDIR)\" -c cm/main2.c
- X mv main2.o cm
- X
- X# Build a list of .h file dependencies.
- Xdepend:
- X echo $(CC) $(CFLAGS)
- X @echo 'make depend is running on the following files: '
- X @echo $(ALLSRCS)
- X @rm -f makedep eddep
- X @for i in $(ALLSRCS); do\
- X $(CC) -E $(CFLAGS) $$i |\
- X grep '^#' |\
- X awk '{ print $$3 }' |\
- X grep '^"' |\
- X grep -v "/usr/include" |\
- X sed -e 's|/[^/]*/\.\.||g' -e 's|"||g' |\
- X sort -u |\
- X awk "BEGIN { of = \"`basename $$i .c`\" \".o: \"; rec = of } \
- X { rec = rec \" \" \$$0 } \
- X END { print \"`dirname $$i`/\" rec ; \
- X print \" $$(CC) $$(CFLAGS) -c $$i\" ; \
- X print \" mv `basename $$i .c`.o `dirname $$i`\" }" \
- X >> makedep ; \
- X done
- X @echo '$$r makedep' >>eddep
- X @echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >>eddep
- X @echo '$$r makedep' >>eddep
- X @echo 'w' >>eddep
- X @cp Makefile Makefile.bak
- X @ed - Makefile < eddep
- X @rm -f eddep makedep
- X
- X# DO NOT DELETE THIS LINE -- make depend uses it
- Xch/init.o: ch/ch.h ch/init.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/init.c
- X mv init.o ch
- Xch/input.o: ch/ch.h ch/input.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/input.c
- X mv input.o ch
- Xch/main.o: ch/ch.h ch/main.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/main.c
- X mv main.o ch
- Xch/comm.o: ch/ch.h ch/comm.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/comm.c
- X mv comm.o ch
- Xch/utility.o: ch/ch.h ch/utility.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/utility.c
- X mv utility.o ch
- Xch/output.o: ch/ch.h ch/output.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/output.c
- X mv output.o ch
- Xch/menu.o: ch/ch.h ch/menu.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/menu.c
- X mv menu.o ch
- Xch/invite.o: ch/ch.h ch/invite.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/invite.c
- X mv invite.o ch
- Xch/grep.o: ch/ch.h ch/grep.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c ch/grep.c
- X mv grep.o ch
- Xcm/init.o: cm/cm.h cm/init.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c cm/init.c
- X mv init.o cm
- Xcm/int.o: cm/cm.h cm/int.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c cm/int.c
- X mv int.o cm
- Xcm/main.o: cm/cm.h cm/main.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c cm/main.c
- X mv main.o cm
- Xcm/comm.o: cm/cm.h cm/comm.c hdrs/ipc.h hdrs/std.h
- X $(CC) $(CFLAGS) -c cm/comm.c
- X mv comm.o cm
- SHAR_EOF
- $TOUCH -am 0122160891 Makefile &&
- chmod 0600 Makefile ||
- echo "restore of Makefile failed"
- set `wc -c Makefile`;Wc_c=$1
- if test "$Wc_c" != "6399"; then
- echo original size 6399, current size $Wc_c
- fi
- rm -f shar3_seq_.tmp
- echo "You have unpacked the last part"
- exit 0
- --
- / | -: Marc Laukien :- |
- /__ | | _ _ __
- / \ /_ / / | ml@brumuc.bru.sub.org | / \/ | / / /
- /____/ / /__/ | sigma@salyko.doit.sub.org | / | /__/ /__
-