widl: Generate NdrNonConformatString* calls for non-conformant string types.
This commit is contained in:
parent
a6c6e1d032
commit
69551fdf74
|
@ -833,6 +833,11 @@ void marshall_arguments(FILE *file, int indent, func_t *func,
|
||||||
|
|
||||||
if (is_string_type(var->attrs, var->ptr_level, var->array))
|
if (is_string_type(var->attrs, var->ptr_level, var->array))
|
||||||
{
|
{
|
||||||
|
if (var->array && var->array->is_const)
|
||||||
|
print_file(file, indent,
|
||||||
|
"NdrNonConformantStringMarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d]);\n",
|
||||||
|
var->name, *type_offset);
|
||||||
|
else
|
||||||
print_file(file, indent,
|
print_file(file, indent,
|
||||||
"NdrConformantStringMarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d]);\n",
|
"NdrConformantStringMarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d]);\n",
|
||||||
var->name, *type_offset);
|
var->name, *type_offset);
|
||||||
|
@ -1018,6 +1023,11 @@ void unmarshall_arguments(FILE *file, int indent, func_t *func,
|
||||||
|
|
||||||
if (is_string_type(var->attrs, var->ptr_level, var->array))
|
if (is_string_type(var->attrs, var->ptr_level, var->array))
|
||||||
{
|
{
|
||||||
|
if (var->array && var->array->is_const)
|
||||||
|
print_file(file, indent,
|
||||||
|
"NdrNonConformantStringUnmarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d], 0);\n",
|
||||||
|
var->name, *type_offset);
|
||||||
|
else
|
||||||
print_file(file, indent,
|
print_file(file, indent,
|
||||||
"NdrConformantStringUnmarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d], 0);\n",
|
"NdrConformantStringUnmarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d], 0);\n",
|
||||||
var->name, *type_offset);
|
var->name, *type_offset);
|
||||||
|
|
Loading…
Reference in New Issue