456 |
scm_new_port_table_entry (scm_t_bits tag) |
scm_new_port_table_entry (scm_t_bits tag) |
457 |
#define FUNC_NAME "scm_new_port_table_entry" |
#define FUNC_NAME "scm_new_port_table_entry" |
458 |
{ |
{ |
459 |
|
/* |
460 |
|
We initialize the cell to empty, this is in case scm_gc_calloc |
461 |
|
triggers GC ; we don't want the GC to scan a half-finished Z. |
462 |
|
*/ |
463 |
|
|
464 |
SCM z = scm_cons (SCM_EOL, SCM_EOL); |
SCM z = scm_cons (SCM_EOL, SCM_EOL); |
465 |
scm_t_port *entry = (scm_t_port *) scm_gc_calloc (sizeof (scm_t_port), "port"); |
scm_t_port *entry = (scm_t_port *) scm_gc_calloc (sizeof (scm_t_port), "port"); |
466 |
if (scm_i_port_table_size == scm_i_port_table_room) |
if (scm_i_port_table_size == scm_i_port_table_room) |
500 |
pt->port = port; |
pt->port = port; |
501 |
SCM_SETCAR(z, SCM_EOL); |
SCM_SETCAR(z, SCM_EOL); |
502 |
SCM_SETCDR(z, SCM_EOL); |
SCM_SETCDR(z, SCM_EOL); |
503 |
|
SCM_SETPTAB_ENTRY (port, pt); |
504 |
return pt; |
return pt; |
505 |
} |
} |
506 |
#endif |
#endif |