diff options
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() |
