X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=dump.c;h=73935a73374faf7df3695a23436ad8c2506385ba;hb=7674958d6669183799289f701e1148b6903b801a;hp=df633fa660e10d44d5e24d0e55dc3bd2a19830f2;hpb=e5246fad25f28d268777cba4bf9ce3dd1e08eb56;p=pspp diff --git a/dump.c b/dump.c index df633fa660..73935a7337 100644 --- a/dump.c +++ b/dump.c @@ -252,10 +252,15 @@ dump_value_31(FILE *stream) { /* We only have one SPV file for this version (with many tables). */ - match_u32_assert(0x200); - match_u32_assert(0x1000000); - match_u32_assert(0); - match_byte_assert(0); + match_byte(0); + if (!match_u32(1)) + match_u32_assert(2); + match_byte(0); + match_byte(0); + if (!match_u32(0) && !match_u32(1) && !match_u32(2) && !match_u32(3) && !match_u32(4) && !match_u32(5) && !match_u32(6) && !match_u32(7) && !match_u32(8) && !match_u32(9)) + match_u32_assert(10); + match_byte(0); + match_byte(0); return; } @@ -330,10 +335,11 @@ dump_value_31(FILE *stream) else if (match_u32 (2)) { fprintf(stream, "(special 2)"); + if (!match_byte(0)) + match_byte_assert(2); match_byte_assert(0); - match_byte_assert(0); - if (!match_u32 (2)) - match_u32_assert(1); + if (!match_u32 (2) && !match_u32(1)) + match_u32_assert(3); dump_nested_string(); /* Our corpus doesn't contain any examples with strings though. */ } else @@ -620,7 +626,8 @@ dump_dim(int indx) if (!match_byte(0)) match_byte_assert(1); match_byte_assert(1); - match_u32_assert(indx); + if (!match_u32(UINT32_MAX)) + match_u32_assert(indx); n_categories = get_u32(); int indexes[2048]; @@ -661,6 +668,8 @@ dump_data(void) { printf (" \n", get_u32()); match_u32_assert(0); + if (version == 1) + match_byte(0); dump_value(stdout, 1, false); fprintf (stdout, " \n"); }