int main(int argc, const char const* argv[]) { apr_pool_t* p = NULL; apr_initialize(); apr_pool_create(&p, NULL); apr_getopt_t* opt; apr_status_t rv; char ch = '\0'; const char* optarg = NULL; const char* config_opts = NULL; const char* install_opts = NULL; const char* make_opts = NULL; const char* url = NULL; Command request = None; rv = apr_getopt_init(&opt, p, argc, argv); while(apr_getopt(opt, "I:Lc:m:i:d:SF:B:", &ch, &optarg) == APR_SUCCESS) { switch(ch) { case 'I': request = Install; url = optarg; break; case 'L': request = List; break; case 'c': config_opts = optarg; break; case 'm': make_opts = optarg; break; case 'i': install_opts = optarg; break; case 'S': request = Init; break; case 'F': request = Fetch; url = optarg; break; case 'B': request = Build; url = optarg; break; } } switch(request) { case Install: check(url, "You must give a url."); Command_install(p, url, config_opts, make_opts, install_opts); break; case List: DB_list(); break; case Fetch: check(url, "You must give a url."); Command_fetch(p, url, true); log_info("Downloaded to %s and in /tmp", BUILD_DIR); break; case Build: check(url, "You must give a url."); Command_build(p, url, config_opts, make_opts, install_opts); break; case Init: rv = DB_init(); check(rv == 0, "Failed to make the database."); break; default: sentinel("Invalid command given."); } return EXIT_SUCCESS; error: return EXIT_FAILURE; }
int main(int argc, const char const *argv[]) { apr_pool_t* p = NULL; apr_pool_initialize(); apr_pool_create(&p,NULL); apr_getopt_t* opt; apr_status_t rv; char ch = '\0'; const char *optarg = NULL; const char *config_opts = NULL; const char *install_opts = NULL; const char *make_opts = NULL; const char *url = NULL; enum CommandType request = COMMAND_NONE; rv = apr_getopt_init(&opt, p, argc, argv); while (apr_getopt(opt,"I:Lc:m:i:d:SF:B:", &ch, &optarg) == APR_SUCCESS) { switch (ch) { case 'I': request = COMMAND_INSTALL; url = optarg; break; case 'L': request = COMMAND_LIST; break; case 'c': config_opts = optarg; break; case 'm': make_opts = optarg; break; case 'i': install_opts = optarg; break; case 'S': request = COMMAND_INIT; break; case 'F': request = COMMAND_FETCH; url = optarg; break; case 'B': request = COMMAND_BUILD; url = optarg; break; default: log_info("Unknown command");}} switch (request) { case COMMAND_INSTALL: check(url != NULL, "You must specify an URL."); Command_install(p, url, config_opts, make_opts, install_opts); break; case COMMAND_LIST: DB_list(); break; case COMMAND_FETCH: check(url != NULL, "You must specify an URL."); Command_fetch(p, url, 1); log_info("Downloaded target to %s",BUILD_DIR); break; case COMMAND_BUILD: check(url != NULL, "You must specify an URL."); Command_install(p, url, config_opts, make_opts, install_opts); break; case COMMAND_INIT: rv = DB_init(); check(rv == 0, "Failed to create database."); break; case COMMAND_NONE: printf("Usage: give one of the flags -S -I -L -F -B with apropriate arguments\n"); break; default: sentinel("Invalid command given");} apr_pool_terminate(); return 0; error: apr_pool_terminate(); return 1; }
int main(int argc, const char const *argv[]) { apr_pool_t *p = NULL; apr_pool_initialize(); apr_pool_create(&p, NULL); apr_getopt_t *opt; apr_status_t rv; char ch = '\0'; const char *optarg = NULL; const char *config_opts = NULL; const char *install_opts = NULL; const char *make_opts = NULL; const char *url = NULL; enum CommandType request = COMMAND_NONE; const char *config_options[MAX_ARGS]; int co_cnt = 0; int i = 0; rv = apr_getopt_init(&opt, p, argc, argv); while(apr_getopt(opt, "I:Lc:m:i:d:SF:B:", &ch, &optarg) == APR_SUCCESS) { switch(ch) { case 'I': request = COMMAND_INSTALL; url = optarg; break; case 'L': request = COMMAND_LIST; break; case 'c': config_options[co_cnt] = optarg; co_cnt++; break; case 'm': make_opts = optarg; break; case 'i': install_opts = optarg; break; case 'S': request = COMMAND_INIT; break; case 'F': request = COMMAND_FETCH; url = optarg; break; case 'B': request = COMMAND_BUILD; url = optarg; break; } } switch(request) { case COMMAND_INSTALL: check(url, "You must at least give a URL."); Command_install(p, url, config_options, make_opts, install_opts); break; case COMMAND_LIST: DB_list(); break; case COMMAND_FETCH: check(url != NULL, "You must give a URL."); Command_fetch(p, url, 1); log_info("Downloaded to %s and in /tmp/", BUILD_DIR); break; case COMMAND_BUILD: check(url, "You must at least give a URL."); Command_build(p, url, config_options, make_opts, install_opts); break; case COMMAND_INIT: rv = DB_init(); check(rv == 0, "Failed to make the database."); break; default: sentinel("Invalid command given"); } return 0; error: return 1; }
int main(int argc, const char const *argv[]) { apr_pool_t *p = NULL; apr_pool_initialize(); apr_pool_create(&p, NULL); apr_getopt_t *opt; apr_status_t rv; char ch = '\0'; const char *optarg = NULL; const char *config_opts = NULL; const char *install_opts = NULL; const char *make_opts = NULL; const char *url = NULL; enum CommandType request = COMMAND_NONE; rv = apr_getopt_init(&opt, p, argc, argv); while(apr_getopt(opt, "I:Lc:m:i:d:SF:B:", &ch, &optarg) == APR_SUCCESS) { switch (ch) { case 'I': request = COMMAND_INSTALL; url = optarg; break; case 'L': request = COMMAND_LIST; break; case 'c': config_opts = optarg; break; case 'm': make_opts = optarg; break; case 'i': install_opts = optarg; break; case 'S': request = COMMAND_INIT; break; case 'F': request = COMMAND_FETCH; url = optarg; break; case 'B': request = COMMAND_BUILD; url = optarg; break; } } switch(request) { case COMMAND_INSTALL: check(url, "You must at least give a URL."); Command_install(p, url, config_opts, make_opts, install_opts); break; case COMMAND_LIST: DB_list(); break; case COMMAND_FETCH: check(url, "You must at least give a URL."); Command_build(p, url, config_opts, make_opts, install_opts); break; case COMMAND_INIT: rv = DB_init(); check(rv == 0, "Failed2init db"); break; default: sentinel("huh??"); } return 0; error: return 1; }
char * test_list() { DB_list(); return NULL; }