X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fjsmn%2Fexample%2Fjsondump.c;h=b7d25cb0c677c92f516afeb55a2f43786d26153d;hb=acc96b5371d3d51633b9175609b0ce030a3d75db;hp=3490bbf499007fdb2a0565102d39534f429b3220;hpb=9e8d2b2604c76a481e10243dd6458da952411b0b;p=16.git diff --git a/src/lib/jsmn/example/jsondump.c b/src/lib/jsmn/example/jsondump.c index 3490bbf4..b7d25cb0 100644 --- a/src/lib/jsmn/example/jsondump.c +++ b/src/lib/jsmn/example/jsondump.c @@ -2,12 +2,19 @@ #include #include #include -#include "../jsmn.h" +#include "../jsmn.c" /* * An example of reading JSON from stdin and printing its content to stdout. * The output looks like YAML, but I'm not sure if it's really compatible. */ +static int jsoneq(const char *json, jsmntok_t *tok, const char *s) { + if (tok->type == JSMN_STRING && (int) strlen(s) == tok->end - tok->start && + strncmp(json + tok->start, s, tok->end - tok->start) == 0) { + return 0; + } + return -1; +} static int dump(const char *js, jsmntok_t *t, size_t count, int indent) { int i, j, k; @@ -18,6 +25,11 @@ static int dump(const char *js, jsmntok_t *t, size_t count, int indent) { printf("%.*s", t->end - t->start, js+t->start); return 1; } else if (t->type == JSMN_STRING) { + if(jsoneq(js, t, "data") == 0 ) + { +// printf("[[[[%d|%d]]]]\n", &(t+1)->size, (t+1)->size); + printf("\n%.*s[xx[%d|%d]xx]\n", (t+1)->end - (t+1)->start, js+(t+1)->start, &(t+1)->size, (t+1)->size); + } printf("'%.*s'", t->end - t->start, js+t->start); return 1; } else if (t->type == JSMN_OBJECT) {