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 boolean property value 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 Signed-off-by: Kostiantyn Kostiuk --- target/sparc/cpu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index 1493336e7a..7704610428 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -174,10 +174,10 @@ static void sparc_cpu_parse_features(const char *typename, char *features, * TODO: remove minus-override-plus semantics after * warning for a few releases */ - if (!strcasecmp(val, "on") || - !strcasecmp(val, "off") || - !strcasecmp(val, "true") || - !strcasecmp(val, "false")) { + if (!g_ascii_strcasecmp(val, "on") || + !g_ascii_strcasecmp(val, "off") || + !g_ascii_strcasecmp(val, "true") || + !g_ascii_strcasecmp(val, "false")) { error_setg(errp, "Boolean properties in format %s=%s" " are not supported", name, val); return; -- 2.52.0