On 11/20/18 3:36 PM, Eric Blake wrote:
> While most developers are now using UTF-8 environments, it's
> harder to guarantee that error messages will be output to
> a multibyte locale. Rather than risking error messages that
> get corrupted into mojibake when the user runs qemu in a
> non-multibyte locale, let's stick to straight ASCII error
> messages, rather than assuming that our use of UTF-8 in source
> code string constants will work unchanged in other locales.
>
> Reported-by: Markus Armbruster <arm...@redhat.com>
> Signed-off-by: Eric Blake <ebl...@redhat.com>
> ---
> hw/misc/tmp105.c | 2 +-
> hw/misc/tmp421.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c
> index 0918f3a6ea2..f6d7163273a 100644
> --- a/hw/misc/tmp105.c
> +++ b/hw/misc/tmp105.c
> @@ -79,7 +79,7 @@ static void tmp105_set_temperature(Object *obj, Visitor *v,
> const char *name,
> return;
> }
> if (temp >= 128000 || temp < -128000) {
> - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " °C is out of
> range",
> + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of range",
> temp / 1000, temp % 1000);
> return;
> }
> diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c
> index c234044305d..eeb11000f0f 100644
> --- a/hw/misc/tmp421.c
> +++ b/hw/misc/tmp421.c
> @@ -153,7 +153,7 @@ static void tmp421_set_temperature(Object *obj, Visitor
> *v, const char *name,
> }
>
> if (temp >= maxs[ext_range] || temp < mins[ext_range]) {
> - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " °C is out of
> range",
> + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of range",
> temp / 1000, temp % 1000);
> return;
> }
>
Do we have any policy in place to prohibit this in the future?
(Presumably a policy that is automatic and won't interfere with QEMU
localization efforts which may rightly attempt to use UTF-8 for those
locales.)
Do you have a script or trick to find utf-8 containing strings in our
source?
Only curious, don't hold this patch up on my account. I'm not raising a
challenge.
--js