Commit a3d14f88 authored by Ulrich Weigand's avatar Ulrich Weigand Committed by Alexandre Julliard

Use typedef to work around egcs problem.

parent 4405f3c3
...@@ -1636,12 +1636,8 @@ static void BuildCallFrom16Func( FILE *outfile, char *profile, char *prefix, int ...@@ -1636,12 +1636,8 @@ static void BuildCallFrom16Func( FILE *outfile, char *profile, char *prefix, int
ret_type = reg_func? "void" : short_ret? "WORD" : "LONG"; ret_type = reg_func? "void" : short_ret? "WORD" : "LONG";
fprintf( outfile, "%s%s WINAPI %s_CallFrom16_%s( FARPROC proc, LPBYTE args%s )\n{\n", fprintf( outfile, "typedef %s WINAPI (*proc_%s_t)( ",
local? "static " : "", ret_type, prefix, profile, ret_type, profile );
reg_func? ", struct _CONTEXT86 *context" : "" );
fprintf( outfile, " %s((%s WINAPI (*)( ",
reg_func? "" : "return ", ret_type );
args = profile + 7; args = profile + 7;
for ( i = 0; args[i]; i++ ) for ( i = 0; args[i]; i++ )
{ {
...@@ -1658,7 +1654,14 @@ static void BuildCallFrom16Func( FILE *outfile, char *profile, char *prefix, int ...@@ -1658,7 +1654,14 @@ static void BuildCallFrom16Func( FILE *outfile, char *profile, char *prefix, int
fprintf( outfile, "%sstruct _CONTEXT86 *", i? ", " : "" ); fprintf( outfile, "%sstruct _CONTEXT86 *", i? ", " : "" );
else if ( !i ) else if ( !i )
fprintf( outfile, "void" ); fprintf( outfile, "void" );
fprintf( outfile, " )) proc) (\n" ); fprintf( outfile, " );\n" );
fprintf( outfile, "%s%s WINAPI %s_CallFrom16_%s( FARPROC proc, LPBYTE args%s )\n{\n",
local? "static " : "", ret_type, prefix, profile,
reg_func? ", struct _CONTEXT86 *context" : "" );
fprintf( outfile, " %s((proc_%s_t) proc) (\n",
reg_func? "" : "return ", profile );
args = profile + 7; args = profile + 7;
pos = !usecdecl? argsize : 0; pos = !usecdecl? argsize : 0;
for ( i = 0; args[i]; i++ ) for ( i = 0; args[i]; i++ )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment