Eric Kohl : widl: Fix proc format string for explicit binding handles.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Feb 7 06:05:49 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 417a61fa6137a2fe322b91e59fe27ca6b5704b50
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=417a61fa6137a2fe322b91e59fe27ca6b5704b50
Author: Eric Kohl <eric.kohl at t-online.de>
Date: Tue Feb 7 12:30:55 2006 +0100
widl: Fix proc format string for explicit binding handles.
---
tools/widl/typegen.c | 27 ++++++++++++++++++---------
1 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index a9c9473..df58428 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -156,6 +156,7 @@ static inline int is_base_type(unsigned
case RPC_FC_ENUM16:
case RPC_FC_ENUM32:
case RPC_FC_ERROR_STATUS_T:
+ case RPC_FC_BIND_PRIMITIVE:
return TRUE;
default:
@@ -208,6 +209,12 @@ static size_t write_procformatstring_var
CASE_BASETYPE(FC_DOUBLE);
CASE_BASETYPE(FC_ERROR_STATUS_T);
#undef CASE_BASETYPE
+
+ case RPC_FC_BIND_PRIMITIVE:
+ print_file(file, indent, "0x%02x, /* FC_IGNORE */\n", RPC_FC_IGNORE);
+ size = 2; /* includes param type prefix */
+ break;
+
default:
error("Unknown/unsupported type: %s (0x%02x)\n", var->name, type->type);
size = 0;
@@ -1003,7 +1010,7 @@ static size_t write_struct_tfs(FILE *fil
array = find_array_or_string_in_struct(type);
current_structure = type;
- array_offset = write_array_tfs(file, array->attrs, array->type,
+ array_offset = write_array_tfs(file, array->attrs, array->type,
array->array, array->name,
typestring_offset);
current_structure = NULL;
@@ -1461,6 +1468,11 @@ void marshall_arguments(FILE *file, int
alignment = (4 - last_size);
break;
+ case RPC_FC_IGNORE:
+ case RPC_FC_BIND_PRIMITIVE:
+ /* no marshalling needed */
+ continue;
+
default:
error("marshall_arguments: Unsupported type: %s (0x%02x, ptr_level: 0)\n", var->name, var->type->type);
size = 0;
@@ -1499,10 +1511,6 @@ void marshall_arguments(FILE *file, int
case RPC_FC_BOGUS_STRUCT:
ndrtype = "ComplexStruct";
break;
- case RPC_FC_IGNORE:
- case RPC_FC_BIND_PRIMITIVE:
- /* no marshalling needed */
- continue;
default:
error("marshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)\n",
var->name, var->type->type, var->ptr_level);
@@ -1636,6 +1644,11 @@ void unmarshall_arguments(FILE *file, in
alignment = (4 - last_size);
break;
+ case RPC_FC_IGNORE:
+ case RPC_FC_BIND_PRIMITIVE:
+ /* no unmarshalling needed */
+ continue;
+
default:
error("unmarshall_arguments: Unsupported type: %s (0x%02x, ptr_level: 0)\n", var->name, var->type->type);
size = 0;
@@ -1674,10 +1687,6 @@ void unmarshall_arguments(FILE *file, in
case RPC_FC_BOGUS_STRUCT:
ndrtype = "ComplexStruct";
break;
- case RPC_FC_IGNORE:
- case RPC_FC_BIND_PRIMITIVE:
- /* no unmarshalling needed */
- continue;
default:
error("unmarshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)\n",
var->name, var->type->type, var->ptr_level);
More information about the wine-cvs
mailing list