X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=buff-input.lisp;h=3d678431776039b30db330cb0588bc26c85496da;hb=23502ca70f35ba1f3a03dd623ca21a92a6064e14;hp=9072fb9269df527356099653b56fac126ad80bbd;hpb=30b4f8d91af2bb031e8d4ef7d5a38492739de2bf;p=kmrcl.git diff --git a/buff-input.lisp b/buff-input.lisp index 9072fb9..3d67843 100644 --- a/buff-input.lisp +++ b/buff-input.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: buff-input.lisp,v 1.3 2002/10/10 16:23:48 kevin Exp $ +;;;; $Id: buff-input.lisp,v 1.7 2003/05/06 01:45:44 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -18,7 +18,8 @@ (in-package :kmrcl) -(declaim (optimize (speed 3) (safety 0) (space 0) (debug 0))) +(eval-when (:compile-toplevel) + (declaim (optimize (speed 3) (safety 0) (space 0) (debug 0)))) (defconstant +max-field+ 10000) (defconstant +max-fields-per-line+ 20) @@ -39,7 +40,8 @@ (setf (aref bufs i) (make-array max-field-len :element-type 'character :fill-pointer 0 :adjustable nil))) bufs)) -(defun read-buffered-fields (fields strm &optional (field-delim +field-delim+)) +(defun read-buffered-fields (fields strm &optional (field-delim +field-delim+) + (eof 'eof)) "Read a line from a stream into a field buffers" (declare (type base-char field-delim) (type vector fields)) @@ -47,7 +49,7 @@ (do ((ifield 0 (1+ ifield)) (linedone nil) (eof nil)) - (linedone (if eof 'eof fields)) + (linedone (if eof eof fields)) (declare (type fixnum ifield) (type boolean linedone eof)) (let ((field (aref fields ifield))) @@ -87,9 +89,6 @@ (buffers) (field-lengths)) -(defmethod print-object ((f field-buffers) s) - (format s "#<~d>~%" (field-buffers-nfields f))) - (defun make-fields-buffer2 (&optional (max-fields +max-fields-per-line+) (max-field-len +max-field+)) (let ((bufs (make-array max-fields :element-type 'vector :fill-pointer nil :adjustable nil))