FreeCalypso > hg > themwi-system-sw
comparison sip-manual-out/user_cmd.c @ 193:1f9a6cede2c5
sip-manual-out: split user_cmd.c from disc_cmd.c
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 17 Mar 2023 14:31:54 -0800 |
parents | sip-manual-out/disc_cmd.c@f8a33603288f |
children | a3d71489672f |
comparison
equal
deleted
inserted
replaced
192:f8a33603288f | 193:1f9a6cede2c5 |
---|---|
1 /* | |
2 * In this module we implement stdin command handling, supporting | |
3 * user-initiated CANCEL and BYE as well as TFO testing commands. | |
4 */ | |
5 | |
6 #include <ctype.h> | |
7 #include <stdio.h> | |
8 #include <stdlib.h> | |
9 #include <string.h> | |
10 #include <strings.h> | |
11 | |
12 void | |
13 select_stdin() | |
14 { | |
15 char buf[256], *cp; | |
16 | |
17 fgets(buf, sizeof buf, stdin); | |
18 cp = index(buf, '\n'); | |
19 if (cp) { | |
20 while (cp > buf && isspace(cp[-1])) | |
21 cp--; | |
22 *cp = '\0'; | |
23 } | |
24 for (cp = buf; isspace(*cp); cp++) | |
25 ; | |
26 if (!*cp) | |
27 return; | |
28 if (!strcmp(cp, "b") || !strcasecmp(cp, "bye")) | |
29 send_bye_req(); | |
30 else if (!strcmp(cp, "c") || !strcasecmp(cp, "cancel")) | |
31 send_cancel_req(); | |
32 else | |
33 fprintf(stderr, "error: non-understood stdin command\n"); | |
34 } |