From b76d335291f7807b8f6aab62b8cca601b318af1b Mon Sep 17 00:00:00 2001 From: Dave Love Date: Sun, 6 Sep 1998 06:15:14 +0000 Subject: 1998-09-06 Dave Love From Toon to fix spurious recursive i/o errors: * libI77/sfe.c (e_wdfe): Set f__init. * libI77/dfe.c (c_dfe): Check and set f__init. (s_rdfe, s_wdfe): Don't check and set f__init. From-SVN: r22294 --- libf2c/ChangeLog | 8 ++++++++ libf2c/libI77/dfe.c | 6 ++---- libf2c/libI77/sfe.c | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog index d31f9a6..f95142c 100644 --- a/libf2c/ChangeLog +++ b/libf2c/ChangeLog @@ -1,3 +1,11 @@ +1998-09-06 Dave Love + + From Toon to fix spurious recursive i/o errors: + * libI77/sfe.c (e_wdfe): Set f__init. + + * libI77/dfe.c (c_dfe): Check and set f__init. + (s_rdfe, s_wdfe): Don't check and set f__init. + Fri Sep 4 18:40:32 1998 Craig Burley * libU77/sys_clock_.c (G77_system_clock_0): Fix indentation. diff --git a/libf2c/libI77/dfe.c b/libf2c/libI77/dfe.c index f8c1fc1..dfc23dc 100644 --- a/libf2c/libI77/dfe.c +++ b/libf2c/libI77/dfe.c @@ -66,6 +66,8 @@ c_dfe(a) cilist *a; c_dfe(cilist *a) #endif { + if(f__init != 1) f_init(); + f__init = 3; f__sequential=0; f__formatted=f__external=1; f__elist=a; @@ -92,8 +94,6 @@ integer s_rdfe(cilist *a) #endif { int n; - if(f__init != 1) f_init(); - f__init = 3; f__reading=1; if(n=c_dfe(a))return(n); if(f__curunit->uwrt && f__nowreading(f__curunit)) @@ -115,8 +115,6 @@ integer s_wdfe(cilist *a) #endif { int n; - if(f__init != 1) f_init(); - f__init = 3; f__reading=0; if(n=c_dfe(a)) return(n); if(f__curunit->uwrt != 1 && f__nowwriting(f__curunit)) diff --git a/libf2c/libI77/sfe.c b/libf2c/libI77/sfe.c index c7d8918..eb6260f 100644 --- a/libf2c/libI77/sfe.c +++ b/libf2c/libI77/sfe.c @@ -35,5 +35,6 @@ integer e_wsfe(Void) integer e_wdfe(Void) { + f__init = 1; return en_fio(); } -- cgit v1.1