From 261c09999bc0b3e6e5df70aabcb39cc551a0cb99 Mon Sep 17 00:00:00 2001 From: Kostiantyn Kostiuk Date: Fri, 27 Mar 2026 15:43:48 +0200 Subject: [PATCH] qom: Use g_ascii_strcasecmp instead of strcasecmp This is a change in semantics. g_ascii_strcasecmp() doesn't honour locale but strcasecmp() does. But this is OK for at least one reason: (1) QEMU always runs with the C locale so there's not an actual behaviour change here (2) we want the comparison on class names to be a plain ASCII one, not to do weird things with "I" in Turkish locales, so g_ascii_strcasecmp() is better as it's explicit about that Reviewed-by: Peter Maydell Signed-off-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/r/20260327134401.270186-3-kkostiuk@redhat.com Signed-off-by: Paolo Bonzini --- qom/object.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qom/object.c b/qom/object.c index ff8ede8a32..e5c0c2f53e 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1193,8 +1193,8 @@ GSList *object_class_get_list(const char *implements_type, static gint object_class_cmp(gconstpointer a, gconstpointer b, gpointer d) { - return strcasecmp(object_class_get_name((ObjectClass *)a), - object_class_get_name((ObjectClass *)b)); + return g_ascii_strcasecmp(object_class_get_name((ObjectClass *)a), + object_class_get_name((ObjectClass *)b)); } GSList *object_class_get_list_sorted(const char *implements_type,