X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvar-display.c;h=485fd3a1197f73938f531bee53eb53b065194254;hb=4f8599928787c4b9da99caff29b27724c2e3298d;hp=47147dfb0fba0de4ad7e371c5294273610db5e90;hpb=05e356b2a3087e819ef3b5388e29c822f41502e1;p=pspp diff --git a/src/var-display.c b/src/var-display.c index 47147dfb0f..485fd3a119 100644 --- a/src/var-display.c +++ b/src/var-display.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include #include @@ -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 ;