X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=5a609b9052add7933aba9ced70c2b7f10f53f3c1;hp=a32600fec0b63f883a304b36fe9d1f9ff4b14bd8;hb=e48a77547645d7985d11880f463d811bbe10da6a;hpb=b282753558305fe44bd0d268833e131e5ccf82e8 diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index a32600f..5a609b9 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -456,12 +456,8 @@ block: } } | lib { - if (P->file.ln) { - P->error(PSI_DATA(P), $lib, PSI_WARNING, - "Extra 'lib \"%s\"' statement has no effect", $lib->text); - } else { - P->file.ln = strndup($lib->text, $lib->size); - } + char *libname = strdup($lib->text); + P->file.libnames = psi_plist_add(P->file.libnames, &libname); } | constant { psi_parser_proc_add_const(P, $constant); @@ -1115,9 +1111,10 @@ decl_extvar_stmt[list]: if (psi_decl_extvar_is_blacklisted(var->name)) { psi_decl_var_free(&var); } else { - list = psi_plist_add(list, psi_decl_extvar_init( - psi_decl_arg_init(psi_decl_type_copy($decl_arg->type), var))); - } + struct psi_decl_extvar *evar = psi_decl_extvar_init( + psi_decl_arg_init(psi_decl_type_copy($decl_arg->type), var)); + list = psi_plist_add(list, &evar); + } } free($vars); }