diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-05-16 16:54:17 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-05-16 16:54:17 -0700 |
| commit | 5582235bd300f8de997192f9109d596d12df4bbe (patch) | |
| tree | d219a6c0a3d96052eec422527cd05775354abf76 /buffer.sml | |
| parent | ff12ef4eea67453c1a6c1fa4614b74adf7c3caca (diff) | |
| download | sml-5582235bd300f8de997192f9109d596d12df4bbe.tar.zst | |
Fix spelling of file names
Diffstat (limited to 'buffer.sml')
| -rw-r--r-- | buffer.sml | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/buffer.sml b/buffer.sml deleted file mode 100644 index 054f29c..0000000 --- a/buffer.sml +++ /dev/null @@ -1,50 +0,0 @@ -structure Buffer = -struct - fun append (a : Word8ArraySlice.slice) (b : Word8ArraySlice.slice) : Word8ArraySlice.slice = - let - val bLen = Word8ArraySlice.length b - val (base, i, aLen) = Word8ArraySlice.base a - val baseLen = Word8Array.length base - in - if i + aLen + bLen <= baseLen - then - (Word8ArraySlice.copy { src = b, dst = base, di = i + aLen } ; - Word8ArraySlice.slice (base, i, SOME (aLen + bLen))) - else - let val newBuf = Word8Array.array (baseLen * 2 + bLen, Word8.fromInt 0) - in - Word8ArraySlice.copy { src = a, dst = newBuf, di = 0 } ; - Word8ArraySlice.copy { src = b, dst = newBuf, di = aLen } ; - Word8ArraySlice.slice (newBuf, 0, SOME (aLen + bLen)) - end - end - - fun buf () : BinIO.outstream * Word8ArraySlice.slice ref = - let val buffer = ref (Word8ArraySlice.full (Word8Array.array (0, Word8.fromInt 0))) - in - (BinIO.mkOutstream - (BinIO.StreamIO.mkOutstream - (BinPrimIO.WR - { name = "buffer" - , chunkSize = 1 - , writeVec = NONE - , writeArr = - SOME - (fn a => - (buffer := append (!buffer) a ; - Word8ArraySlice.length a)) - , writeVecNB = NONE - , writeArrNB = NONE - , block = NONE - , canOutput = NONE - , getPos = NONE - , setPos = NONE - , endPos = NONE - , verifyPos = NONE - , close = fn () => () - , ioDesc = NONE - }, - IO.NO_BUF)), - buffer) - end -end |
