From d2a8994d99708f8ee3f32a4d067c0ce1f828a921 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 24 Jan 2019 13:38:51 +0100 Subject: [PATCH] widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- tools/widl/typegen.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 0fe3a227240..7a81277afd3 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -446,6 +446,7 @@ static unsigned char get_contexthandle_flags( const type_t *iface, const attr_li const type_t *type, int is_return ) { unsigned char flags = 0; + int is_out; if (is_attr(iface->attrs, ATTR_STRICTCONTEXTHANDLE)) flags |= NDR_STRICT_CONTEXT_HANDLE; @@ -456,12 +457,13 @@ static unsigned char get_contexthandle_flags( const type_t *iface, const attr_li if (is_return) return flags | HANDLE_PARAM_IS_OUT | HANDLE_PARAM_IS_RETURN; - if (is_attr(attrs, ATTR_IN)) + is_out = is_attr(attrs, ATTR_OUT); + if (is_attr(attrs, ATTR_IN) || !is_out) { flags |= HANDLE_PARAM_IS_IN; - if (!is_attr(attrs, ATTR_OUT)) flags |= NDR_CONTEXT_HANDLE_CANNOT_BE_NULL; + if (!is_out) flags |= NDR_CONTEXT_HANDLE_CANNOT_BE_NULL; } - if (is_attr(attrs, ATTR_OUT)) flags |= HANDLE_PARAM_IS_OUT; + if (is_out) flags |= HANDLE_PARAM_IS_OUT; return flags; }