widl: Only output code for non-object interfaces in client and server.

Only output code for non-object interfaces in client and server
generation and convert the while loops into for loops.
This commit is contained in:
Robert Shearman 2006-03-31 12:44:04 +01:00 committed by Alexandre Julliard
parent bb8a0a9f7e
commit 3db71d9d9c
2 changed files with 9 additions and 7 deletions

View File

@ -491,8 +491,11 @@ void write_client(ifref_t *ifaces)
if (!client)
return;
while (iface)
for (; iface; iface = PREV_LINK(iface))
{
if (is_object(iface->iface->attrs) || is_local(iface->iface->attrs))
continue;
fprintf(client, "/*****************************************************************************\n");
fprintf(client, " * %s interface\n", iface->iface->name);
fprintf(client, " */\n");
@ -526,8 +529,6 @@ void write_client(ifref_t *ifaces)
write_expr_eval_routine_list(client, iface->iface->name);
write_stubdescriptor(iface->iface, expr_eval_routines);
}
iface = PREV_LINK(iface);
}
fclose(client);

View File

@ -601,7 +601,7 @@ void write_server(ifref_t *ifaces)
if (!do_server)
return;
if (!iface)
if (!ifaces)
return;
END_OF_LIST(iface);
@ -609,8 +609,11 @@ void write_server(ifref_t *ifaces)
if (!server)
return;
while (iface)
for (; iface; iface = PREV_LINK(iface))
{
if (is_object(iface->iface->attrs) || is_local(iface->iface->attrs))
continue;
fprintf(server, "/*****************************************************************************\n");
fprintf(server, " * %s interface\n", iface->iface->name);
fprintf(server, " */\n");
@ -643,8 +646,6 @@ void write_server(ifref_t *ifaces)
write_stubdescriptor(iface->iface, expr_eval_routines);
write_dispatchtable(iface->iface);
}
iface = PREV_LINK(iface);
}
fclose(server);