mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-01 23:30:28 +02:00
Port type objects are tagged
* libguile/scm.h (scm_tc7_port_type): * libguile/ports-internal.h (struct scm_t_port_type): * libguile/ports.c (scm_make_port_type): These objects have been allocated pointerless since 2011, but since 2016 at least they have had SCM members. Oops!
This commit is contained in:
parent
1520a5e425
commit
9e9567b22a
3 changed files with 4 additions and 2 deletions
|
@ -42,6 +42,7 @@ typedef enum scm_t_port_type_flags {
|
||||||
/* port-type description. */
|
/* port-type description. */
|
||||||
struct scm_t_port_type
|
struct scm_t_port_type
|
||||||
{
|
{
|
||||||
|
scm_t_bits tag;
|
||||||
char *name;
|
char *name;
|
||||||
int (*print) (SCM exp, SCM port, scm_print_state *pstate);
|
int (*print) (SCM exp, SCM port, scm_print_state *pstate);
|
||||||
|
|
||||||
|
|
|
@ -250,9 +250,10 @@ scm_make_port_type (char *name,
|
||||||
{
|
{
|
||||||
scm_t_port_type *desc;
|
scm_t_port_type *desc;
|
||||||
|
|
||||||
desc = scm_allocate_pointerless (SCM_I_CURRENT_THREAD, sizeof (*desc));
|
desc = scm_allocate_tagged (SCM_I_CURRENT_THREAD, sizeof (*desc));
|
||||||
memset (desc, 0, sizeof (*desc));
|
memset (desc, 0, sizeof (*desc));
|
||||||
|
|
||||||
|
desc->tag = scm_tc7_port_type;
|
||||||
desc->name = name;
|
desc->name = name;
|
||||||
desc->print = scm_port_print;
|
desc->print = scm_port_print;
|
||||||
desc->c_read = read;
|
desc->c_read = read;
|
||||||
|
|
|
@ -487,7 +487,7 @@ typedef uintptr_t scm_t_bits;
|
||||||
#define scm_tc7_vm_cont 0x47
|
#define scm_tc7_vm_cont 0x47
|
||||||
#define scm_tc7_bytevector 0x4d
|
#define scm_tc7_bytevector 0x4d
|
||||||
#define scm_tc7_thread 0x4f
|
#define scm_tc7_thread 0x4f
|
||||||
#define scm_tc7_unused_55 0x55
|
#define scm_tc7_port_type 0x55
|
||||||
#define scm_tc7_unused_57 0x57
|
#define scm_tc7_unused_57 0x57
|
||||||
#define scm_tc7_array 0x5d
|
#define scm_tc7_array 0x5d
|
||||||
#define scm_tc7_bitvector 0x5f
|
#define scm_tc7_bitvector 0x5f
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue