Alexandre Julliard : winebuild: Allow optional keywords to be in any order in a .def file.
Alexandre Julliard
julliard at winehq.org
Wed Dec 30 10:18:11 CST 2009
Module: wine
Branch: master
Commit: 4939acf0ace95e5c090e2c0b118c4c0ab9eb76f0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4939acf0ace95e5c090e2c0b118c4c0ab9eb76f0
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Dec 28 23:23:54 2009 +0100
winebuild: Allow optional keywords to be in any order in a .def file.
---
tools/winebuild/parser.c | 43 ++++++++++++++++++++++---------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
index 642ccac..57807ed 100644
--- a/tools/winebuild/parser.c
+++ b/tools/winebuild/parser.c
@@ -945,33 +945,34 @@ static int parse_def_export( char *name, DLLSPEC *spec )
/* check for other optional keywords */
- if (token && !strcmp( token, "NONAME" ))
+ while (token)
{
- if (odp->ordinal == -1)
+ if (!strcmp( token, "NONAME" ))
{
- error( "NONAME requires an ordinal\n" );
+ if (odp->ordinal == -1)
+ {
+ error( "NONAME requires an ordinal\n" );
+ goto error;
+ }
+ odp->export_name = odp->name;
+ odp->name = NULL;
+ odp->flags |= FLAG_NONAME;
+ }
+ else if (!strcmp( token, "PRIVATE" ))
+ {
+ odp->flags |= FLAG_PRIVATE;
+ }
+ else if (!strcmp( token, "DATA" ))
+ {
+ odp->type = TYPE_EXTERN;
+ }
+ else
+ {
+ error( "Garbage text '%s' found at end of export declaration\n", token );
goto error;
}
- odp->export_name = odp->name;
- odp->name = NULL;
- odp->flags |= FLAG_NONAME;
token = GetToken(1);
}
- if (token && !strcmp( token, "PRIVATE" ))
- {
- odp->flags |= FLAG_PRIVATE;
- token = GetToken(1);
- }
- if (token && !strcmp( token, "DATA" ))
- {
- odp->type = TYPE_EXTERN;
- token = GetToken(1);
- }
- if (token)
- {
- error( "Garbage text '%s' found at end of export declaration\n", token );
- goto error;
- }
return 1;
error:
More information about the wine-cvs
mailing list