runtime: add conversion specifier to printf for char values
R=r, golang-dev
CC=golang-dev
https://golang.org/cl/7327053
diff --git a/src/pkg/runtime/print.c b/src/pkg/runtime/print.c
index b642999a..5b60159 100644
--- a/src/pkg/runtime/print.c
+++ b/src/pkg/runtime/print.c
@@ -84,6 +84,7 @@
narg = 0;
switch(*p) {
case 't':
+ case 'c':
narg = arg + 1;
break;
case 'd': // 32-bit
@@ -126,6 +127,9 @@
case 'a':
runtime·printslice(*(Slice*)v);
break;
+ case 'c':
+ runtime·printbyte(*(int8*)v);
+ break;
case 'd':
runtime·printint(*(int32*)v);
break;
@@ -203,6 +207,12 @@
}
void
+runtime·printbyte(int8 c)
+{
+ gwrite(&c, 1);
+}
+
+void
runtime·printfloat(float64 v)
{
byte buf[20];
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h
index 77f60cb..a787cad 100644
--- a/src/pkg/runtime/runtime.h
+++ b/src/pkg/runtime/runtime.h
@@ -817,6 +817,7 @@
* runtime go-called
*/
void runtime·printbool(bool);
+void runtime·printbyte(int8);
void runtime·printfloat(float64);
void runtime·printint(int64);
void runtime·printiface(Iface);