X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=chat%2Fchat.c;h=bf107335c8458fa296a75f171c967b6669fb4a17;hp=47248fa65c3d2897c293c2079f227a42a7152ac8;hb=d00f8a0e184cc73b1ca33a9b22c1b1f87292a72f;hpb=86dd2eec100dbdfc31c379c0e380cc439fc0921b diff --git a/chat/chat.c b/chat/chat.c index 47248fa..bf10733 100644 --- a/chat/chat.c +++ b/chat/chat.c @@ -87,7 +87,7 @@ #endif #ifndef lint -static const char rcsid[] = "$Id: chat.c,v 1.29 2003/03/04 06:17:21 fcusack Exp $"; +static const char rcsid[] = "$Id: chat.c,v 1.30 2004/01/17 05:47:55 carlsonj Exp $"; #endif #include @@ -213,7 +213,7 @@ void *dup_mem __P((void *b, size_t c)); void *copy_of __P((char *s)); char *grow __P((char *s, char **p, size_t len)); void usage __P((void)); -void logf __P((const char *fmt, ...)); +void msgf __P((const char *fmt, ...)); void fatal __P((int code, const char *fmt, ...)); SIGTYPE sigalrm __P((int signo)); SIGTYPE sigint __P((int signo)); @@ -495,7 +495,7 @@ char line[1024]; /* * Send a message to syslog and/or stderr. */ -void logf __V((const char *fmt, ...)) +void msgf __V((const char *fmt, ...)) { va_list args; @@ -512,6 +512,7 @@ void logf __V((const char *fmt, ...)) syslog(LOG_INFO, "%s", line); if (to_stderr) fprintf(stderr, "%s\n", line); + va_end(args); } /* @@ -537,6 +538,7 @@ void fatal __V((int code, const char *fmt, ...)) syslog(LOG_ERR, "%s", line); if (to_stderr) fprintf(stderr, "%s\n", line); + va_end(args); terminate(code); } @@ -558,7 +560,7 @@ int signo; fatal(2, "Can't set file mode flags on stdin: %m"); if (verbose) - logf("alarm"); + msgf("alarm"); } void unalarm() @@ -1001,9 +1003,9 @@ char *s; * The expectation did not occur. This is terminal. */ if (fail_reason) - logf("Failed (%s)", fail_reason); + msgf("Failed (%s)", fail_reason); else - logf("Failed"); + msgf("Failed"); terminate(exit_code); } @@ -1079,7 +1081,7 @@ register char *s; abort_string[n_aborts++] = s1; if (verbose) - logf("abort on (%v)", s); + msgf("abort on (%v)", s); return; } @@ -1105,7 +1107,7 @@ register char *s; pack++; n_aborts--; if (verbose) - logf("clear abort on (%v)", s); + msgf("clear abort on (%v)", s); } } free(s1); @@ -1129,7 +1131,7 @@ register char *s; report_string[n_reports++] = s1; if (verbose) - logf("report (%v)", s); + msgf("report (%v)", s); return; } @@ -1155,7 +1157,7 @@ register char *s; pack++; n_reports--; if (verbose) - logf("clear report (%v)", s); + msgf("clear report (%v)", s); } } free(s1); @@ -1167,13 +1169,14 @@ register char *s; if (timeout_next) { timeout_next = 0; + s = clean(s, 0); timeout = atoi(s); if (timeout <= 0) timeout = DEFAULT_CHAT_TIMEOUT; if (verbose) - logf("timeout set to %d seconds", timeout); + msgf("timeout set to %d seconds", timeout); return; } @@ -1236,7 +1239,7 @@ int get_char() return ((int)c & 0x7F); default: - logf("warning: read() on stdin returned %d", status); + msgf("warning: read() on stdin returned %d", status); case -1: if ((status = fcntl(0, F_GETFL, 0)) == -1) @@ -1264,7 +1267,7 @@ int c; return (0); default: - logf("warning: write() on stdout returned %d", status); + msgf("warning: write() on stdout returned %d", status); case -1: if ((status = fcntl(0, F_GETFL, 0)) == -1) @@ -1286,9 +1289,9 @@ int c; if (verbose) { if (errno == EINTR || errno == EWOULDBLOCK) - logf(" -- write timed out"); + msgf(" -- write timed out"); else - logf(" -- write failed: %m"); + msgf(" -- write failed: %m"); } return (0); } @@ -1303,9 +1306,9 @@ register char *s; if (verbose) { if (quiet) - logf("send (??????)"); + msgf("send (?????\?)"); else - logf("send (%v)", s); + msgf("send (%v)", s); } alarm(timeout); alarmed = 0; @@ -1392,17 +1395,17 @@ register char *string; minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1; if (verbose) - logf("expect (%v)", string); + msgf("expect (%v)", string); if (len > STR_LEN) { - logf("expect string is too long"); + msgf("expect string is too long"); exit_code = 1; return 0; } if (len == 0) { if (verbose) - logf("got it"); + msgf("got it"); return (1); } @@ -1416,16 +1419,16 @@ register char *string; echo_stderr(c); if (verbose && c == '\n') { if (s == logged) - logf(""); /* blank line */ + msgf(""); /* blank line */ else - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s + 1; } *s++ = c; if (verbose && s >= logged + 80) { - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s; } @@ -1470,8 +1473,8 @@ register char *string; strncmp(s - len, string, len) == 0) { if (verbose) { if (s > logged) - logf("%0.*v", s - logged, logged); - logf(" -- got it\n"); + msgf("%0.*v", s - logged, logged); + msgf(" -- got it\n"); } alarm(0); @@ -1484,8 +1487,8 @@ register char *string; strncmp(s - abort_len, abort_string[n], abort_len) == 0) { if (verbose) { if (s > logged) - logf("%0.*v", s - logged, logged); - logf(" -- failed"); + msgf("%0.*v", s - logged, logged); + msgf(" -- failed"); } alarm(0); @@ -1499,7 +1502,7 @@ register char *string; if (s >= end) { if (logged < s - minlen) { if (verbose) - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s; } s -= minlen; @@ -1509,16 +1512,16 @@ register char *string; } if (alarmed && verbose) - logf("warning: alarm synchronization problem"); + msgf("warning: alarm synchronization problem"); } alarm(0); if (verbose && printed) { if (alarmed) - logf(" -- read timed out"); + msgf(" -- read timed out"); else - logf(" -- read failed: %m"); + msgf(" -- read failed: %m"); } exit_code = 3;