From b8adc0fcd0ebf3a49e9383654eded08df55081d3 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 19 Mar 2015 22:48:30 -0500 Subject: [PATCH] modified: src/lib/jsmn/example/MAPTEST.EXE modified: src/lib/jsmn/example/maptest modified: src/lib/jsmn/example/maptest.c --- src/lib/jsmn/example/MAPTEST.EXE | Bin 14036 -> 14260 bytes src/lib/jsmn/example/maptest | Bin 9748 -> 10156 bytes src/lib/jsmn/example/maptest.c | 41 ++++++++++++++++++++++--------- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/lib/jsmn/example/MAPTEST.EXE b/src/lib/jsmn/example/MAPTEST.EXE index 0a1ea860347041eabb4e086c689dd8f8e276eb39..1c7aa02a9ddfb780e848a2d79915be47f7f66359 100644 GIT binary patch delta 3577 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 vi+8e3sgWZd_&1}oma`V?Js`Xlrovs*Jh delta 3241 zcmZ8j3s_Xg6`q;9Z*&^%0yd1z%9n^eLYLYnc4 z#!SCF)X!*4tXjXs2>HBXt1D|oB`RQyL{p<_jI&nnDfx91{hzIMNFXU@!=d(O<6 z|37D%mVNnRa{i((Q6$nJ0R<36StTGVLM}5>yV0MYFG8E(|C$A%?=2gWL-Di?_B1k} z-LN{0e52j4>0O+|X5ia+PGd5eNNVFqX%Y3b>Je(qBWj~jlyXmjq(j_DN*5Hv}BB z6Oa^#c$kJBqxKW=E@SKedj;2UFKoEZV#*#FaA3%X}jU9o!D`#$n+L3^W= z2a5LE|1tgnl20GpGp16bs^m+JU}QZQA+A3eh;yN>^WKKV97|eDO#G>Onjhv3u4RR532Uu5HBa@gqpU_D2Zm;>v_QNehgqAJ+EKaId5-=Gyo zZ%E*awd{;;O4xHcxE}t7p~&&%)6ZMyS1(@i>I{x?fMW<4e*%F3@JDDMS8s6WXs;3yB+#KzpJnBq!-^u`%MK)`bs$SRIJz)vq4D(d=+Pw zPq4s%S=N1E-f0x=1L?XQr0UTD`>^1c2}8h)V=DjB%p3u^ID#Dri2L0Jv;2)bm(TZs z45H5@$k~RqVw9LS(yB!WtO$||iy=Rd!OqxrTjx%fQ)tG(rvU)+Ue(LyU%WhB_v#RG zE`cHU`ov|>7FF^wv&_KR#Nf+b4@@G(K5SoLDXY}KGbP!^ z`T9<0PyLA+E*TN`xyxbznP|%>CwyJc=x@_r*F3$3rxEsYSY+e^`Ze`5J$x!QytBS@6)E%Z z0z;Xns2H%H%BBW~k`BV`!Ar@qV74zfj?@OTuHd)HOSjkyA?wJ?IyM{<9TW*Ps#pZ< z0nQ#$6#mJOe2rc8pG)!;W*he`Srf?K9~T>RZcx6elJfIFHCpdNGLYY9x~Sxct)x0r z1m@HaI1+(V87`H-PXePC2eSE5(S=(Hu#CuUHn-ZVG;)jcOccIIyS2h^?FHHox+#dZ zz%|CETY!05(V>wyQ4r;yVeLX71oE9@_7UuLD70PP+;~1}8VM>CL*j&O6NFYBC&S5o|F?(F$cccA)sq)5RdMYC5T z;?0eB!1*l6jQFlQY)`}kWL!VH8j(Sk-Cz?V<7e#}SU@{y%bFuiK(`fy>iHY~5M~wD zDlQguPRYXoF>-*T-krQ>DXJm6+DM-R*qhq7_x)V5Uaqu zZ_!pYijIGYmL25KPSSCuWNp_vcZawCUBA63dn#VpYMdYU^C6gsYDbX>vbOQQ8_ zE`!S7KxKC&4FONlJBa+zwsw-alQ^-53)i<l6xj z=KmOkf>E>p2yMG)JHbC01S~SWHHDn}nPpn1kiCQKIcscC!yp_j6j)kWaSyEgzTUjQ_Ic388=-?^b6)G)~ud{etA<^Aouh^DCK(E?*pzWNV zG~Ex&8*LY5nf7`sMi!L7X**W8P8Jf5?8US4fGNO`N}z1X0gP?#!;^*W@$4@%X2Y}T z!f0zvSse9f7od}#v|Z%oS3w$k@{e_FTS^Q&oDySP2|p8>RApk9Q<8j~Rf|`ksn&(i zvGAG6mfx>f=3HI{GkL1O%4WtjzB;o7!`q)_Jdm8blOQ9;K01w7t0jVB(Z}fwSV71i j?Md2`G&gx}GFJUrAJM6;GeT{bCaY~mB(y=FMj`YcCY^|k diff --git a/src/lib/jsmn/example/maptest b/src/lib/jsmn/example/maptest index a3f6a0f30aeaf0241ba96fdf4492d1e17d3b799a..f9466d24e5b74feb1fb3851d8d488621f5e3a4df 100644 GIT binary patch delta 4654 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 diff --git a/src/lib/jsmn/example/maptest.c b/src/lib/jsmn/example/maptest.c index 787b9c2b..cdf43779 100644 --- a/src/lib/jsmn/example/maptest.c +++ b/src/lib/jsmn/example/maptest.c @@ -8,10 +8,23 @@ * tokens is predictable. */ -/*char *JSON_STRING = +/*char *JSON_S = "{\"user\": \"johndoe\", \"admin\": false, \"uid\": 1000,\n " "\"groups\": [\"users\", \"wheel\", \"audio\", \"video\"]}";*/ +char *JSON_STRING; + +long int filesize(FILE *fp) +{ + long int save_pos, size_of_file; + + save_pos = ftell(fp); + fseek(fp, 0L, SEEK_END); + size_of_file = ftell(fp); + fseek(fp, save_pos, SEEK_SET); + return(size_of_file); +} + 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) { @@ -24,19 +37,23 @@ int main() { int i; int r; jsmn_parser p; - jsmntok_t t[8192]; /* We expect no more than 128 tokens */ - char *JSON_STRING; FILE *fh = fopen("../../../../data/test.map", "r"); + jsmntok_t t[2048]; /* We expect no more than 128 tokens */ + char JSON_S[8192]; + memset(JSON_S, 0, sizeof JSON_S); + if(fh != NULL) { - fread(JSON_STRING, sizeof(t), sizeof(t), fh); + fread(JSON_S, sizeof(char), filesize(fh), fh); // we can now close the file fclose(fh); fh = NULL; - printf("%s\n", JSON_STRING); + //printf("]%s[\n", JSON_S); + JSON_STRING=JSON_S; + //printf("[[%s]]\n", JSON_STRING); jsmn_init(&p); r = jsmn_parse(&p, JSON_STRING, strlen(JSON_STRING), t, sizeof(t)/sizeof(t[0])); - printf("%s\n", JSON_STRING); + printf("%s", JSON_STRING); if (r < 0) { printf("Failed to parse JSON: %d\n", r); return 1; @@ -50,9 +67,9 @@ int main() { /* Loop over all keys of the root object */ for (i = 1; i < r; i++) { - if (jsoneq(JSON_STRING, &t[i], "user") == 0) { + if (jsoneq(JSON_STRING, &t[i], "image") == 0) { /* We may use strndup() to fetch string value */ - printf("- User: %.*s\n", t[i+1].end-t[i+1].start, + printf("- image: %.*s\n", t[i+1].end-t[i+1].start, JSON_STRING + t[i+1].start); i++; } else if (jsoneq(JSON_STRING, &t[i], "admin") == 0) { @@ -65,9 +82,9 @@ int main() { printf("- UID: %.*s\n", t[i+1].end-t[i+1].start, JSON_STRING + t[i+1].start); i++; - } else if (jsoneq(JSON_STRING, &t[i], "groups") == 0) { + } else if (jsoneq(JSON_STRING, &t[i], "tilesets") == 0) { int j; - printf("- Groups:\n"); + printf("- tilesets:\n"); if (t[i+1].type != JSMN_ARRAY) { continue; /* We expect groups to be an array of strings */ } @@ -82,9 +99,9 @@ int main() { } } - free(JSON_STRING); + //free(JSON_STRING); } if (fh != NULL) fclose(fh); - //} + ////} return 0; } -- 2.39.5