X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmapread.c;h=8319657a337a736b196bd5267fe89af209cdf1d3;hb=81be3ad6b83ecc1f9a9799d8196a79b9073b6a11;hp=9a1c3dbfcb29b274de43341ce56318bff30b9af1;hpb=312a36372b6826ad9c6296e17a2586d11355c6b3;p=16.git diff --git a/src/lib/mapread.c b/src/lib/mapread.c index 9a1c3dbf..8319657a 100644 --- a/src/lib/mapread.c +++ b/src/lib/mapread.c @@ -128,7 +128,7 @@ int loadmap(char *mn, map_t *map) char huge *js = NULL; size_t jslen = 0; char buf[BUFSIZ]; - char huge *buff = (char huge *)(MK_FP(FP_SEG(&buf), FP_OFF(&buf)));//(char huge *)FP_OFF(&buf); + char huge *buff = &buf;//(char huge *)(MK_FP(FP_SEG(&buf), FP_OFF(&buf)));// static char js_ss[16]; jsmn_parser p; @@ -147,8 +147,6 @@ int loadmap(char *mn, map_t *map) return 3; } - //buff = _fmalloc(sizeof(buf)); - for (;;) { /* Read another chunk */ r = fread(buf, 1, sizeof(buf), fh); @@ -164,23 +162,26 @@ int loadmap(char *mn, map_t *map) return 2; } } - //jz = realloc(jz, jslen + r + 1); + //buf[BUFSIZ]=(char)"\0"; js = _frealloc(js, jslen + r + 1); - if (/*jz == NULL || */js == NULL) { + if (js == NULL) { fprintf(stderr, "*js=%Fp\n", *js); - //fprintf(stderr, "*jz=%Fp\n", *jz); fprintf(stderr, "realloc(): errno = %d\n", errno); return 3; } //printf("strncpy~\n"); //strncpy(jz + jslen, buf, r); - _fstrncpy(js + jslen, buff, r); + //if( + //_fstrncpy(js + jslen, &(*buff), r); + _fstrncpy(js + jslen, &(*buff), r); + //strncpy((char *)js + jslen, buf, r); + // == NULL) +// fprintf(stderr, "_fstrncpy(): errno = %d\n", errno); //printf("strncpy okies~~\n"); jslen = jslen + r; again: - //js = (char huge *)*jz; - //printf("*js=%s\n", (*js)); + //printf("(*js)=%Fp\n", (*js)); r = jsmn_parse(&p, js, jslen, tok, tokcount); if (r < 0) { if (r == JSMN_ERROR_NOMEM) { @@ -193,20 +194,25 @@ again: goto again; } } else { - printf("&buf=[\n%Fp\n]\n", &buf); - printf("&buf_seg=[\n%x\n]\n", FP_SEG(&buf)); - printf("&buf_off=[\n%x\n]\n", FP_OFF(&buf)); - printf("&buf_fp=[\n%Fp\n]\n", MK_FP(FP_SEG(&buf), FP_OFF(&buf))); + printf("js=%Fp\n", (js)); + printf("*js=%Fp\n", (*(js))); + printf("&*js=%s\n", &(*(js))); + printf("&buf=[%Fp]\n", &buf); + //printf("&buf_seg=[%x]\n", FP_SEG(&buf)); + //printf("&buf_off=[%x]\n", FP_OFF(&buf)); + //printf("&buf_fp=[%Fp]\n", MK_FP(FP_SEG(&buf), FP_OFF(&buf))); //printf("buf=[\n%s\n]\n", buf); - printf("buff=[\n%Fp\n]\n", buff); - printf("*buff=[\n%Fp\n]\n", (*buff)); + printf("buff=[%Fp]\n", buff); + printf("(*buff)=[%Fp]\n", (*buff)); + //printf("&(*buff)=[\n%s\n]\n", &(*buff)); dump(js, tok, p.toknext, incr, &js_ss, map, 0); eof_expected = 1; } } - hfree(js); - hfree(tok); + _ffree(js); + _ffree(buff); + _ffree(tok); fclose(fh); return 0;