diff options
Diffstat (limited to 'libguile/ports.c')
-rw-r--r-- | libguile/ports.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libguile/ports.c b/libguile/ports.c index 464f8f2a9..a89c7e48e 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -485,9 +485,8 @@ scm_c_make_port_buffer (size_t size) static long scm_i_mode_bits_n (SCM modes) { - return (SCM_OPN - | (scm_i_string_contains_char (modes, 'r') - || scm_i_string_contains_char (modes, '+') ? SCM_RDNG : 0) + return ((scm_i_string_contains_char (modes, 'r') + || scm_i_string_contains_char (modes, '+') ? SCM_RDNG : 0) | (scm_i_string_contains_char (modes, 'w') || scm_i_string_contains_char (modes, 'a') || scm_i_string_contains_char (modes, '+') ? SCM_WRTNG : 0) @@ -629,7 +628,7 @@ scm_c_make_port_with_encoding (scm_t_port_type *ptob, unsigned long mode_bits, pt = scm_gc_typed_calloc (scm_t_port); - ret = scm_words (scm_tc7_port | mode_bits, 4); + ret = scm_words (scm_tc7_port | mode_bits | SCM_OPN, 4); SCM_SET_CELL_WORD_1 (ret, stream); SCM_SET_CELL_WORD_2 (ret, (scm_t_bits) pt); SCM_SET_CELL_WORD_3 (ret, (scm_t_bits) ptob); |