diff --git a/test.c b/test.c index 55c6a05..ce1cd75 100644 --- a/test.c +++ b/test.c @@ -11,24 +11,17 @@ static const struct { const char *src; } tests[] = { TEST("null"), - TEST("\t\n null \t\n"), TEST("true"), - TEST("\t\n true \t\n"), TEST("false"), - TEST("\t\n false \t\n"), - TEST("1"), - TEST(" 1 "), - + TEST("100"), + TEST("1.0"), + TEST("100.111"), TEST("[]"), TEST("[1, 2, 3]"), - TEST(" [ ] "), - TEST(" [ 1 , 2 , 3 ] "), - TEST("{}"), - TEST(" { } "), - - TEST(" { \"key\" : 5 } "), + TEST("{\"key\":5}"), + TEST("{\"key1\":5,\"key2\":3}"), }; #undef TEST @@ -82,7 +75,6 @@ int main() if(json_strings_match(serialized, tests[i].src)) { - //fprintf(stdout, "Passed.\n"); passed += 1; } else diff --git a/xjson.c b/xjson.c index 6d19887..4ef5455 100644 --- a/xjson.c +++ b/xjson.c @@ -74,7 +74,7 @@ void xj_alloc_del(xj_alloc *alloc) unsigned long long next_aligned(unsigned long long n) { - return n & 7 ? n & ~7 : n; + return (n & 7) ? (n & ~7) + 8 : n; } void *xj_bpalloc(xj_alloc *alloc, int size) @@ -101,8 +101,9 @@ void *xj_bpalloc(xj_alloc *alloc, int size) alloc->tail_used = 0; alloc->tail_size = alloc->ext_size; } - + void *addr = alloc->tail->body + alloc->tail_used; + alloc->tail_used += size; return addr;