current-*-port family are not provided when PIC_USE_STDIO=0
This commit is contained in:
parent
339e8e8419
commit
b62ec2ad9a
45
lib/port.c
45
lib/port.c
|
@ -388,47 +388,6 @@ pic_fopen(pic_state *pic, FILE *fp, const char *mode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static int
|
|
||||||
null_read(pic_state *PIC_UNUSED(pic), void *PIC_UNUSED(cookie), char *PIC_UNUSED(ptr), int PIC_UNUSED(size)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
null_write(pic_state *PIC_UNUSED(pic), void *PIC_UNUSED(cookie), const char *PIC_UNUSED(ptr), int size) {
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
static long
|
|
||||||
null_seek(pic_state *PIC_UNUSED(pic), void *PIC_UNUSED(cookie), long PIC_UNUSED(pos), int PIC_UNUSED(whence)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
null_close(pic_state *PIC_UNUSED(pic), void *PIC_UNUSED(cookie)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static const pic_port_type null_rd = {
|
|
||||||
null_read, 0, null_seek, null_close
|
|
||||||
};
|
|
||||||
static const pic_port_type null_wr = {
|
|
||||||
0, null_write, null_seek, null_close
|
|
||||||
};
|
|
||||||
|
|
||||||
static pic_value
|
|
||||||
pic_fopen_null(pic_state *PIC_UNUSED(pic), const char *mode)
|
|
||||||
{
|
|
||||||
switch (*mode) {
|
|
||||||
case 'r':
|
|
||||||
return pic_funopen(pic, 0, &null_rd);
|
|
||||||
default:
|
|
||||||
return pic_funopen(pic, 0, &null_wr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct { char *buf; long pos, end, capa; } xbuf_t;
|
typedef struct { char *buf; long pos, end, capa; } xbuf_t;
|
||||||
|
@ -791,10 +750,6 @@ pic_init_port(pic_state *pic)
|
||||||
pic_defvar(pic, "current-input-port", pic_fopen(pic, stdin, "r"));
|
pic_defvar(pic, "current-input-port", pic_fopen(pic, stdin, "r"));
|
||||||
pic_defvar(pic, "current-output-port", pic_fopen(pic, stdout, "w"));
|
pic_defvar(pic, "current-output-port", pic_fopen(pic, stdout, "w"));
|
||||||
pic_defvar(pic, "current-error-port", pic_fopen(pic, stdout, "w"));
|
pic_defvar(pic, "current-error-port", pic_fopen(pic, stdout, "w"));
|
||||||
#else
|
|
||||||
pic_defvar(pic, "current-input-port", pic_fopen_null(pic, "r"));
|
|
||||||
pic_defvar(pic, "current-output-port", pic_fopen_null(pic, "w"));
|
|
||||||
pic_defvar(pic, "current-error-port", pic_fopen_null(pic, "w"));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pic_defun(pic, "port?", pic_port_port_p);
|
pic_defun(pic, "port?", pic_port_port_p);
|
||||||
|
|
Loading…
Reference in New Issue