diff options
Diffstat (limited to 'transform.e')
| -rw-r--r-- | transform.e | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/transform.e b/transform.e index 0a5af3e..26ee650 100644 --- a/transform.e +++ b/transform.e @@ -273,7 +273,7 @@ : push-input-buffer allocate-input-buffer-metadata ~ (original metadata pointer, new metadata pointer) - 2dup 6 8 * memcopy + 2dup 7 8 * memcopy ~ (original metadata pointer, new metadata pointer) swap dup zero-input-buffer-metadata input-buffer-next-source ! ; @@ -290,7 +290,7 @@ : pop-input-buffer dup input-buffer-next-source @ ~ (original metadata pointer, next source metadata pointer) - dup { swap 6 8 * memcopy } + dup { swap 7 8 * memcopy } { drop zero-input-buffer-metadata } if-else ; @@ -4479,7 +4479,7 @@ allocate-transformation-state s" transformation-state" variable ~ want to require that, so we keep all the formatting state in the output ~ metadata header. ~ -~ (length to write, base address, file descriptor -- length written) +~ (file descriptor, base address, length to write -- length written) : hex-sys-write-replacement ~ In intended operation, the code under transformation is a compilation ~ process, and it won't output anything that isn't executable binary. @@ -4488,7 +4488,7 @@ allocate-transformation-state s" transformation-state" variable over is-in-label-loop-buffer not { sys-write exit } if - drop over 3unroll + 3roll drop dup 3roll ~ The result should be the length written. We just proactively declare ~ that we'll write the full length we were asked to, threading that through ~ as the result we'll eventually return. |