aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/unix.h
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2011-01-27 22:05:45 +0200
committerJanne Blomqvist <jb@gcc.gnu.org>2011-01-27 22:05:45 +0200
commit6a0f6e7799c988524d32767047ca64d05a93adaf (patch)
tree5391b3d170af8323dd4003f8bd688be43384821f /libgfortran/io/unix.h
parent5f02b9dbcd0669d7c13999a89694520113c2cc12 (diff)
downloadgcc-6a0f6e7799c988524d32767047ca64d05a93adaf.zip
gcc-6a0f6e7799c988524d32767047ca64d05a93adaf.tar.gz
gcc-6a0f6e7799c988524d32767047ca64d05a93adaf.tar.bz2
PR 47432 Use ttyname_r() if available
From-SVN: r169337
Diffstat (limited to 'libgfortran/io/unix.h')
-rw-r--r--libgfortran/io/unix.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libgfortran/io/unix.h b/libgfortran/io/unix.h
index 0e147aa..f7d6f08 100644
--- a/libgfortran/io/unix.h
+++ b/libgfortran/io/unix.h
@@ -170,7 +170,16 @@ internal_proto(flush_if_preconnected);
extern int stream_isatty (stream *);
internal_proto(stream_isatty);
-extern char * stream_ttyname (stream *);
+#ifndef TTY_NAME_MAX
+#ifdef _POSIX_TTY_NAME_MAX
+#define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
+#else
+/* sysconf(_SC_TTY_NAME_MAX) = 32 which should be enough. */
+#define TTY_NAME_MAX 32
+#endif
+#endif
+
+extern int stream_ttyname (stream *, char *, size_t);
internal_proto(stream_ttyname);
extern int unpack_filename (char *, const char *, int);