示例#1
0
/* 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;
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
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;
}