X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fmatrix.c;h=b1537cd92e01d9e810118b7730fd33ed82fded50;hb=3f3b74c2dd0e8468e11b0bb22366f6081ba0d459;hp=9bbc37f9a23e4c09ef72f052b46365b369648943;hpb=4d2ddbb1b001928a9c7fb6d5d8d1e26c47216c3f;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))