summaryrefslogtreecommitdiff
path: root/libguile/ports.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-05-03 10:52:54 +0200
committerAndy Wingo <wingo@pobox.com>2016-05-03 10:52:54 +0200
commitd8711b97596fc52bad1d3139f5be4c8442e1b896 (patch)
tree20a79a7de94e421e5d1f10fa324c3c8b71fa5a34 /libguile/ports.h
parent422f65fe09e93bff383cc3e818204902ed0d32d2 (diff)
downloadguile-d8711b97596fc52bad1d3139f5be4c8442e1b896.tar.gz
Port encoding internally represented as symbol
* libguile/ports-internal.h (scm_t_port_internal): Remove encoding_mode member. * libguile/ports.h (scm_t_port): "encoding" member is now a SCM symbol. * libguile/ports.c (scm_init_ports): Define symbols for the encodings that we handle explicitly. (encoding_matches): Adapt to check against an encoding as a symbol. (canonicalize_encoding): Return an encoding as a symbol. (scm_c_make_port_with_encoding, scm_i_set_default_port_encoding) (decide_utf16_encoding, decide_utf32_encoding) (scm_i_port_iconv_descriptors, scm_i_set_port_encoding_x) (scm_port_encoding, peek_codepoint, scm_ungetc): Adapt to encoding change. * libguile/print.c (display_string_using_iconv, display_string): * libguile/read.c (scm_read_character): * libguile/strings.c (scm_from_port_stringn, scm_to_port_stringn): Adapt to port encoding change.
Diffstat (limited to 'libguile/ports.h')
-rw-r--r--libguile/ports.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/ports.h b/libguile/ports.h
index 189141fe3..6cf19d991 100644
--- a/libguile/ports.h
+++ b/libguile/ports.h
@@ -114,7 +114,7 @@ typedef struct
int rw_random;
/* Character encoding support. */
- char *encoding;
+ SCM encoding; /* A symbol of upper-case ASCII. */
scm_t_string_failed_conversion_handler ilseq_handler;
} scm_t_port;