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:
parent
bb8a0a9f7e
commit
3db71d9d9c
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue