X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/03bdc5a9360c57052a8978bcc84d7134497466e1..5c8b4e1e0995d3a5bd42b9d94992f082b5ffb78c:/usr/src/usr.bin/tip/acu.c diff --git a/usr/src/usr.bin/tip/acu.c b/usr/src/usr.bin/tip/acu.c index 0ee72b7f37..d9c53eb35c 100644 --- a/usr/src/usr.bin/tip/acu.c +++ b/usr/src/usr.bin/tip/acu.c @@ -1,6 +1,12 @@ +/* + * Copyright (c) 1983 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + */ + #ifndef lint -static char sccsid[] = "@(#)acu.c 4.10 (Berkeley) %G%"; -#endif +static char sccsid[] = "@(#)acu.c 5.3 (Berkeley) %G%"; +#endif not lint #include "tip.h" @@ -35,7 +41,7 @@ connect() if (!DU) { /* regular connect message */ if (CM != NOSTR) - pwrite(FD, cp, size(CM)); + pwrite(FD, CM, size(CM)); return (NOSTR); } /* @@ -52,7 +58,7 @@ connect() if (acu != NOACU) { boolean(value(VERBOSE)) = FALSE; if (conflag) - disconnect(); + disconnect(NOSTR); else (*acu->acu_abort)(); } @@ -63,7 +69,7 @@ connect() return ("unknown ACU type"); if (*cp != '@') { while (*cp) { - for (phnum = cp; any(*cp, "0123456789-*=K"); cp++) + for (phnum = cp; *cp && *cp != ','; cp++) ; if (*cp) *cp++ = '\0'; @@ -98,9 +104,10 @@ connect() fclose(fd); return ("missing phone number"); } - for (phnum = cp; any(*cp, "0123456789-*="); cp++) + for (phnum = cp; *cp && *cp != ',' && *cp != '\n'; cp++) ; - *cp = '\0'; + if (*cp) + *cp++ = '\0'; if (conflag = (*acu->acu_dialer)(phnum, CU)) { fclose(fd); @@ -121,13 +128,17 @@ connect() return (tried ? "call failed" : "missing phone number"); } -disconnect() +disconnect(reason) + char *reason; { if (!conflag) return; - logent(value(HOST), "", acu->acu_name, "call terminated"); - if (boolean(value(VERBOSE))) - printf("\r\ndisconnecting..."); + if (reason == NOSTR) { + logent(value(HOST), "", acu->acu_name, "call terminated"); + if (boolean(value(VERBOSE))) + printf("\r\ndisconnecting..."); + } else + logent(value(HOST), "", acu->acu_name, reason); (*acu->acu_disconnect)(); }