1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

* 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.)
This commit is contained in:
Jim Blandy 1996-11-10 00:15:21 +00:00
parent 3594582bd1
commit 7471fb031f

View file

@ -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;