Lines Matching refs:argv
84 static bool decide_subcmd(int argc, char *const *argv, enum subcmds *subcmd)
112 if (!strcmp(long_opts[i].name, argv[j])) {
122 if (argv[i][0] != '-' || argv[i][0] == '\0' ||
123 argv[i][1] == '-' || argv[i][1] == '\0')
125 for (pos = argv[i]; *pos != '\0'; ++pos) {
139 static bool decide_direction(int argc, char *const *argv,
166 if (!strcmp(long_opts[i].name, argv[j])) {
176 if (argv[i][0] != '-' || argv[i][0] == '\0' ||
177 argv[i][1] == '-' || argv[i][1] == '\0')
179 for (pos = argv[i]; *pos != '\0'; ++pos) {
191 for (pos = argv[0] + strlen(argv[0]); pos != argv[0]; --pos) {
202 static bool detect_subcmd(int argc, char *const *argv, enum subcmds *subcmd)
216 if (!strcmp(argv[1], subcmds[i])) {
225 static bool detect_direction(int argc, char *const *argv,
231 if (!strcmp(argv[2], "capture")) {
236 if (!strcmp(argv[2], "playback")) {
244 int main(int argc, char *const *argv)
251 if (strstr(argv[0], "arecord") == argv[0] + strlen(argv[0]) - 7 ||
252 strstr(argv[0], "aplay") == argv[0] + strlen(argv[0]) - 5) {
253 if (!decide_direction(argc, argv, &direction))
255 if (!decide_subcmd(argc, argv, &subcmd))
259 if (!detect_subcmd(argc, argv, &subcmd))
264 if (!detect_direction(argc, argv, &direction)) {
267 // argv[0] is needed for unparsed option to use
270 argv += 2;
276 err = subcmd_transfer(argc, argv, direction);
278 err = subcmd_list(argc, argv, direction);
280 print_version(argv[0]);