X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fdata-reader.c;h=89e84da0b37f13c28ac97941e1e3ab943b43ac6c;hb=510cc9dd9baf3108ba55cfb7893384517c9930b4;hp=9a9cafa7f9bff9aeb597f3ed49126545f1d4a121;hpb=0fde6afee3c995bf264c24c438f43eeb58b859b5;p=pspp diff --git a/src/language/data-io/data-reader.c b/src/language/data-io/data-reader.c index 9a9cafa7f9..89e84da0b3 100644 --- a/src/language/data-io/data-reader.c +++ b/src/language/data-io/data-reader.c @@ -717,10 +717,18 @@ dfm_get_file_name (const struct dfm_reader *r) int dfm_get_line_number (const struct dfm_reader *r) { - enum fh_referent referent = fh_get_referent (r->fh); - return (referent == FH_REF_FILE ? r->line_number - : referent == FH_REF_INLINE ? lex_get_first_line_number (r->lexer, 0) - : -1); + switch (fh_get_referent (r->fh)) + { + case FH_REF_FILE: + return r->line_number; + + case FH_REF_INLINE: + return lex_ofs_start_point (r->lexer, lex_ofs (r->lexer)).line; + + case FH_REF_DATASET: + default: + return -1; + } } /* BEGIN DATA...END DATA procedure. */