aboutsummaryrefslogtreecommitdiffstats
path: root/prog/decodeexec.go
diff options
context:
space:
mode:
Diffstat (limited to 'prog/decodeexec.go')
-rw-r--r--prog/decodeexec.go9
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()