/* set up function pointers for logging */ int init_logging(int logtype, const char *file, int flags) { int rc; output_plugin *log_fun; switch (logtype) { case LOG_FILE: log_fun = init_log_file(); break; case LOG_STDOUT: log_fun = init_log_stdout(); break; case LOG_FIFO: log_fun = init_log_fifo(); break; /* these types are coming !*/ case LOG_ASCII: break; case LOG_UNIFIED: break; default: fprintf(stderr,"whoops! init_logging\n"); } if(log_fun){ log_output[n_outputs++] = log_fun; if(log_fun->init) { rc = log_fun->init(log_fun, file, flags); if(rc) n_outputs--; return rc; } else return 0; } return 0xFABE; }
int main(int argc, char **argv) { int ret; if (argc > 4) init_log_stdout(); ret = apply_bsdiff_delta(argv[1], argv[2], argv[3]); return ret; }
static int bundle_rm() { char *filename = NULL; int ret = 0; struct stat statb; if (!init_globals()) { free_globals(); return -1; } init_log_stdout(); verbose = 1; if (asprintf(&filename, "%s/%s", BUNDLES_DIR, bundle) <= 0) { log_stdout("ERROR: allocating memory, exiting now\n\n"); abort(); } if (stat(filename, &statb) == -1) { log_stdout("bundle %s does not seem to be installed, exiting now\n\n", filename); ret = EXIT_FAILURE; goto out; } if (S_ISREG(statb.st_mode)) { if (unlink(filename) != 0) { log_stdout("ERROR: cannot remove bundle file, exiting now %s\n\n", filename); ret = EXIT_FAILURE; goto out; } } else { log_stdout("ERROR: bundle definition file %s is corrupted, exiting now", filename); ret = EXIT_FAILURE; goto out; } verbose = 0; ret = verify_fix(VERIFY_PICKY); out: free_globals(); free(filename); free(bundle); return ret; }
static int bundle_add() { char *filename = NULL; int f = -1; int ret = 0; if (!init_globals()) { free_globals(); return -1; } init_log_stdout(); verbose = 1; if (asprintf(&filename, "%s/%s", BUNDLES_DIR, bundle) <= 0) { log_stdout("Error: allocating memory, exiting now\n\n"); abort(); } f = open(filename, O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY, MODE_RW_O); if (f < 0) { log_stdout("cannot create bundle file %s exiting now\n\n", filename); ret = EXIT_FAILURE; goto out; } close(f); log_stdout("bundle %s added, trying to install it now\n", filename); verbose = 0; ret = verify_fix(VERIFY_NOPICKY); out: free_globals(); free(filename); free(bundle); return ret; }