diff options
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 4 | ||||
-rw-r--r-- | libgfortran/intrinsics/tty.c | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index bb8e3323d1a..0459b6ba9e6 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,7 @@ +2005-11-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + * intrinsics/tty.c (ttynam): New function. + 2005-11-04 Steven G. Kargl <kargls@comcast.net> PR fortran/24636 diff --git a/libgfortran/intrinsics/tty.c b/libgfortran/intrinsics/tty.c index 3a3d2bdb98c..f4bfecd9353 100644 --- a/libgfortran/intrinsics/tty.c +++ b/libgfortran/intrinsics/tty.c @@ -31,6 +31,7 @@ Boston, MA 02110-1301, USA. */ #include "config.h" #include "libgfortran.h" #include "../io/io.h" + #include <string.h> /* LOGICAL FUNCTION ISATTY(UNIT) @@ -95,3 +96,28 @@ ttynam_sub (int *unit, char * name, gfc_charlen_type name_len) } } } + + +extern void ttynam (char **, gfc_charlen_type *, int); +export_proto(ttynam); + +void +ttynam (char ** name, gfc_charlen_type * name_len, int unit) +{ + gfc_unit *u; + + u = find_unit (unit); + if (u != NULL) + { + *name = stream_ttyname (u->s); + if (*name != NULL) + { + *name_len = strlen (*name); + *name = strdup (*name); + return; + } + } + + *name_len = 0; + *name = NULL; +} |