]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/mapread.c
running maptest.exe 2 times produces the results in maptest.out....
[16.git] / src / lib / mapread.c
index 9a1c3dbfcb29b274de43341ce56318bff30b9af1..8319657a337a736b196bd5267fe89af209cdf1d3 100644 (file)
@@ -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;