aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/io/unix.c')
-rw-r--r--libgfortran/io/unix.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index 2e9d9a4..5be631a 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -286,7 +286,6 @@ sys_exit (int code)
}
-
/*********************************************************************
File descriptor stream functions
*********************************************************************/
@@ -918,6 +917,22 @@ fd_to_stream (int fd, int prot)
}
+/* Given the Fortran unit number, convert it to a C file descriptor. */
+
+int
+unit_to_fd(int unit)
+{
+
+ gfc_unit *us;
+
+ us = find_unit(unit);
+ if (us == NULL)
+ return -1;
+
+ return ((unix_stream *) us->s)->fd;
+}
+
+
/* unpack_filename()-- Given a fortran string and a pointer to a
* buffer that is PATH_MAX characters, convert the fortran string to a
* C string in the buffer. Returns nonzero if this is not possible. */