diff options
author | Werner Koch <[email protected]> | 2012-11-20 18:01:13 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2012-11-20 18:03:49 +0000 |
commit | 835698b72bc509565aad52b0753f1c56c1a8f062 (patch) | |
tree | dd5352b45d74cb3ef4b3091dcc16824ce57e4991 /common/util.h | |
parent | Fix non-portable use of chmod in autogen.sh. (diff) | |
download | gnupg-835698b72bc509565aad52b0753f1c56c1a8f062.tar.gz gnupg-835698b72bc509565aad52b0753f1c56c1a8f062.zip |
Do not use a broken ttyname.
* configure.ac (HAVE_BROKEN_TTYNAME): New ac_define set for Android
systems.
* common/util.h (gnupg_ttyname): New macro. Change all callers of
ttyname to use this macro instead.
(ttyname) [W32]: Rename to _gnupg_ttyname and use also if
HAVE_BROKEN_TTYNAME is defined.
* common/simple-pwquery.c (agent_send_all_options): Keep on using
ttyname unless HAVE_BROKEN_TTYNAME is set. This is because this file
may be used standalone.
Diffstat (limited to 'common/util.h')
-rw-r--r-- | common/util.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/common/util.h b/common/util.h index 5ea7b819a..c8a008fd7 100644 --- a/common/util.h +++ b/common/util.h @@ -291,15 +291,21 @@ int gnupg_compare_version (const char *a, const char *b); /*-- Simple replacement functions. */ -#ifndef HAVE_TTYNAME + +/* We use the gnupg_ttyname macro to be safe not to run into conflicts + which an extisting but broken ttyname. */ +#if !defined(HAVE_TTYNAME) || defined(HAVE_BROKEN_TTYNAME) +# define gnupg_ttyname(n) _gnupg_ttyname ((n)) /* Systems without ttyname (W32) will merely return NULL. */ static inline char * -ttyname (int fd) +_gnupg_ttyname (int fd) { (void)fd; return NULL; } -#endif /* !HAVE_TTYNAME */ +#else /*HAVE_TTYNAME*/ +# define gnupg_ttyname(n) ttyname ((n)) +#endif /*HAVE_TTYNAME */ #ifdef HAVE_W32CE_SYSTEM #define getpid() GetCurrentProcessId () |