コード例 #1
0
ファイル: vacuum.c プロジェクト: trondn/vacuum
static void process_file(const char *fname)
{
    char *ptr = NULL;
    size_t size;
    cJSON *json, *id;
    lcb_error_t ret;
    int error = 0;
    lcb_store_cmd_t cmd;
    const lcb_store_cmd_t* const cmds[1] = { &cmd };

    if (fname[0] == '.') {
        if (strcmp(fname, ".dump_stats") == 0) {
            fprintf(stdout, "Dumping stats:\n");
            lcb_get_timings(instance, stdout, timings_callback);
            fprintf(stdout, "----\n");
            remove(fname);
        }
        return;
    }

    if (loadit(fname, &ptr, &size) == -1) {
        /* Error message already printed */
        return;
    }

    if ((json = cJSON_Parse(ptr)) == NULL) {
        invalid_file(INVALID_JSON, fname);
        free(ptr);
        return;
    }

    id = cJSON_GetObjectItem(json, "_id");
    if (id == NULL || id->type != cJSON_String) {
        invalid_file(UNKNOWN_JSON, fname);
        free(ptr);
        return;
    }

    memset(&cmd, 0, sizeof(cmd));
    cmd.v.v0.key = id->valuestring;
    cmd.v.v0.nkey = strlen(id->valuestring);
    cmd.v.v0.bytes = ptr;
    cmd.v.v0.nbytes = size;
    cmd.v.v0.operation = LCB_SET;

    ret = lcb_store(instance, &error, 1, cmds);
    if (ret == LCB_SUCCESS) {
        lcb_wait(instance);
    } else {
        error = 1;
    }

    free(ptr);
    if (error) {
        fprintf(stderr, "Failed to store %s: %s\n", fname,
                lcb_strerror(instance, ret));
    } else {
        remove(fname);
    }
}
コード例 #2
0
ファイル: file_plugin.c プロジェクト: CESNET/glite-jp
int glite_jpps_fplug_load(glite_jp_context_t ctx,int argc,char **argv)
{
	int	i;

	for (i=1; i<argc; i++) if (loadit(ctx,argv[i])) {
		glite_jp_error_t	err;
		memset(&err,0,sizeof err);
		err.source = __FUNCTION__;
		err.code = EINVAL;
		err.desc = argv[i];
		return glite_jp_stack_error(ctx,&err);
	}

	return 0;
}
コード例 #3
0
ファイル: lua2c.c プロジェクト: xunmengdeganjue/workTest
int
main (int argc, char *argv[])
{
  if (argc != 3)
    {
      printf ("usage: %s varname luasource >output\n", argv[0]);
      return (-1);
    }

  loadit (argv[2]);


  printf
    ("/* This file was automatically generated from %s. DO NOT EDIT */\n\n",
     argv[2]);
  printf ("static const unsigned char %s[] = { \n  ", argv[1]);
  dumpit ();
  printf ("\n};\n");

  return (0);
}
コード例 #4
0
ファイル: load.c プロジェクト: 2014-class/freerouter
int
merge(void *opt, int argc, char **argv)
{
    return loadit(1, "merge", argc, argv);
}
コード例 #5
0
ファイル: load.c プロジェクト: 2014-class/freerouter
int
load(void *opt, int argc, char **argv)
{
    return loadit(0, "load", argc, argv);
}