;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: buff-input.lisp,v 1.9 2003/05/06 01:50:46 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(if (eql c +eof-char+) eof linebuffer)))
(declare (character c))
(cond
- ((char= c #\Newline)
- (unless (zerop pos)
- (setf (fill-pointer linebuffer) (1- pos)))
- (setf done t))
- ((char= +eof-char+)
- (setf done t))
- (t
- (setf (char linebuffer pos) c)
- (incf pos)))))))
+ ((>= pos +max-line+)
+ (warn "Line overflow")
+ (setf done t))
+ ((char= c #\Newline)
+ (when (plusp pos)
+ (setf (fill-pointer linebuffer) (1- pos)))
+ (setf done t))
+ ((char= +eof-char+)
+ (setf done t))
+ (t
+ (setf (char linebuffer pos) c)
+ (incf pos)))))))