From: Ben Pfaff Date: Fri, 7 Nov 2014 05:46:50 +0000 (-0800) Subject: Write dump_title_value() in terms of dump_value(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f073fc84daf161e41d49cdec0e0ae91c84ca2bdc;hp=15fc2764275a2df5c8c05605f32f74a39a0b754b;p=pspp Write dump_title_value() in terms of dump_value(). --- diff --git a/dump.c b/dump.c index 789daa97a8..ecf278075c 100644 --- a/dump.c +++ b/dump.c @@ -500,17 +500,8 @@ dump_data_value(void) printf ("value \"%s\" format %d(%d.%d) var \"%s\" vallab \"%s\"", value, format >> 16, (format >> 8) & 0xff, format & 0xff, var, vallab); } - else if (match_byte (5)) - { - match_byte_assert (0x58); - printf ("variable \"%s\"", get_string()); - get_string(); - if (!match_byte(1) && !match_byte(2)) - match_byte_assert(3); - match_byte (0); - match_byte (0); - match_byte (0); - } + else if (data[pos] == 5) + dump_value (0); else { dump_value_31(); @@ -571,19 +562,8 @@ dump_title_value(int level) match_byte (0); match_byte (0); match_byte (0); - if (match_byte (3)) - { - get_string(); - dump_value_31(); - get_string(); - printf("string \"%s\"", get_string()); - match_byte (0); - match_byte (1); - match_byte (1); - match_byte (0); - match_byte (0); - match_byte (0); - } + if (data[pos] == 3 || data[pos] == 2 || data[pos] == 4 || data[pos] == 1) + dump_value(level); else if (match_byte (5)) { dump_value_31(); @@ -592,57 +572,6 @@ dump_title_value(int level) if (!match_byte(1) && !match_byte(2)) match_byte_assert(3); } - else if (match_byte (2)) - { - unsigned int format; - char *var, *vallab; - double value; - - match_byte_assert (0x58); - format = get_u32 (); - value = get_double (); - var = get_string (); - vallab = get_string (); - printf ("value %g format %d(%d.%d) var \"%s\" vallab \"%s\"", - value, format >> 16, (format >> 8) & 0xff, format & 0xff, var, vallab); - if (!match_byte (1) && !match_byte(2)) - match_byte_assert (3); - match_byte (0); - match_byte (0); - match_byte (0); - } - else if (match_byte (4)) - { - unsigned int format; - char *var, *vallab, *value; - - match_byte_assert (0x58); - format = get_u32 (); - vallab = get_string (); - var = get_string (); - if (!match_byte(1) && !match_byte(2)) - match_byte_assert (3); - value = get_string (); - printf ("value \"%s\" format %d(%d.%d) var \"%s\" vallab \"%s\"", - value, format >> 16, (format >> 8) & 0xff, format & 0xff, var, vallab); - match_byte (0); - match_byte (0); - match_byte (0); - } - else if (match_byte (1)) - { - unsigned int format; - double value; - - dump_value_31(); - format = get_u32 (); - value = get_double (); - printf ("value %g format %d(%d.%d)", value, format >> 16, (format >> 8) & 0xff, format & 0xff); - match_byte (1); - match_byte (0); - match_byte (0); - match_byte (0); - } else { dump_value_31();