From b0077f06f091c661138ef39550ca66bada1ee56e Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Tue, 21 Jun 2016 14:04:43 +0200 Subject: [PATCH] webservices: Accept zero write option in WsWriteType. Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/webservices/writer.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c index 9779870ad52..ebe9b9ddfc9 100644 --- a/dlls/webservices/writer.c +++ b/dlls/webservices/writer.c @@ -1424,55 +1424,55 @@ static HRESULT write_type( struct writer *writer, WS_TYPE_MAPPING mapping, WS_TY case WS_BOOL_TYPE: { const BOOL *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_bool( writer, mapping, desc, ptr ); } case WS_INT8_TYPE: { const INT8 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_int8( writer, mapping, desc, ptr ); } case WS_INT16_TYPE: { const INT16 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_int16( writer, mapping, desc, ptr ); } case WS_INT32_TYPE: { const INT32 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_int32( writer, mapping, desc, ptr ); } case WS_INT64_TYPE: { const INT64 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_int64( writer, mapping, desc, ptr ); } case WS_UINT8_TYPE: { const UINT8 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_uint8( writer, mapping, desc, ptr ); } case WS_UINT16_TYPE: { const UINT16 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_uint16( writer, mapping, desc, ptr ); } case WS_UINT32_TYPE: { const UINT32 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_uint32( writer, mapping, desc, ptr ); } case WS_UINT64_TYPE: { const UINT64 *ptr = value; - if (option != WS_WRITE_REQUIRED_VALUE || size != sizeof(*ptr)) return E_INVALIDARG; + if ((option && option != WS_WRITE_REQUIRED_VALUE) || size != sizeof(*ptr)) return E_INVALIDARG; return write_type_uint64( writer, mapping, desc, ptr ); } case WS_WSZ_TYPE: