int main(int argc, char **argv) { check_for_root_maybe_die(); if (argc <= 1) usage(); argc--; argv++; if (!strncmp("help", argv[0], strlen("help"))) usage(); else if (!strncmp("version", argv[0], strlen("version"))) version(); else if (!strncmp("preload", argv[0], strlen("preload"))) do_preload(--argc, ++argv); else if (!strncmp("add", argv[0], strlen("add"))) do_add(--argc, ++argv); else if (!strncmp("set", argv[0], strlen("set"))) do_set(--argc, ++argv); else if (!strncmp("rm", argv[0], strlen("rm"))) do_rm(--argc, ++argv); else if (!strncmp("flag", argv[0], strlen("flag"))) do_flag(--argc, ++argv); else if (!strncmp("unflag", argv[0], strlen("unflag"))) do_unflag(--argc, ++argv); else if (!strncmp("bind-e", argv[0], strlen("bind-e"))) do_bind(--argc, ++argv, BIND_TYPE_EGR); else if (!strncmp("bind-i", argv[0], strlen("bind-i"))) do_bind(--argc, ++argv, BIND_TYPE_INGR); else if (!strncmp("bind", argv[0], strlen("bind"))) do_bind(--argc, ++argv, BIND_TYPE_NORM); else if (!strncmp("unbind-e", argv[0], strlen("unbind-e"))) do_unbind(--argc, ++argv, BIND_TYPE_EGR); else if (!strncmp("unbind-i", argv[0], strlen("unbind-i"))) do_unbind(--argc, ++argv, BIND_TYPE_INGR); else if (!strncmp("unbind", argv[0], strlen("unbind"))) do_unbind(--argc, ++argv, BIND_TYPE_NORM); else if (!strncmp("replace", argv[0], strlen("replace"))) do_replace(--argc, ++argv, 0); else if (!strncmp("replace-drop", argv[0], strlen("replace-drop"))) do_replace(--argc, ++argv, 1); else if (!strncmp("subscribe", argv[0], strlen("subscribe"))) do_subscribe(--argc, ++argv); else if (!strncmp("unsubscribe", argv[0], strlen("unsubscribe"))) do_unsubscribe(--argc, ++argv); else usage(); return 0; }
int main(int argc, char **argv) { client_t client; int cmd, err = 0; cmd = parseopts(argc, argv, &client); if (cmd < 0) return 1; /* call function for command */ switch (cmd) { case 1: err = do_bind(&client); break; case 2: err = do_unbind(&client); break; case 3: err = do_setcache(&client); break; } client_shutdown(&client); return err; }