aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/unix.h
diff options
context:
space:
mode:
authorjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-27 20:05:45 +0000
committerjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-27 20:05:45 +0000
commit57f34837f6251c10a7b3b0eaced7f5cc92b5d948 (patch)
tree5391b3d170af8323dd4003f8bd688be43384821f /libgfortran/io/unix.h
parent5f9dac96f4f2de0a44485ab4e096a7d7b7df50c1 (diff)
PR 47432 Use ttyname_r() if available
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169337 138bc75d-0d04-0410-961f-82ee72b054a4
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 0e147aab565..f7d6f08643e 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);