ref: a48282e19573ae60b8cb4e007e64416ec141fee4
parent: 2c32f151555ed98d2509f12c90c8acdc2ee2016e
author: qwx <qwx@sciops.net>
date: Sun Sep 28 19:08:31 EDT 2025
awk: fix %c printf format not handling runes
--- a/sys/src/cmd/awk/run.c
+++ b/sys/src/cmd/awk/run.c
@@ -840,6 +840,7 @@
{char *fmt;
char *p, *t, *os;
+ Rune r;
Cell *x;
int flag, n;
int fmtwd; /* format width */
@@ -916,6 +917,7 @@
flag = 4;
break;
case 'c':
+ t[-1] = 'C';
flag = 5;
break;
default:
@@ -963,8 +965,8 @@
*p = '\0';
}
} else {- if((*p = getsval(x)[0]) != '\0')
- p++;
+ chartorune(&r, getsval(x));
+ p += runetochar(p, &r);
*p = '\0';
}
break;
--
⑨