Email list hosting service & mailing list manager

another bug in reference implementation Francisco Solsona 12 Feb 2004 20:44 UTC

Kirill Lisovsky found a new bug in the reference implementation of
SRFI-13.  This one affected, at least, the library included with PLT

The bug is on the inner loop of string-concatenate-reverse/shared:

(define (string-concatenate-reverse/shared string-list . maybe-final+end)
  (let-optionals* maybe-final+end ((final "" (string? final))
				   (end (string-length final)
					(and (integer? end)
					     (exact? end)
					     (<= 0 end (string-length final)))))
    ;; Add up the lengths of all the strings in STRING-LIST; also get a
    ;; pointer NZLIST into STRING-LIST showing where the first non-zero-length
    ;; string starts.
    (let lp ((len 0) (nzlist #f) (lis string-list))
      (if (pair? lis)
	  (let ((slen (string-length (car string-list))))