X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc.y;h=81a013ceecb7f2e899d31b6feece3b6b0434f3a8;hp=2fb309ea0c983cce74587517bf28eef72d28e7a8;hb=7e4c03791c729bce5ebe6226a72786191bc67f8f;hpb=469fe3395cb9696e32bcd64639f22113d8fb2ec6 diff --git a/src/parser_proc.y b/src/parser_proc.y index 2fb309e..81a013c 100644 --- a/src/parser_proc.y +++ b/src/parser_proc.y @@ -15,7 +15,7 @@ %extra_argument {PSI_Parser *P} /* TOKEN is defined inside syntax_error */ %syntax_error { - PSI_ParserSyntaxError(P, P->fn, P->line, "Unexpected token '%s'", TOKEN->text); + PSI_ParserSyntaxError(P, P->psi.file.fn, P->line, "Unexpected token '%s'", TOKEN->text); } %nonassoc NAME. @@ -28,10 +28,10 @@ blocks ::= blocks block. block ::= COMMENT. block ::= LIB(T) QUOTED_STRING(libname) EOS. { - if (P->lib) { - PSI_ParserSyntaxError(P, P->fn, T->line, "Extra 'lib %s' statement has no effect", libname->text); + if (P->psi.file.ln) { + PSI_ParserSyntaxError(P, P->psi.file.ln, T->line, "Extra 'lib %s' statement has no effect", libname->text); } else { - P->lib = strndup(libname->text + 1, libname->size - 2); + P->psi.file.ln = strndup(libname->text + 1, libname->size - 2); } free(libname); free(T);