X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fmatrix.c;h=b1537cd92e01d9e810118b7730fd33ed82fded50;hb=216c9e64a86d708f6f8fb1db581d464af2c2e84c;hp=9bbc37f9a23e4c09ef72f052b46365b369648943;hpb=a1d532a620562505935e813bdd201354aab0f569;p=pspp diff --git a/src/language/stats/matrix.c b/src/language/stats/matrix.c index 9bbc37f9a2..b1537cd92e 100644 --- a/src/language/stats/matrix.c +++ b/src/language/stats/matrix.c @@ -5367,25 +5367,12 @@ matrix_print_parse (struct matrix_state *s) if (lex_token (s->lexer) != T_SLASH && lex_token (s->lexer) != T_ENDCMD) { - size_t depth = 0; - for (size_t i = 0; ; i++) - { - enum token_type t = lex_next_token (s->lexer, i); - if (t == T_LPAREN || t == T_LBRACK || t == T_LCURLY) - depth++; - else if ((t == T_RPAREN || t == T_RBRACK || t == T_RCURLY) && depth) - depth--; - else if ((t == T_SLASH && !depth) || t == T_ENDCMD || t == T_STOP) - { - if (i > 0) - cmd->print.title = lex_next_representation (s->lexer, 0, i - 1); - break; - } - } - + int start_ofs = lex_ofs (s->lexer); cmd->print.expression = matrix_parse_exp (s); if (!cmd->print.expression) goto error; + cmd->print.title = lex_ofs_representation (s->lexer, start_ofs, + lex_ofs (s->lexer) - 1); } while (lex_match (s->lexer, T_SLASH))