about summary refs log tree commit diff stats
path: root/shell/sandbox.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-04-15 20:12:36 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-04-15 20:12:36 -0700
commit0192e2031f41b1eabe0c2d764d7710fafe8f4a01 (patch)
tree6b63c352c54b8118d247badbfce0f5d66c053fa9 /shell/sandbox.mu
parent91e30acbd890a10d70d0c08e4f63ecd342b4b00d (diff)
downloadmu-0192e2031f41b1eabe0c2d764d7710fafe8f4a01.tar.gz
.
Diffstat (limited to 'shell/sandbox.mu')
-rw-r--r--shell/sandbox.mu7
1 files changed, 7 insertions, 0 deletions
diff --git a/shell/sandbox.mu b/shell/sandbox.mu
index 1a82f52a..69cb511b 100644
--- a/shell/sandbox.mu
+++ b/shell/sandbox.mu
@@ -53,6 +53,13 @@ fn allocate-sandbox-with _out: (addr handle sandbox), s: (addr array byte) {
   initialize-sandbox-with out-addr, s
 }
 
+fn write-sandbox out: (addr stream byte), _self: (addr sandbox) {
+  var self/eax: (addr sandbox) <- copy _self
+  var data-ah/eax: (addr handle gap-buffer) <- get self, data
+  var data/eax: (addr gap-buffer) <- lookup *data-ah
+  append-gap-buffer data, out
+}
+
 ##
 
 fn render-sandbox screen: (addr screen), _self: (addr sandbox), xmin: int, ymin: int, xmax: int, ymax: int, globals: (addr global-table) {