[PATCH vkd3d 08/10] vkd3d-shader/spirv: Properly compare integers in vkd3d_spirv_declaration_compare().
Henri Verbeet
hverbeet at codeweavers.com
Mon Feb 28 05:23:50 CST 2022
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
libs/vkd3d-shader/spirv.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 1ffce6a1..cc8748d9 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -511,11 +511,12 @@ static int vkd3d_spirv_declaration_compare(const void *key, const struct rb_entr
{
const struct vkd3d_spirv_declaration *a = key;
const struct vkd3d_spirv_declaration *b = RB_ENTRY_VALUE(e, const struct vkd3d_spirv_declaration, entry);
+ int ret;
- if (a->op != b->op)
- return a->op - b->op;
- if (a->parameter_count != b->parameter_count)
- return a->parameter_count - b->parameter_count;
+ if ((ret = vkd3d_u32_compare(a->op, b->op)))
+ return ret;
+ if ((ret = vkd3d_u32_compare(a->parameter_count, b->parameter_count)))
+ return ret;
assert(a->parameter_count <= ARRAY_SIZE(a->parameters));
return memcmp(&a->parameters, &b->parameters, a->parameter_count * sizeof(*a->parameters));
}
--
2.20.1
More information about the wine-devel
mailing list