git: 9front

Download patch

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;
--