Jacek Caban : widl: Generate names for imported nameless typedefs.
Alexandre Julliard
julliard at winehq.org
Thu Aug 29 13:18:15 CDT 2013
Module: wine
Branch: master
Commit: 7e4462e28e9f66b61891683b77180d04148b06f4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7e4462e28e9f66b61891683b77180d04148b06f4
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Aug 29 15:09:21 2013 +0200
widl: Generate names for imported nameless typedefs.
---
tools/widl/parser.y | 4 ++--
tools/widl/widl.c | 5 +++--
tools/widl/widl.h | 1 +
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index 5751598..97c3896 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -1840,7 +1840,7 @@ static type_t *reg_typedefs(decl_spec_t *decl_spec, declarator_list_t *decls, at
type_get_type_detect_alias(type) == TYPE_STRUCT ||
type_get_type_detect_alias(type) == TYPE_UNION ||
type_get_type_detect_alias(type) == TYPE_ENCAPSULATED_UNION) &&
- !type->name && !parse_only)
+ !type->name)
{
if (! is_attr(attrs, ATTR_PUBLIC) && ! is_attr (attrs, ATTR_HIDDEN))
attrs = append_attr( attrs, make_attr(ATTR_PUBLIC) );
@@ -1980,7 +1980,7 @@ static char *gen_name(void)
if (! file_id)
{
- char *dst = dup_basename(input_name, ".idl");
+ char *dst = dup_basename(input_idl_name, ".idl");
file_id = dst;
for (; *dst; ++dst)
diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index 2ff1977..b37a0f8 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -118,6 +118,7 @@ int do_rt_extension = 0;
static enum stub_mode stub_mode = MODE_Os;
char *input_name;
+char *input_idl_name;
char *header_name;
char *local_stubs_name;
char *header_token;
@@ -488,7 +489,7 @@ void write_id_data(const statement_list_t *stmts)
}
fprintf(idfile, "/*** Autogenerated by WIDL %s ", PACKAGE_VERSION);
- fprintf(idfile, "from %s - Do not edit ***/\n\n", input_name);
+ fprintf(idfile, "from %s - Do not edit ***/\n\n", input_idl_name);
fprintf(idfile, "#include <rpc.h>\n");
fprintf(idfile, "#include <rpcndr.h>\n\n");
fprintf(idfile, "#include <initguid.h>\n\n");
@@ -706,7 +707,7 @@ int main(int argc,char *argv[])
return 1;
}
else
- input_name = xstrdup(argv[optind]);
+ input_idl_name = input_name = xstrdup(argv[optind]);
}
else {
fprintf(stderr, "%s", usage);
diff --git a/tools/widl/widl.h b/tools/widl/widl.h
index 91054ad..9e09f76 100644
--- a/tools/widl/widl.h
+++ b/tools/widl/widl.h
@@ -52,6 +52,7 @@ extern int win64_packing;
extern int do_rt_extension;
extern char *input_name;
+extern char *input_idl_name;
extern char *header_name;
extern char *header_token;
extern char *local_stubs_name;
More information about the wine-cvs
mailing list