From 5371a7bad312143d4c5e7a57951cef7c23ef5218 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Wed, 29 Dec 2010 17:52:27 +0900 Subject: [PATCH] adding additional checks for EOF --- lib/srfi/38.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/srfi/38.scm b/lib/srfi/38.scm index ac79272d..b7b61945 100644 --- a/lib/srfi/38.scm +++ b/lib/srfi/38.scm @@ -135,12 +135,13 @@ (let ((c (peek-char in))) (cond ((char-numeric? c) (lp (+ res (* (read-char in) k)) (* k 0.1))) - ((memv c delimiters) res) + ((or (eof-object? c) (memv c delimiters)) res) (else (error "invalid char in float syntax" c)))))) (define (read-name c in) (let lp ((ls (if (char? c) (list c) '()))) (let ((c (peek-char in))) - (cond ((memv c delimiters) (list->string (reverse ls))) + (cond ((or (eof-object? c) (memv c delimiters)) + (list->string (reverse ls))) (else (lp (cons (read-char in) ls))))))) (define (read-named-char c in) (let ((name (read-name c in)))