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); } }
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; }
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); }
int merge(void *opt, int argc, char **argv) { return loadit(1, "merge", argc, argv); }
int load(void *opt, int argc, char **argv) { return loadit(0, "load", argc, argv); }