X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=chat%2Fchat.c;h=62e18f0154ab70ebe49360f987c944e5aa484d70;hp=a1900157d3af98883a17afb307da2e927e9dce29;hb=ed3c62f8932c151c211d064f95daed3f1f208f80;hpb=a93f6a07c55b4b2ea4b99e9461e45d10492338c5 diff --git a/chat/chat.c b/chat/chat.c index a190015..62e18f0 100644 --- a/chat/chat.c +++ b/chat/chat.c @@ -18,6 +18,8 @@ * (614)451-1883 */ +static char rcsid[] = "$Id: chat.c,v 1.6 1995/04/28 06:21:50 paulus Exp $"; + #include #include #include @@ -33,14 +35,6 @@ #define TERMIOS #endif -#ifdef sun -# if defined(SUNOS) && SUNOS >= 41 -# ifndef HDB -# define HDB -# endif -# endif -#endif - #ifdef TERMIO #include #endif @@ -76,20 +70,6 @@ static int _O = 0; /* Internal state */ char *program_name; -#ifndef LOCK_DIR -# ifdef __NetBSD__ -# define PIDSTRING -# define LOCK_DIR "/var/spool/lock" -# else -# ifdef HDB -# define PIDSTRING -# define LOCK_DIR "/usr/spool/locks" -# else /* HDB */ -# define LOCK_DIR "/usr/spool/uucp" -# endif /* HDB */ -# endif -#endif /* LOCK_DIR */ - #define MAX_ABORTS 50 #define DEFAULT_CHAT_TIMEOUT 45 @@ -128,19 +108,16 @@ void set_tty_parameters __P((void)); void break_sequence __P((void)); void terminate __P((int status)); void do_file __P((char *chat_file)); -void lock __P((void)); void delay __P((void)); int get_string __P((register char *string)); int put_string __P((register char *s)); int write_char __P((int c)); -int put_char __P((char c)); +int put_char __P((int c)); int get_char __P((void)); void chat_send __P((register char *s)); -char *character __P((char c)); +char *character __P((int c)); void chat_expect __P((register char *s)); char *clean __P((register char *s, int sending)); -void unlock __P((void)); -void lock __P((void)); void break_sequence __P((void)); void terminate __P((int status)); void die __P((void)); @@ -163,7 +140,7 @@ char *s; } /* - * chat [ -v ] [ -t timeout ] [ -l lock-file ] [ -f chat-file ] \ + * chat [ -v ] [ -t timeout ] [ -f chat-file ] \ * [...[[expect[-say[-expect...]] say expect[-say[-expect]] ...]]] * * Perform a UUCP-dialer-like chat script on stdin and stdout. @@ -334,7 +311,7 @@ char *chat_file; void usage() { fprintf(stderr, "\ -Usage: %s [-v] [-l lock-file] [-t timeout] {-f chat-file || chat-script}\n", +Usage: %s [-v] [-t timeout] {-f chat-file || chat-script}\n", program_name); exit(1); } @@ -365,11 +342,10 @@ void logflush() } /* - * Unlock and terminate with an error. + * Terminate with an error. */ void die() { - unlock(); terminate(1); } @@ -381,7 +357,6 @@ void fatal (msg) const char *msg; { syslog(LOG_ERR, "%s", msg); - unlock(); terminate(1); } @@ -394,7 +369,6 @@ void sysfatal (msg) const char *msg; { syslog(LOG_ERR, "%s: %m", msg); - unlock(); terminate(1); } @@ -457,9 +431,6 @@ void init() signal(SIGTERM, sigterm); signal(SIGHUP, sighup); - if (lock_file) - lock(); - set_tty_parameters(); signal(SIGALRM, sigalrm); alarm(0); @@ -520,57 +491,11 @@ int status; #endif ) { syslog(LOG_ERR, "Can't restore terminal parameters: %m"); - unlock(); exit(1); } exit(status); } -/* - * Create a lock file for the named lock device - */ -void lock() - { - int fd, pid; -# ifdef PIDSTRING - char hdb_lock_buffer[12]; -# endif - - lock_file = strcat(strcat(strcpy(malloc(strlen(LOCK_DIR) - + 1 + strlen(lock_file) + 1), - LOCK_DIR), "/"), lock_file); - - if ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) - { - char *s = lock_file; - lock_file = (char *)0; /* Don't remove someone else's lock file! */ - syslog(LOG_ERR, "Can't get lock file '%s': %m", s); - die(); - } - -# ifdef PIDSTRING - sprintf(hdb_lock_buffer, "%10d\n", getpid()); - write(fd, hdb_lock_buffer, 11); -# else - pid = getpid(); - write(fd, &pid, sizeof pid); -# endif - - close(fd); - } - -/* - * Remove our lockfile - */ -void unlock() - { - if (lock_file) - { - unlink(lock_file); - lock_file = (char *)0; - } - } - /* * 'Clean up' this string. */ @@ -776,14 +701,13 @@ register char *s; else syslog(LOG_INFO, "Failed"); - unlock(); terminate(1); } } } char *character(c) -char c; +int c; { static char string[10]; char *meta; @@ -861,7 +785,6 @@ register char *s; if ( ! put_string(s)) { syslog(LOG_INFO, "Failed"); - unlock(); terminate(1); } } @@ -895,7 +818,7 @@ int get_char() } int put_char(c) -char c; +int c; { int status;