io.buffers: factor out buffer-read-unsafe word

buffer-read-unsafe returns a length and a pointer into the buffer instead of a copy.
db4
Joe Groff 2011-10-11 23:45:55 -07:00
parent b79d7158be
commit 7e9dbde99f
1 changed files with 6 additions and 3 deletions

View File

@ -44,13 +44,16 @@ M: buffer dispose* ptr>> free ;
: buffer@ ( buffer -- alien )
[ pos>> ] [ ptr>> ] bi <displaced-alien> ; inline
: buffer-read ( n buffer -- byte-array )
: buffer-read-unsafe ( n buffer -- n ptr )
[ buffer-length min ] keep
[ buffer@ ] [ buffer-consume ] 2bi
swap memory>byte-array ;
[ buffer@ ] [ buffer-consume ] 2bi ; inline
: buffer-read ( n buffer -- byte-array )
buffer-read-unsafe swap memory>byte-array ;
HINTS: buffer-read fixnum buffer ;
: buffer-end ( buffer -- alien )
[ fill>> ] [ ptr>> ] bi <displaced-alien> ; inline