mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-30 06:50:31 +02:00
Change the definition of the functions in scm_ptobfuns so that
they get passed the port object, not the port's stream. * ports.h (scm_ptobfuns): Rename all `stream' arguments to `port'. * gc.c (scm_gc_sweep): Pass the port itself to the free function. * genio.c (scm_putc, scm_puts, scm_lfwrite, scm_fflush, scm_getc): Pass the port itself to the scm_ptobs function. * ports.c (scm_close_port, scm_force_output, scm_flush_all_ports, scm_generic_fgets): Same. (putc_void_port, puts_void_port, write_void_port, flush_void_port, getc_void_port, fgets_void_port, close_void_port): Just change the argument names; these functions don't really do anything. * fports.c (local_fgetc, local_fgets, local_fclose, local_fflush, local_fputc, local_fputs, local_ffwrite, local_pclose): Take the port as an argument, and use SCM_STREAM to get the stdio FILE *. Also, use prototyped definitions, and get rid of the extra declarations. (scm_fptob, scm_pipob): We don't need casts here any more. * strports.c (prinstpt): Use prototype declarations. (stputc, stwrite, stputs, stgetc): Take the port as an argument, and use SCM_STREAM to get the string info. Also, use prototyped definitions, and get rid of the extra declarations. * vports.c (sfputc, sfwrite, sfputs, sfflush, sfgetc, sfclose, noop0): Same. * ports.h (scm_ptobfuns): Replace uses of SCM_P with a straight prototype; it's okay (preferred, even!) to use ANSI C in Guile.
This commit is contained in:
parent
59619fea31
commit
0c0669cc73
1 changed files with 14 additions and 11 deletions
|
@ -124,17 +124,20 @@ extern int scm_port_table_size; /* Number of ports in scm_port_table. */
|
|||
|
||||
typedef struct scm_ptobfuns
|
||||
{
|
||||
SCM (*mark) SCM_P ((SCM));
|
||||
int (*free) SCM_P ((SCM));
|
||||
int (*print) SCM_P ((SCM exp, SCM port, scm_print_state *pstate));
|
||||
SCM (*equalp) SCM_P ((SCM, SCM));
|
||||
int (*fputc) SCM_P ((int, SCM stream));
|
||||
int (*fputs) SCM_P ((char *, SCM stream));
|
||||
scm_sizet (*fwrite) SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM stream));
|
||||
int (*fflush) SCM_P ((SCM stream));
|
||||
int (*fgetc) SCM_P ((SCM stream));
|
||||
char * (*fgets) SCM_P ((SCM stream, int *len));
|
||||
int (*fclose) SCM_P ((SCM stream));
|
||||
SCM (*mark) (SCM);
|
||||
int (*free) (SCM);
|
||||
int (*print) (SCM exp, SCM port, scm_print_state *pstate);
|
||||
SCM (*equalp) (SCM, SCM);
|
||||
int (*fputc) (int, SCM port);
|
||||
int (*fputs) (char *, SCM port);
|
||||
scm_sizet (*fwrite) SCM_P ((char *ptr,
|
||||
scm_sizet size,
|
||||
scm_sizet nitems,
|
||||
SCM port));
|
||||
int (*fflush) (SCM port);
|
||||
int (*fgetc) (SCM port);
|
||||
char * (*fgets) (SCM port, int *len);
|
||||
int (*fclose) (SCM port);
|
||||
} scm_ptobfuns;
|
||||
|
||||
#define SCM_PTOBNUM(x) (0x0ff & (SCM_CAR(x)>>8))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue