Debug: fix coding for signedness
authorAndrew Aitchison <exim@aitchison.me.uk>
Wed, 4 Sep 2024 20:37:57 +0000 (21:37 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Wed, 4 Sep 2024 20:37:57 +0000 (21:37 +0100)
Broken-by: 2d75f09c2df0
src/src/string.c

index f652b3815b83c35962db528428f51daa2d4ed292..2b62233d825a1428f7c110de15316b43a2c9e1d6 100644 (file)
@@ -1687,11 +1687,14 @@ while (*fp)
            case '{' : zg = string_catn(zg, US"{BO}", 4); break;
            case '}' : zg = string_catn(zg, US"{BC}", 4); break;
            default:
            case '{' : zg = string_catn(zg, US"{BO}", 4); break;
            case '}' : zg = string_catn(zg, US"{BC}", 4); break;
            default:
-             if ( (*s < 32) || (*s > 127) )
-               zg = string_fmt_append(zg, "{%02x}", *s);
+             {
+             unsigned char u = *s;
+             if ( (u < 32) || (u > 127) )
+               zg = string_fmt_append(zg, "{%02x}", u);
              else
                zg = string_catn(zg, US s, 1);
              break;
              else
                zg = string_catn(zg, US s, 1);
              break;
+             }
            }
        if (zg) { s = CS zg->s; precision = slen = gstring_length(zg); }
        else    { s = "";       slen = 0; }
            }
        if (zg) { s = CS zg->s; precision = slen = gstring_length(zg); }
        else    { s = "";       slen = 0; }