comparison rvinterf/tmsh/audiocmd.c @ 166:2e1be0fc150e

fc-tmsh: ETM_AUDIO commands are just aul/aus/aur/auw, not audio <subcmd>
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Mar 2017 17:17:57 +0000
parents 86e4d8aea021
children 6e4120cdb456
comparison
equal deleted inserted replaced
165:de701ebdce1b 166:2e1be0fc150e
67 cmdpkt[2] = 'R'; 67 cmdpkt[2] = 'R';
68 cmdpkt[3] = param; 68 cmdpkt[3] = param;
69 send_etm_cmd(cmdpkt, 3); 69 send_etm_cmd(cmdpkt, 3);
70 return(0); 70 return(0);
71 } 71 }
72
73 static struct cmdtab {
74 char *cmd;
75 int minargs;
76 int maxargs;
77 int (*func)();
78 } audio_cmds[] = {
79 {"load", 1, 1, cmd_audio_load},
80 {"read", 1, 1, cmd_audio_read},
81 {"save", 1, 1, cmd_audio_save},
82 {0, 0, 0, 0}
83 };
84
85 cmd_audio(argc, argv)
86 char **argv;
87 {
88 struct cmdtab *tp;
89 int extargs;
90
91 for (tp = audio_cmds; tp->cmd; tp++)
92 if (!strcmp(tp->cmd, argv[1]))
93 break;
94 if (!tp->func) {
95 printf("error: no such audio command\n");
96 return(ERROR_USAGE);
97 }
98 extargs = argc - 2;
99 if (extargs > tp->maxargs) {
100 printf("error: too many arguments\n");
101 return(ERROR_USAGE);
102 }
103 if (extargs < tp->minargs) {
104 printf("error: too few arguments\n");
105 return(ERROR_USAGE);
106 }
107 return tp->func(argc - 1, argv + 1);
108 }