FreeCalypso > hg > sipout-test-utils
view test-fsk/user_cmd.c @ 6:ba66d297fe57
test-fsk: first attempt at modem Rx
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 04 Mar 2024 23:21:07 -0800 |
parents | 030d52b96a23 |
children |
line wrap: on
line source
/* * In this module we implement stdin command handling, supporting * user-initiated CANCEL and BYE. */ #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> static void pcm_fill_cmd(arg) char *arg; { char *cp; unsigned octet; for (cp = arg; isspace(*cp); cp++) ; if (!isxdigit(*cp)) { inv_syntax: fprintf(stderr, "error: pcm-fill command invalid syntax\n"); return; } octet = strtoul(cp, &cp, 16); if (*cp) goto inv_syntax; if (octet > 0xFF) { fprintf(stderr, "error: pcm-fill octet argument out of range\n"); return; } set_pcm_fill_octet(octet); } void select_stdin() { char buf[256], *cp; fgets(buf, sizeof buf, stdin); cp = index(buf, '\n'); if (cp) { while (cp > buf && isspace(cp[-1])) cp--; *cp = '\0'; } for (cp = buf; isspace(*cp); cp++) ; if (!*cp) return; if (!strcmp(cp, "b") || !strcasecmp(cp, "bye")) send_bye_req(); else if (!strcmp(cp, "c") || !strcasecmp(cp, "cancel")) send_cancel_req(); else fprintf(stderr, "error: non-understood stdin command\n"); }