mirror of
https://github.com/dschmenk/PLASMA.git
synced 2026-04-20 16:16:34 +00:00
Allocate temp inbuf during BRK handling in FORTH
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -776,13 +776,15 @@ def showtrace(dentry)#0
|
||||
putln; puts("( "); _prstack_; puts(") "); puts(dentry); putc(' ')
|
||||
end
|
||||
def brkhandle(dentry)#0
|
||||
word brk_infn, brk_inptr, brk_iip
|
||||
word brk_infn, brk_inptr, brk_iip, brk_inbuf
|
||||
byte brk_state
|
||||
|
||||
showtrace(dentry)
|
||||
brk_iip = IIP
|
||||
brk_infn = infunc
|
||||
brk_inptr = inptr
|
||||
brk_inbuf = keyinbuf
|
||||
keyinbuf = heapalloc(INBUF_SIZE + 1)
|
||||
infunc = @keyin
|
||||
inptr = keyinbuf
|
||||
^inptr = 0
|
||||
@@ -795,6 +797,8 @@ def brkhandle(dentry)#0
|
||||
IIP = brk_iip
|
||||
infunc = brk_infn
|
||||
inptr = brk_inptr
|
||||
heaprelease(keyinbuf)
|
||||
keyinbuf = brk_inbuf
|
||||
end
|
||||
//
|
||||
// Execute code in CFA
|
||||
|
||||
Reference in New Issue
Block a user