Robert Shearman : widl: Write out the pre- and postamble for RPC interfaces with no methods.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 31 13:04:50 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 071dfb188aaf89bbd4c0973f9c4766493337e7a4
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=071dfb188aaf89bbd4c0973f9c4766493337e7a4

Author: Robert Shearman <rob at codeweavers.com>
Date:   Fri Mar 31 12:50:34 2006 +0100

widl: Write out the pre- and postamble for RPC interfaces with no methods.

---

 tools/widl/header.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/tools/widl/header.c b/tools/widl/header.c
index 0347ead..ba241f6 100644
--- a/tools/widl/header.c
+++ b/tools/widl/header.c
@@ -917,18 +917,19 @@ static void write_rpc_interface(const ty
   unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION);
   const char *var = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE);
 
-  if (!iface->funcs) return;
-
   fprintf(header, "/*****************************************************************************\n");
   fprintf(header, " * %s interface (v%d.%d)\n", iface->name, LOWORD(ver), HIWORD(ver));
   fprintf(header, " */\n");
   fprintf(header,"#ifndef __%s_INTERFACE_DEFINED__\n", iface->name);
   fprintf(header,"#define __%s_INTERFACE_DEFINED__\n\n", iface->name);
-  write_iface_guid(iface);
-  if (var) fprintf(header, "extern handle_t %s;\n", var);
-  fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_c_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
-  fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_s_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
-  write_function_proto(iface);
+  if (iface->funcs)
+  {
+    write_iface_guid(iface);
+    if (var) fprintf(header, "extern handle_t %s;\n", var);
+    fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_c_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
+    fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_s_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
+    write_function_proto(iface);
+  }
   fprintf(header,"\n#endif  /* __%s_INTERFACE_DEFINED__ */\n\n", iface->name);
 
   /* FIXME: server/client code */




More information about the wine-cvs mailing list