]> Sergey Matveev's repositories - nnn.git/commitdiff
Open controlling terminal for input when run in a script
authorArun Prakash Jana <engineerarun@gmail.com>
Fri, 23 Jul 2021 18:16:20 +0000 (23:46 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Fri, 23 Jul 2021 18:16:20 +0000 (23:46 +0530)
src/nnn.c

index 6e447e0e374ee5676981dceaa48313f97f2238e8..2fc1039d4a3f1dc5a4d1d10b74fe4359e813ce9b 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -8225,7 +8225,13 @@ int main(int argc, char *argv[])
                        return EXIT_FAILURE;
 
                /* We return to tty */
-               dup2(STDOUT_FILENO, STDIN_FILENO);
+               if (!isatty(STDOUT_FILENO)) {
+                       fd = open(ctermid(NULL), O_RDWR, 0400);
+                       dup2(fd, STDOUT_FILENO);
+                       dup2(fd, STDIN_FILENO);
+                       close(fd);
+               } else
+                       dup2(STDOUT_FILENO, STDIN_FILENO);
 
                if (session)
                        session = NULL;