From e41782a1af7c1217589a6c0f3580c8fb955a8c71 Mon Sep 17 00:00:00 2001
From: Joursoir <chat@joursoir.net>
Date: Fri, 11 Jun 2021 20:24:56 +0000
Subject: tree: make it possible to control the use of color

---
 src/tree.c | 13 ++++++++-----
 src/tree.h |  2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

(limited to 'src')

diff --git a/src/tree.c b/src/tree.c
index 9c654d2..63ffd3c 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -47,7 +47,7 @@ static void entries_sort(char **entries, const int size)
 	}
 }
 
-int tree(const char *path, const char *prefix)
+int tree(const char *path, const char *prefix, int use_color)
 {
 	DIR *main_dir;
 	struct dirent *temp_dirent;
@@ -90,16 +90,19 @@ int tree(const char *path, const char *prefix)
 		}
 
 		full_path = xstrcat(path, entries[i], "/");
+		printf("%s%s", prefix, pointer);
 		if(file_exist(full_path) == F_ISDIR) {
-			printf("%s%s%s%s%s\n", prefix, pointer, ANSIC_BBLU,
-				entries[i], ANSIC_RST);
+			printf("%s%s%s\n", 
+				(use_color) ? ANSIC_BBLU : "",
+				entries[i],
+				(use_color) ? ANSIC_RST : "");
 
 			prefix_depth = xstrcat(prefix, prefix_depth, NULL);
-			tree(full_path, prefix_depth);
+			tree(full_path, prefix_depth, use_color);
 			free(prefix_depth);
 		}
 		else
-			printf("%s%s%s\n", prefix, pointer, entries[i]);
+			printf("%s\n", entries[i]);
 
 		free(entries[i]);
 		free(full_path);
diff --git a/src/tree.h b/src/tree.h
index 39fbf22..ee9d201 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -19,6 +19,6 @@
 	along with this program.  If not, see <https://www.gnu.org/licenses/>.
 ***/
 
-int tree(const char *path, const char *prefix);
+int tree(const char *path, const char *prefix, int use_color);
 
 #endif /* LPASS_TREE_H */
\ No newline at end of file
-- 
cgit v1.2.3-18-g5258