189 |
SCM z; |
SCM z; |
190 |
SCM_VALIDATE_VECTOR_LEN (1, pv,5); |
SCM_VALIDATE_VECTOR_LEN (1, pv,5); |
191 |
SCM_VALIDATE_STRING (2, modes); |
SCM_VALIDATE_STRING (2, modes); |
192 |
z = scm_cell (scm_tc16_sfport, 0); |
|
193 |
SCM_DEFER_INTS; |
SCM_DEFER_INTS; |
194 |
pt = scm_add_to_port_table (z); |
pt = scm_new_port_table_entry (); |
195 |
scm_port_non_buffer (pt); |
scm_port_non_buffer (pt); |
196 |
SCM_SET_CELL_TYPE (z, scm_tc16_sfport | scm_mode_bits (SCM_STRING_CHARS (modes))); |
z = scm_cell (scm_tc16_sfport | scm_mode_bits (SCM_STRING_CHARS (modes)), 0); |
197 |
SCM_SETPTAB_ENTRY (z, pt); |
SCM_SETPTAB_ENTRY (z, pt); |
198 |
|
pt->port = z; |
199 |
|
|
200 |
SCM_SETSTREAM (z, SCM_UNPACK (pv)); |
SCM_SETSTREAM (z, SCM_UNPACK (pv)); |
201 |
SCM_ALLOW_INTS; |
SCM_ALLOW_INTS; |
202 |
return z; |
return z; |