X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Flexer.c;h=805d6fa4965829187087a1574553986f55105707;hb=0fde6afee3c995bf264c24c438f43eeb58b859b5;hp=782c399f701d663d21cf8b1bb153bc1e2a04ae40;hpb=b454cceec7abb67de3225d63c9daf7b112ea4e0a;p=pspp diff --git a/src/language/lexer/lexer.c b/src/language/lexer/lexer.c index 782c399f70..805d6fa496 100644 --- a/src/language/lexer/lexer.c +++ b/src/language/lexer/lexer.c @@ -38,6 +38,7 @@ #include "libpspp/cast.h" #include "libpspp/deque.h" #include "libpspp/i18n.h" +#include "libpspp/intern.h" #include "libpspp/ll.h" #include "libpspp/message.h" #include "libpspp/misc.h" @@ -1261,7 +1262,7 @@ lex_token_location (const struct lex_source *src, const struct lex_token *t1) { return (struct msg_location) { - .file_name = src->reader->file_name, + .file_name = intern_new_if_nonnull (src->reader->file_name), .first_line = t0->first_line, .last_line = lex_token_get_last_line_number (src, t1), .first_column = lex_token_get_first_column (src, t0), @@ -1377,7 +1378,7 @@ lex_get_lines (const struct lexer *lexer, int n0, int n1) { struct msg_location *loc = xmalloc (sizeof *loc); *loc = (struct msg_location) { - .file_name = xstrdup_if_nonnull (lex_get_file_name (lexer)), + .file_name = intern_new_if_nonnull (lex_get_file_name (lexer)), .first_line = lex_get_first_line_number (lexer, n0), .last_line = lex_get_last_line_number (lexer, n1), };