~ chicken-core (chicken-5) fa248a734d6d59c8eed72579d08ab0e31af0a957
commit fa248a734d6d59c8eed72579d08ab0e31af0a957
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Sat May 17 20:43:58 2014 -0700
Commit: Peter Bex <peter.bex@xs4all.nl>
CommitDate: Sun May 18 12:49:16 2014 +0200
Fix read-string! and u8vector! types.db entries to allow false length arguments
Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
diff --git a/types.db b/types.db
index ab012d29..a66f044b 100644
--- a/types.db
+++ b/types.db
@@ -1302,7 +1302,7 @@
(read-line (#(procedure #:enforce) read-line (#!optional input-port (or false fixnum)) (or eof string)))
(read-lines (#(procedure #:enforce) read-lines (#!optional (or input-port string) fixnum) (list-of string)))
(read-string (#(procedure #:enforce) read-string (#!optional * input-port) string))
-(read-string! (#(procedure #:enforce) read-string! (fixnum string #!optional input-port fixnum) fixnum))
+(read-string! (#(procedure #:enforce) read-string! ((or fixnum false) string #!optional input-port fixnum) fixnum))
(read-token (#(procedure #:enforce) read-token ((procedure (char) *) #!optional input-port) string))
(sprintf (#(procedure #:enforce) sprintf (string #!rest) string))
(write-byte (#(procedure #:enforce) write-byte (fixnum #!optional output-port) undefined))
@@ -2457,7 +2457,7 @@
(make-u32vector (#(procedure #:clean #:enforce) make-u32vector (fixnum #!optional * * *) (struct u32vector)))
(make-u8vector (#(procedure #:clean #:enforce) make-u8vector (fixnum #!optional * * *) (struct u8vector)))
(read-u8vector (#(procedure #:enforce) read-u8vector (#!optional fixnum input-port) (struct u8vector)))
-(read-u8vector! (#(procedure #:enforce) read-u8vector! (fixnum (struct u8vector) #!optional input-port fixnum) number))
+(read-u8vector! (#(procedure #:enforce) read-u8vector! ((or fixnum false) (struct u8vector) #!optional input-port fixnum) number))
(release-number-vector (procedure release-number-vector (*) undefined))
(s16vector (#(procedure #:clean #:enforce) s16vector (#!rest fixnum) (struct s16vector)))
(s16vector->blob (#(procedure #:clean #:enforce) s16vector->blob ((struct s16vector)) blob))
Trap