enum status_code set_option(const char *opt, int argc, const char *argv[]) { if (!strcmp(opt, "color")) return option_color_command(argc, argv); if (!strcmp(opt, "set")) return option_set_command(argc, argv); if (!strcmp(opt, "bind")) return option_bind_command(argc, argv); if (!strcmp(opt, "source")) return option_source_command(argc, argv); return error("Unknown option command: %s", opt); }
enum status_code set_option(const char *opt, char *value) { const char *argv[SIZEOF_ARG]; int argc = 0; if (!argv_from_string(argv, &argc, value)) return ERROR_TOO_MANY_OPTION_ARGUMENTS; if (!strcmp(opt, "color")) return option_color_command(argc, argv); if (!strcmp(opt, "set")) return option_set_command(argc, argv); if (!strcmp(opt, "bind")) return option_bind_command(argc, argv); if (!strcmp(opt, "source")) return option_source_command(argc, argv); return ERROR_UNKNOWN_OPTION_COMMAND; }