aboutsummaryrefslogtreecommitdiffstats
path: root/func.go
diff options
context:
space:
mode:
Diffstat (limited to 'func.go')
-rw-r--r--func.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/func.go b/func.go
index 8933974..955e94d 100644
--- a/func.go
+++ b/func.go
@@ -1298,7 +1298,13 @@ func (f *funcOrigin) Eval(w io.Writer, ev *Evaluator) error {
if err != nil {
return err
}
- v := ev.LookupVar(f.args[1].String())
+ abuf := newBuf()
+ err = f.args[1].Eval(abuf, ev)
+ if err != nil {
+ return err
+ }
+ v := ev.LookupVar(abuf.String())
+ freeBuf(abuf)
io.WriteString(w, v.Origin())
return nil
}
@@ -1312,7 +1318,13 @@ func (f *funcFlavor) Eval(w io.Writer, ev *Evaluator) error {
if err != nil {
return err
}
- v := ev.LookupVar(f.args[1].String())
+ abuf := newBuf()
+ err = f.args[1].Eval(abuf, ev)
+ if err != nil {
+ return err
+ }
+ v := ev.LookupVar(abuf.String())
+ freeBuf(abuf)
io.WriteString(w, v.Flavor())
return nil
}