int main() { int tx_port = 0; char *source = "test/test_defs.b"; sys_init(0); tx_server(source, "bin/state", &tx_port); vol_init(0, "bin/volume"); char *code = sys_load(source); env = env_new(source, code); mem_free(code); int len = 0; char **files = sys_list("test/data", &len); vars = vars_new(len); rvars = vars_new(len); for (int i = 0; i < len; ++i) { vars_add(rvars, files[i], 0, NULL); vars_add(vars, files[i], 0, NULL); } vars_add(vars, "___param", 0, NULL); test_vars(); test_load(); test_param(); test_clone(); test_eq(); test_store(); test_select(); test_rename(); test_extend(); test_join(); test_project(); test_semidiff(); test_summary(); test_union(); test_compound(); test_call(); tx_free(); env_free(env); mem_free(files); vars_free(vars); vars_free(rvars); return 0; }
int main(int argc, char **argv) { const char *filename = NULL, #ifdef BACKEND_VOLUME *mixer = NULL, *dac = NULL, #endif *event = NULL, *uinput = NULL; int exitcode = EXIT_SUCCESS; size_t i; for (i = 1; i < argc; i++) { if (argc > i + 1) { if (!strcmp(argv[i], "-f")) filename = argv[i+1]; else if (!strcmp(argv[i], "-e")) event = argv[i+1]; else if (!strcmp(argv[i], "-u")) uinput = argv[i+1]; #ifdef BACKEND_VOLUME else if (!strcmp(argv[i], "-m")) mixer = argv[i+1]; else if (!strcmp(argv[i], "-d")) dac = argv[i+1]; #endif else { printf(usage); return EXIT_FAILURE; } i++; } else { printf(usage); return EXIT_FAILURE; } } if (!filename) { struct stat st; filename = "/usr/local/etc/" PROGNAME ".conf"; if (stat(filename, &st) == -1) { filename = "/etc/" PROGNAME ".conf"; if (stat(filename, &st) == -1) { printf("pwswd: Unable to find a configuration file.\n"); return EXIT_FAILURE; } } if (!S_ISREG(st.st_mode)) { printf("pwswd: The configuration file is not a regular file.\n"); return EXIT_FAILURE; } } if (!event) event = EVENT_FILENAME; if (!uinput) uinput = UINPUT_FILENAME; if (read_conf_file(filename) < 0) { fprintf(stderr, "Unable to parse configuration file: aborting.\n"); return EXIT_FAILURE; } #ifdef BACKEND_VOLUME if (!mixer) mixer = DEFAULT_MIXER; if (vol_init(mixer, dac)) fprintf(stderr, "Unable to init volume backend\n"); #endif if (do_listen(event, uinput)) exitcode = EXIT_FAILURE; deinit(); return exitcode; }
int main(int argc, char *argv[]) { int port = 0; char *data = NULL; char *state = NULL; char *source = NULL; char *tx_addr = NULL; sys_init(1); if (argc < 2) usage(argv[0]); for (int i = 2; (i + 1) < argc; i += 2) if (str_cmp(argv[i], "-d") == 0) data = argv[i + 1]; else if (str_cmp(argv[i], "-c") == 0) source = argv[i + 1]; else if (str_cmp(argv[i], "-s") == 0) state = argv[i + 1]; else if (str_cmp(argv[i], "-p") == 0) port = parse_port(argv[i + 1]); else if (str_cmp(argv[i], "-t") == 0) { tx_addr = argv[i + 1]; if (str_len(tx_addr) >= MAX_ADDR) sys_die("tx address exceeds the maximum length\n"); } else usage(argv[0]); if (str_cmp(argv[1], "start") == 0 && source != NULL && data != NULL && state != NULL && port != 0 && tx_addr == NULL) { int tx_port = 0; tx_server(source, state, &tx_port); vol_init(0, data); char addr[MAX_ADDR]; str_print(addr, "127.0.0.1:%d", tx_port); multiplex(argv[0], addr, port); tx_free(); } else if (str_cmp(argv[1], "processor") == 0 && source == NULL && data == NULL && state == NULL && port != 0 && tx_addr != NULL) { processor(tx_addr, port); } else if (str_cmp(argv[1], "tx") == 0 && source != NULL && data == NULL && state != NULL && port != 0 && tx_addr == NULL) { tx_server(source, state, &port); } else if (str_cmp(argv[1], "vol") == 0 && source == NULL && data != NULL && state == NULL && port != 0 && tx_addr != NULL) { tx_attach(tx_addr); vol_init(port, data); } else if (str_cmp(argv[1], "exec") == 0 && source == NULL && data == NULL && state == NULL && port != 0 && tx_addr != NULL) { tx_attach(tx_addr); multiplex(argv[0], tx_addr, port); } else if (str_cmp(argv[1], "convert") == 0 && source == NULL && data == NULL && state == NULL && port == 0 && tx_addr == NULL) { conv_parse(); } else usage(argv[0]); return 0; }