/* Variables pertaining to the paired mode */
const struct variable **v1 = NULL;
- size_t n_v1;
+ size_t n_v1 = 0;
const struct variable **v2 = NULL;
- size_t n_v2;
-
+ size_t n_v2 = 0;
+
size_t n_pairs = 0;
vp *pairs = NULL;
if (NULL == (gvar = parse_variable (lexer, dict)))
goto parse_failed;
-
+
if (lex_match (lexer, T_LPAREN))
{
cut = false;
}
- lex_force_match (lexer, T_RPAREN);
+ if (! lex_force_match (lexer, T_RPAREN))
+ goto parse_failed;
}
else
{
n_pairs = n_v1;
else
n_pairs = n_v1 * n_v2;
-
+
pairs = xcalloc (n_pairs, sizeof *pairs);
if ( with)
vp *pair = &pairs[i];
(*pair)[0] = v1[i];
(*pair)[1] = v2[i];
- }
+ }
}
else
{
goto parse_failed;
tt.confidence = lex_number (lexer);
lex_get (lexer);
- lex_force_match (lexer, T_RPAREN);
+ if (! lex_force_match (lexer, T_RPAREN))
+ goto parse_failed;
}
}
- else
+ else
{
lex_error (lexer, NULL);
goto parse_failed;
free (pairs);
free (v1);
free (v2);
-
free (tt.vars);
return ok ? CMD_SUCCESS : CMD_FAILURE;
parse_failed:
+
+ free (pairs);
+ free (v1);
+ free (v2);
+ free (tt.vars);
+
return CMD_FAILURE;
}