From 4a28515151d530aed085d263be97c5c87887897f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Apr 2009 18:45:59 +0200 Subject: [PATCH] ports: Accept `#f' as a transcoder argument. * src/ports.c (scm_r6rs_open_bytevector_input_port, scm_r6rs_open_bytevector_output_port): Accept TRANSCODER == #f. * tests/io-ports.test ("7.2.7 Input Ports"): Call `open-bytevector-input-port' with `#f' sometimes. ("8.2.10 Output ports"): Likewise. --- src/ports.c | 4 ++-- tests/io-ports.test | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ports.c b/src/ports.c index 6ce6787..c37dcea 100644 --- a/src/ports.c +++ b/src/ports.c @@ -203,7 +203,7 @@ SCM_DEFINE (scm_r6rs_open_bytevector_input_port, #define FUNC_NAME s_scm_r6rs_open_bytevector_input_port { SCM_VALIDATE_R6RS_BYTEVECTOR (1, bv); - if (transcoder != SCM_UNDEFINED) + if (!SCM_UNBNDP (transcoder) && !scm_is_false (transcoder)) transcoders_not_implemented (); return (make_bip (bv)); @@ -979,7 +979,7 @@ SCM_DEFINE (scm_r6rs_open_bytevector_output_port, "containing the data accumulated by the port.") #define FUNC_NAME scm_r6rs_open_bytevector_output_port { - if (transcoder != SCM_UNDEFINED) + if (!SCM_UNBNDP (transcoder) && !scm_is_false (transcoder)) transcoders_not_implemented (); return (make_bop ()); diff --git a/tests/io-ports.test b/tests/io-ports.test index b97f4a6..5f56497 100644 --- a/tests/io-ports.test +++ b/tests/io-ports.test @@ -246,7 +246,7 @@ (let* ((str "Hello Port!") (bv (u8-list->bytevector (map char->integer (string->list str)))) - (port (open-bytevector-input-port bv))) + (port (open-bytevector-input-port bv #f))) (write "hello" port))) @@ -254,7 +254,7 @@ (let* ((str "Hello Port!") (bv (u8-list->bytevector (map char->integer (string->list str)))) - (port (open-bytevector-input-port bv))) + (port (open-bytevector-input-port bv #f))) (and (port-has-port-position? port) (= 0 (port-position port)) @@ -349,7 +349,7 @@ (pass-if "open-bytevector-output-port" (let-values (((port get-content) - (open-bytevector-output-port))) + (open-bytevector-output-port #f))) (let ((source (make-bytevector 7777))) (put-bytevector port source) (and (bytevector=? (get-content) source) -- 2.11.4.GIT