;;;; 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.6 2003/05/06 01:43:14 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(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)
(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))
(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))