X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=f9925cbdd254c5192ab0ad96a5b1e7fe23488432;hp=5c2e24dc2d3f9992a33eef5bd995d0e27816b685;hb=93d6b7f962a82b725d1918684297d68221b0b733;hpb=c57af11984f284e7e9de5bde5c189c416004638c diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index 5c2e24d..f9925cb 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -87,6 +87,10 @@ static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_imp } P->impls = psi_plist_add(P->impls, &impl); } +static inline void psi_parser_proc_add_lib(struct psi_parser *P, zend_string *lib) { + char *libname = strdup(lib->val); + P->file.libnames = psi_plist_add(P->file.libnames, &libname); +} /* end code */ } @@ -435,8 +439,7 @@ block: } } | lib { - char *libname = strdup($lib->text->val); - P->file.libnames = psi_plist_add(P->file.libnames, &libname); + psi_parser_proc_add_lib(P, $lib->text); } | constant { psi_parser_proc_add_const(P, $constant); @@ -474,6 +477,9 @@ lib: LIB QUOTED_STRING EOS { $lib = $QUOTED_STRING; } +| HASH PRAGMA LIB QUOTED_STRING EOS { + $lib = $QUOTED_STRING; +} ; cpp: