diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-12-15 15:17:13 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-12-15 15:17:13 +0100 |
| commit | def91db3fe955168c82038ac2ee39783e81a2af0 (patch) | |
| tree | b6cbf100001e7b9fe34a8e2eb4ab00438f3e0154 /prog/decodeexec.go | |
| parent | 7a944a0a666587f229291814b30644cc0859674c (diff) | |
prog, pkg/csource: more readable serialization for strings
Always serialize strings in readable format (non-hex).
Serialize binary data in readable format in more cases.
Fixes #792
Diffstat (limited to 'prog/decodeexec.go')
| -rw-r--r-- | prog/decodeexec.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/prog/decodeexec.go b/prog/decodeexec.go index 5866d8627..c57597437 100644 --- a/prog/decodeexec.go +++ b/prog/decodeexec.go @@ -52,7 +52,8 @@ type ExecArgResult struct { } type ExecArgData struct { - Data []byte + Data []byte + Readable bool } type ExecArgCsum struct { @@ -161,8 +162,12 @@ func (dec *execDecoder) readArg() ExecArg { dec.vars[arg.Index] = arg.Default return arg case execArgData: + flags := dec.read() + size := flags & ^execArgDataReadable + readable := flags&execArgDataReadable != 0 return ExecArgData{ - Data: dec.readBlob(dec.read()), + Data: dec.readBlob(size), + Readable: readable, } case execArgCsum: size := dec.read() |
