From 7471fb031f4baeb8b9ca32b44fc097d8f3edc720 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Sun, 10 Nov 1996 00:15:21 +0000 Subject: [PATCH] * fports.c (scm_stdio_to_port, scm_open_file): Set the port's pointer to the stdio stream before calling scm_setbuf0, so the latter will be able to retrieve it. I'm surprised this didn't segfault earlier. (Thanks to Christopher Lee.) --- libguile/fports.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libguile/fports.c b/libguile/fports.c index b7e31b1d5..928aeeff5 100644 --- a/libguile/fports.c +++ b/libguile/fports.c @@ -171,9 +171,9 @@ scm_open_file (filename, modes) pt = scm_add_to_port_table (port); SCM_SETPTAB_ENTRY (port, pt); SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (mode)); + SCM_SETSTREAM (port, (SCM) f); if (SCM_BUF0 & SCM_CAR (port)) scm_setbuf0 (port); - SCM_SETSTREAM (port, (SCM) f); SCM_PTAB_ENTRY (port)->file_name = filename; } SCM_ALLOW_INTS; @@ -205,9 +205,9 @@ scm_stdio_to_port (file, mode, name) pt = scm_add_to_port_table (port); SCM_SETPTAB_ENTRY (port, pt); SCM_SETCAR (port, (scm_tc16_fport | mode_bits)); + SCM_SETSTREAM (port, (SCM) file); if (SCM_BUF0 & SCM_CAR (port)) scm_setbuf0 (port); - SCM_SETSTREAM (port, (SCM) file); SCM_PTAB_ENTRY (port)->file_name = scm_makfrom0str (name); } SCM_ALLOW_INTS;