diff --git a/basis/io/buffers/buffers.factor b/basis/io/buffers/buffers.factor index 562abad082..ec064069ca 100644 --- a/basis/io/buffers/buffers.factor +++ b/basis/io/buffers/buffers.factor @@ -44,13 +44,16 @@ M: buffer dispose* ptr>> free ; : buffer@ ( buffer -- alien ) [ pos>> ] [ ptr>> ] bi ; 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 ; inline