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 boot 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 Signed-off-by: Kostiantyn Kostiuk --- hw/arm/xilinx_zynq.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index d43f36b718..e3cfeb4c08 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -186,13 +186,13 @@ static void zynq_set_boot_mode(Object *obj, const char *str, ZynqMachineState *m = ZYNQ_MACHINE(obj); uint8_t mode = 0; - if (!strncasecmp(str, "qspi", 4)) { + if (!g_ascii_strncasecmp(str, "qspi", 4)) { mode = 1; - } else if (!strncasecmp(str, "sd", 2)) { + } else if (!g_ascii_strncasecmp(str, "sd", 2)) { mode = 5; - } else if (!strncasecmp(str, "nor", 3)) { + } else if (!g_ascii_strncasecmp(str, "nor", 3)) { mode = 2; - } else if (!strncasecmp(str, "jtag", 4)) { + } else if (!g_ascii_strncasecmp(str, "jtag", 4)) { mode = 0; } else { error_setg(errp, "%s boot mode not supported", str); -- 2.52.0