commit 013f27a31e094259a344afbcaa8c6b7c102c7740
Author: Raniconduh <clagv.randomgames@gmail.com>
Date: Thu Oct 14 09:15:44 2021 +0000
diff --git a/include/io.h b/include/io.h
index 6bdbb8c..1d3cf0c 100644
--- a/include/io.h
+++ b/include/io.h
@@ -385 +385 @@ void unmark_all(void);
void mark_all(void);
extern bool print_path;
-extern FILE * stdout_back;
+extern int stdout_back;
extern size_t n_marked_files;
diff --git a/src/io.c b/src/io.c
index a29acf5..18e51aa 100644
--- a/src/io.c
+++ b/src/io.c
@@ -318 +320 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
#include "dir.h"
#include "io.h"
bool print_path = false;
-FILE * stdout_back = NULL;
+int stdout_back = 0;
size_t n_marked_files = false;
void curses_init(void) {
if (print_path) {
- stdout_back = stdout;
- stdout = fopen("/dev/tty", "w");
+ stdout_back = dup(STDOUT_FILENO);
+ dup2(open("/dev/tty", O_WRONLY), STDOUT_FILENO);
}
initscr();
@@ -408 +427 @@ void terminate_curses(void) {
endwin();
if (print_path) {
- fclose(stdout);
- stdout = stdout_back;
+ dup2(stdout_back, STDOUT_FILENO);
}
}