X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-simple-streams%2Ffile.lisp;h=5fd3d7098ed0e9ac9e8435395e358299c356e84e;hb=095a47764e687fa76cf0e2803633d30c65c00f40;hp=22099aff3e6e3bc60b1320e68d3e11e5c54ed544;hpb=962663e2cce358e9ba991d168256ea8855c17c46;p=sbcl.git diff --git a/contrib/sb-simple-streams/file.lisp b/contrib/sb-simple-streams/file.lisp index 22099af..5fd3d70 100644 --- a/contrib/sb-simple-streams/file.lisp +++ b/contrib/sb-simple-streams/file.lisp @@ -210,7 +210,7 @@ (sb-ext:cancel-finalization stream) (error "Error fstating ~S: ~A" stream (sb-int:strerror dev))) - (when (> size most-positive-fixnum) + (when (>= size most-positive-fixnum) ;; Or else BUF-LEN has to be a general integer, or ;; maybe (unsigned-byte 32). In any case, this means ;; BUF-MAX and BUF-PTR have to be the same, which means @@ -219,7 +219,7 @@ ;; bigger files, anyway. Maybe DEVICE-READ can adjust ;; the mapped portion of the file when necessary? (warn "Unable to memory-map entire file.") - (setf size most-positive-fixnum)) + (setf size (1- most-positive-fixnum))) (let ((buffer (handler-case (sb-posix:mmap nil size prot sb-posix::MAP-SHARED fd 0)