Commit afff0ff1 authored by Russ Cox's avatar Russ Cox

% x inserts spaces between hex bytes in string/*[]byte

R=r
DELTA=7  (7 added, 0 deleted, 0 changed)
OCL=19967
CL=19978
parent ed490dbe
...@@ -45,6 +45,7 @@ var fmttests = []FmtTest{ ...@@ -45,6 +45,7 @@ var fmttests = []FmtTest{
// basic bytes // basic bytes
FmtTest{ "%s", Bytes("abc"), "abc" }, FmtTest{ "%s", Bytes("abc"), "abc" },
FmtTest{ "%x", Bytes("abc"), "616263" }, FmtTest{ "%x", Bytes("abc"), "616263" },
FmtTest{ "% x", Bytes("abc"), "61 62 63" },
FmtTest{ "%x", Bytes("xyz"), "78797a" }, FmtTest{ "%x", Bytes("xyz"), "78797a" },
FmtTest{ "%X", Bytes("xyz"), "78797A" }, FmtTest{ "%X", Bytes("xyz"), "78797A" },
FmtTest{ "%q", Bytes("abc"), `"abc"` }, FmtTest{ "%q", Bytes("abc"), `"abc"` },
......
...@@ -374,6 +374,9 @@ func (f *Fmt) s(s string) *Fmt { ...@@ -374,6 +374,9 @@ func (f *Fmt) s(s string) *Fmt {
func (f *Fmt) sx(s string) *Fmt { func (f *Fmt) sx(s string) *Fmt {
t := ""; t := "";
for i := 0; i < len(s); i++ { for i := 0; i < len(s); i++ {
if i > 0 && f.space {
t += " ";
}
v := s[i]; v := s[i];
t += string(ldigits[v>>4]); t += string(ldigits[v>>4]);
t += string(ldigits[v&0xF]); t += string(ldigits[v&0xF]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment