X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvar-display.c;h=485fd3a1197f73938f531bee53eb53b065194254;hb=53ceff2865473a6b561b521986fafd31a993a1a6;hp=73c0c0a8059a1e11d3149c1b0bf1f0a652aa5320;hpb=4fdeb2145d081ff1b84e3f6c99f9d1c048c0d64a;p=pspp diff --git a/src/var-display.c b/src/var-display.c index 73c0c0a805..485fd3a119 100644 --- a/src/var-display.c +++ b/src/var-display.c @@ -39,9 +39,9 @@ cmd_variable_alignment (void) do { struct variable **v; - int nv; + size_t nv; - int i; + size_t i; enum alignment align; @@ -56,11 +56,19 @@ cmd_variable_alignment (void) align = ALIGN_RIGHT; else if ( lex_match_id("CENTER")) align = ALIGN_CENTRE; - else - return CMD_FAILURE; + else + { + free (v); + return CMD_FAILURE; + } lex_force_match(')'); } + else + { + free (v); + return CMD_FAILURE; + } for( i = 0 ; i < nv ; ++i ) v[i]->alignment = align; @@ -85,8 +93,8 @@ cmd_variable_width (void) do { struct variable **v; - int nv; - int i; + size_t nv; + size_t i; if (!parse_variables (default_dict, &v, &nv, PV_NONE)) return CMD_PART_SUCCESS_MAYBE; @@ -119,9 +127,9 @@ cmd_variable_level (void) do { struct variable **v; - int nv; + size_t nv; enum measure level; - int i; + size_t i; if (!parse_variables (default_dict, &v, &nv, PV_NONE)) return CMD_PART_SUCCESS_MAYBE; @@ -134,12 +142,20 @@ cmd_variable_level (void) level = MEASURE_ORDINAL; else if ( lex_match_id("NOMINAL")) level = MEASURE_NOMINAL; - else - return CMD_FAILURE; + else + { + free (v); + return CMD_FAILURE; + } lex_force_match(')'); } - + else + { + free (v); + return CMD_FAILURE; + } + for( i = 0 ; i < nv ; ++i ) v[i]->measure = level ;