[PATCH 5/5] widl: Fix sign handling in parameterized types signatures.
Rémi Bernon
rbernon at codeweavers.com
Tue Jan 25 03:13:39 CST 2022
Unspecified sign should be mapped to signed integer / char.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
This is currently no-op, but it would change the generated uuid.
tools/widl/typetree.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/widl/typetree.c b/tools/widl/typetree.c
index 94e0b8c59b5..0fa0fb238c7 100644
--- a/tools/widl/typetree.c
+++ b/tools/widl/typetree.c
@@ -211,13 +211,13 @@ static size_t append_type_signature(char **buf, size_t *len, size_t pos, type_t
{
case TYPE_BASIC_INT:
case TYPE_BASIC_INT32:
- n += strappend(buf, len, pos + n, type_basic_get_sign(type) < 0 ? "i4" : "u4");
+ n += strappend(buf, len, pos + n, type_basic_get_sign(type) <= 0 ? "i4" : "u4");
return n;
case TYPE_BASIC_INT64:
- n += strappend(buf, len, pos + n, type_basic_get_sign(type) < 0 ? "i8" : "u8");
+ n += strappend(buf, len, pos + n, type_basic_get_sign(type) <= 0 ? "i8" : "u8");
return n;
case TYPE_BASIC_INT8:
- assert(type_basic_get_sign(type) >= 0); /* signature string for signed char isn't specified */
+ assert(type_basic_get_sign(type) > 0); /* signature string for signed char isn't specified */
n += strappend(buf, len, pos + n, "u1");
return n;
case TYPE_BASIC_FLOAT:
--
2.34.1
More information about the wine-devel
mailing list