go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

commit ea6bfa050eebeb782d7cc49dabce637aa821c7ba
parent 2bffe532f21eb6450794553e382da370be2b98de
Author: lash <dev@holbrook.no>
Date:   Wed,  5 Feb 2025 09:27:58 +0000

Add force bytecode clear option to engine reset

Diffstat:
Mengine/db.go | 20+++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/engine/db.go b/engine/db.go @@ -584,13 +584,19 @@ func (en *DefaultEngine) Flush(ctx context.Context, w io.Writer) (int, error) { } // start execution over at top node while keeping current state of client error flags. -func (en *DefaultEngine) Reset(ctx context.Context) (bool, error) { - b, err := en.st.GetCode() - if err != nil { - return false, err - } - if len(b) > 0 { - return false, ErrCodeRemaining +func (en *DefaultEngine) Reset(ctx context.Context, force bool) (bool, error) { + var err error + var b []byte + if force { + en.st.SetCode(b) + } else { + b, err = en.st.GetCode() + if err != nil { + return false, err + } + if len(b) > 0 { + return false, ErrCodeRemaining + } } return en.reset(ctx) }