aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToon Moene <toon@moene.indiv.nluug.nl>2003-09-21 18:16:46 +0200
committerToon Moene <toon@gcc.gnu.org>2003-09-21 16:16:46 +0000
commite94915267b3602b8a6be03ef27709b67343a8ac6 (patch)
tree254e8d1bd815a14e9ce057b077058c4462f48580
parentfa543fdda1fb1769de6c5101ce8f6722501be71f (diff)
downloadgcc-e94915267b3602b8a6be03ef27709b67343a8ac6.zip
gcc-e94915267b3602b8a6be03ef27709b67343a8ac6.tar.gz
gcc-e94915267b3602b8a6be03ef27709b67343a8ac6.tar.bz2
re PR libf2c/11918 (isatty does not call f_init)
2003-09-21 Toon Moene <toon@moene.indiv.nluug.nl> PR libf2c/11918 * fstat_.c: Call f_init(). * isatty_.c: Ditto. * fnum_.c: Check file descriptor before handing it back. From-SVN: r71628
-rw-r--r--libf2c/ChangeLog7
-rw-r--r--libf2c/libU77/fnum_.c4
-rw-r--r--libf2c/libU77/fstat_.c2
-rw-r--r--libf2c/libU77/isatty_.c1
4 files changed, 14 insertions, 0 deletions
diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog
index 32647c6..78fc92c 100644
--- a/libf2c/ChangeLog
+++ b/libf2c/ChangeLog
@@ -1,3 +1,10 @@
+2003-09-21 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR libf2c/11918
+ * fstat_.c: Call f_init().
+ * isatty_.c: Ditto.
+ * fnum_.c: Check file descriptor before handing it back.
+
Tue Sep 9 15:22:57 2003 Alan Modra <amodra@bigpond.net.au>
* configure: Regenerate.
diff --git a/libf2c/libU77/fnum_.c b/libf2c/libU77/fnum_.c
index daf8f3d..27cadec 100644
--- a/libf2c/libU77/fnum_.c
+++ b/libf2c/libU77/fnum_.c
@@ -27,6 +27,10 @@ G77_fnum_0 (integer * lunit)
{
if (*lunit >= MXUNIT || *lunit < 0)
err (1, 101, "fnum");
+
+ if (f__units[*lunit].ufd == NULL)
+ err (1, 114, "fnum");
+
/* f__units is a table of descriptions for the unit numbers (defined
in io.h). Use file descriptor (ufd) and fileno rather than udev
field since udev is unix specific */
diff --git a/libf2c/libU77/fstat_.c b/libf2c/libU77/fstat_.c
index e978c6a..7fd439c 100644
--- a/libf2c/libU77/fstat_.c
+++ b/libf2c/libU77/fstat_.c
@@ -23,6 +23,7 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#endif
#include "f2c.h"
+#include "fio.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -34,6 +35,7 @@ G77_fstat_0 (const integer * lunit, integer statb[13])
int err;
struct stat buf;
+ if (f__init != 1) f_init();
err = fstat (G77_fnum_0 (lunit), &buf);
statb[0] = buf.st_dev;
statb[1] = buf.st_ino;
diff --git a/libf2c/libU77/isatty_.c b/libf2c/libU77/isatty_.c
index fa2f56d..a781f75 100644
--- a/libf2c/libU77/isatty_.c
+++ b/libf2c/libU77/isatty_.c
@@ -30,6 +30,7 @@ extern integer G77_fnum_0 (integer *);
logical
G77_isatty_0 (integer * lunit)
{
+ if (f__init != 1) f_init();
if (*lunit >= MXUNIT || *lunit < 0)
err (1, 101, "isatty");
/* f__units is a table of descriptions for the unit numbers (defined