diff options
author | Amadeusz Sławiński <amade@asmblr.net> | 2014-04-26 18:29:40 +0200 |
---|---|---|
committer | Amadeusz Sławiński <amade@asmblr.net> | 2014-04-26 18:29:40 +0200 |
commit | 75711557581f6cf2688d30ba5e13e9aac96168c0 (patch) | |
tree | d6a16f19675b35308e63d187f43101baffe452a2 | |
parent | 3b2b8ee6ae360bbaa676cc8e1f1f91dbfad94ae2 (diff) | |
download | screen-75711557581f6cf2688d30ba5e13e9aac96168c0.tar.gz |
Revert "Revert "allow /dev/console to be a symlink""
Was reverted to apply some other patches correctly
This reverts commit 12dd363fc5bd1d89bbf53f552c06e80ca0d39432.
-rw-r--r-- | src/tty.sh | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -1506,11 +1506,21 @@ CheckTtyname (tty) char *tty; { struct stat st; + char * real; + int rc; - if (lstat(tty, &st) || !S_ISCHR(st.st_mode) || - (st.st_nlink > 1 && strncmp(tty, "/dev/", 5))) + real = realpath(tty, NULL); + if (!real) return -1; - return 0; + + if (lstat(real, &st) || !S_ISCHR(st.st_mode) || + (st.st_nlink > 1 && strncmp(real, "/dev/", 5))) + rc = -1; + else + rc = 0; + + free(real); + return rc; } /* |