summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/color.c59
-rw-r--r--tests/bfs/color.out2
-rw-r--r--tests/bfs/color_L.out2
-rw-r--r--tests/bfs/color_L_ln_target.out2
-rw-r--r--tests/bfs/color_L_no_stat.out8
-rw-r--r--tests/bfs/color_cd0_no.out2
-rw-r--r--tests/bfs/color_escapes.out2
-rw-r--r--tests/bfs/color_ext.out2
-rw-r--r--tests/bfs/color_ext0.out2
-rw-r--r--tests/bfs/color_ext_case.out2
-rw-r--r--tests/bfs/color_ext_override.out2
-rw-r--r--tests/bfs/color_ext_underride.out2
-rw-r--r--tests/bfs/color_fi0_no.out2
-rw-r--r--tests/bfs/color_fi_no.out2
-rw-r--r--tests/bfs/color_ln_target.out2
-rw-r--r--tests/bfs/color_ls.out16
-rw-r--r--tests/bfs/color_mh.out2
-rw-r--r--tests/bfs/color_mh0.out2
-rw-r--r--tests/bfs/color_mi.out2
-rw-r--r--tests/bfs/color_missing_colon.out2
-rw-r--r--tests/bfs/color_no.out2
-rw-r--r--tests/bfs/color_no_stat.out8
-rw-r--r--tests/bfs/color_nul.out2
-rw-r--r--tests/bfs/color_or.out2
-rw-r--r--tests/bfs/color_or0_mi.out2
-rw-r--r--tests/bfs/color_or0_mi0.out2
-rw-r--r--tests/bfs/color_or_mi.out2
-rw-r--r--tests/bfs/color_or_mi0.out2
-rw-r--r--tests/bfs/color_rs_lc_rc_ec.out2
-rw-r--r--tests/bfs/color_st0_tw0_ow.out4
-rw-r--r--tests/bfs/color_st0_tw0_ow0.out8
-rw-r--r--tests/bfs/color_st0_tw_ow.out4
-rw-r--r--tests/bfs/color_st0_tw_ow0.out6
-rw-r--r--tests/bfs/color_st_tw0_ow.out2
-rw-r--r--tests/bfs/color_st_tw0_ow0.out4
-rw-r--r--tests/bfs/color_st_tw_ow0.out4
-rw-r--r--tests/bfs/color_su0_sg.out2
-rw-r--r--tests/bfs/color_su0_sg0.out2
-rw-r--r--tests/bfs/color_su_sg0.out2
-rw-r--r--tests/bfs/printf_color.out4
40 files changed, 95 insertions, 88 deletions
diff --git a/src/color.c b/src/color.c
index 6593f5b..7d98978 100644
--- a/src/color.c
+++ b/src/color.c
@@ -995,27 +995,48 @@ out:
return ret;
}
-/** Print the directories leading up to a file. */
-static int print_dirs_colored(CFILE *cfile, const char *path, const struct BFTW *ftwbuf, enum bfs_stat_flags flags, size_t nameoff) {
- const struct colors *colors = cfile->colors;
+/** Print a path with colors. */
+static int print_path_colored(CFILE *cfile, const char *path, const struct BFTW *ftwbuf, enum bfs_stat_flags flags) {
+ size_t nameoff;
+ if (path == ftwbuf->path) {
+ nameoff = ftwbuf->nameoff;
+ } else {
+ nameoff = xbaseoff(path);
+ }
+
+ const char *name = path + nameoff;
+ size_t pathlen = nameoff + strlen(name);
ssize_t broken = first_broken_offset(path, ftwbuf, flags, nameoff);
if (broken < 0) {
return -1;
}
+ size_t split = broken;
- if (broken > 0) {
- if (print_colored(cfile, colors->directory, path, broken) != 0) {
- return -1;
+ const struct colors *colors = cfile->colors;
+ const struct esc_seq *dirs_color = colors->directory;
+ const struct esc_seq *name_color;
+
+ if (split < nameoff) {
+ name_color = colors->missing;
+ if (!name_color) {
+ name_color = colors->orphan;
+ }
+ } else {
+ name_color = file_color(cfile->colors, path + nameoff, ftwbuf, flags);
+ if (name_color == dirs_color) {
+ split = pathlen;
}
}
- if ((size_t)broken < nameoff) {
- const struct esc_seq *color = colors->missing;
- if (!color) {
- color = colors->orphan;
+ if (split > 0) {
+ if (print_colored(cfile, dirs_color, path, split) != 0) {
+ return -1;
}
- if (print_colored(cfile, color, path + broken, nameoff - broken) != 0) {
+ }
+
+ if (split < pathlen) {
+ if (print_colored(cfile, name_color, path + split, pathlen - split) != 0) {
return -1;
}
}
@@ -1029,22 +1050,6 @@ static int print_name_colored(CFILE *cfile, const char *name, const struct BFTW
return print_colored(cfile, esc, name, strlen(name));
}
-/** Print a path with colors. */
-static int print_path_colored(CFILE *cfile, const char *path, const struct BFTW *ftwbuf, enum bfs_stat_flags flags) {
- size_t nameoff;
- if (path == ftwbuf->path) {
- nameoff = ftwbuf->nameoff;
- } else {
- nameoff = xbaseoff(path);
- }
-
- if (print_dirs_colored(cfile, path, ftwbuf, flags, nameoff) != 0) {
- return -1;
- }
-
- return print_name_colored(cfile, path + nameoff, ftwbuf, flags);
-}
-
/** Print the name of a file with the appropriate colors. */
static int print_name(CFILE *cfile, const struct BFTW *ftwbuf) {
const char *name = ftwbuf->path + ftwbuf->nameoff;
diff --git a/tests/bfs/color.out b/tests/bfs/color.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color.out
+++ b/tests/bfs/color.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_L.out b/tests/bfs/color_L.out
index 6904e39..85923db 100644
--- a/tests/bfs/color_L.out
+++ b/tests/bfs/color_L.out
@@ -1,8 +1,8 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
rainbow/chardev_link
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/sticky_ow
diff --git a/tests/bfs/color_L_ln_target.out b/tests/bfs/color_L_ln_target.out
index 50105c3..23fe8d7 100644
--- a/tests/bfs/color_L_ln_target.out
+++ b/tests/bfs/color_L_ln_target.out
@@ -1,9 +1,9 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
rainbow/chardev_link
-rainbow/$'\e[1m'
rainbow/socket
rainbow/sticky_ow
rainbow/sgid
diff --git a/tests/bfs/color_L_no_stat.out b/tests/bfs/color_L_no_stat.out
index beb538c..72e0319 100644
--- a/tests/bfs/color_L_no_stat.out
+++ b/tests/bfs/color_L_no_stat.out
@@ -1,10 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/chardev_link
-rainbow/$'\e[1m'
-rainbow/ow
-rainbow/sticky
-rainbow/sticky_ow
rainbow/socket
rainbow/broken
rainbow/file.txt
@@ -25,3 +22,6 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
+rainbow/sticky
+rainbow/sticky_ow
diff --git a/tests/bfs/color_cd0_no.out b/tests/bfs/color_cd0_no.out
index 4d710fd..37b3fbc 100644
--- a/tests/bfs/color_cd0_no.out
+++ b/tests/bfs/color_cd0_no.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/file.dat
diff --git a/tests/bfs/color_escapes.out b/tests/bfs/color_escapes.out
index 746a9ea..0bf9fbb 100644
--- a/tests/bfs/color_escapes.out
+++ b/tests/bfs/color_escapes.out
@@ -1,7 +1,7 @@
+:$'rainbow/\e[1m'
:$'rainbow/\e[1m/'$'\e[0m'
:rainbow
:rainbow/:exec.sh
-:rainbow/:$'\e[1m'
:rainbow/:socket
:rainbow/:broken
:rainbow/:chardev_link
diff --git a/tests/bfs/color_ext.out b/tests/bfs/color_ext.out
index a35ca0b..218100f 100644
--- a/tests/bfs/color_ext.out
+++ b/tests/bfs/color_ext.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext0.out b/tests/bfs/color_ext0.out
index 37301cc..d2a7fd5 100644
--- a/tests/bfs/color_ext0.out
+++ b/tests/bfs/color_ext0.out
@@ -1,8 +1,8 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/file.txt
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext_case.out b/tests/bfs/color_ext_case.out
index 9388343..93dc8f6 100644
--- a/tests/bfs/color_ext_case.out
+++ b/tests/bfs/color_ext_case.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.gz
@@ -7,7 +8,6 @@
rainbow/upper.TAR.GZ
rainbow/lower.tar
rainbow/upper.TAR
-rainbow/$'\e[1m'
rainbow/ul.TAR.gz
rainbow/lu.tar.GZ
rainbow/socket
diff --git a/tests/bfs/color_ext_override.out b/tests/bfs/color_ext_override.out
index 1e0146c..0acfcbc 100644
--- a/tests/bfs/color_ext_override.out
+++ b/tests/bfs/color_ext_override.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
@@ -9,7 +10,6 @@
rainbow/ul.TAR.gz
rainbow/upper.GZ
rainbow/upper.TAR.GZ
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ext_underride.out b/tests/bfs/color_ext_underride.out
index 1ed66da..5c98341 100644
--- a/tests/bfs/color_ext_underride.out
+++ b/tests/bfs/color_ext_underride.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.tar.gz
@@ -9,7 +10,6 @@
rainbow/upper.TAR
rainbow/lower.gz
rainbow/upper.GZ
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_fi0_no.out b/tests/bfs/color_fi0_no.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color_fi0_no.out
+++ b/tests/bfs/color_fi0_no.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_fi_no.out b/tests/bfs/color_fi_no.out
index e64684d..1c1ad8e 100644
--- a/tests/bfs/color_fi_no.out
+++ b/tests/bfs/color_fi_no.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_ln_target.out b/tests/bfs/color_ln_target.out
index 50105c3..23fe8d7 100644
--- a/tests/bfs/color_ln_target.out
+++ b/tests/bfs/color_ln_target.out
@@ -1,9 +1,9 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
rainbow/chardev_link
-rainbow/$'\e[1m'
rainbow/socket
rainbow/sticky_ow
rainbow/sgid
diff --git a/tests/bfs/color_ls.out b/tests/bfs/color_ls.out
index b08d894..b5216c4 100644
--- a/tests/bfs/color_ls.out
+++ b/tests/bfs/color_ls.out
@@ -1,12 +1,12 @@
-scratch/foo/bar
-scratch/foo/bar
-/__bfs__/nowhere
-/__bfs__/nowhere
-foo/bar/baz/qux
-foo/bar/baz/qux
+scratch/foo/bar
+scratch/foo/bar
+/__bfs__/nowhere
+/__bfs__/nowhere
+foo/bar/baz/qux
+foo/bar/baz/qux
foo/bar/nowhere
foo/bar/nowhere
-foo/bar/nowhere/nothing
-foo/bar/nowhere/nothing
+foo/bar/nowhere/nothing
+foo/bar/nowhere/nothing
foo/bar/baz
foo/bar/baz
diff --git a/tests/bfs/color_mh.out b/tests/bfs/color_mh.out
index 93bfde1..c658082 100644
--- a/tests/bfs/color_mh.out
+++ b/tests/bfs/color_mh.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_mh0.out b/tests/bfs/color_mh0.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color_mh0.out
+++ b/tests/bfs/color_mh0.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_mi.out b/tests/bfs/color_mi.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color_mi.out
+++ b/tests/bfs/color_mi.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_missing_colon.out b/tests/bfs/color_missing_colon.out
index a35ca0b..218100f 100644
--- a/tests/bfs/color_missing_colon.out
+++ b/tests/bfs/color_missing_colon.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_no.out b/tests/bfs/color_no.out
index c61d246..67e1eee 100644
--- a/tests/bfs/color_no.out
+++ b/tests/bfs/color_no.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_no_stat.out b/tests/bfs/color_no_stat.out
index e57e11a..e3031b2 100644
--- a/tests/bfs/color_no_stat.out
+++ b/tests/bfs/color_no_stat.out
@@ -1,9 +1,6 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
-rainbow/$'\e[1m'
-rainbow/ow
-rainbow/sticky
-rainbow/sticky_ow
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +22,6 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
+rainbow/sticky
+rainbow/sticky_ow
diff --git a/tests/bfs/color_nul.out b/tests/bfs/color_nul.out
index 7140e32..8ccd9a7 100644
--- a/tests/bfs/color_nul.out
+++ b/tests/bfs/color_nul.out
@@ -1,3 +1,4 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/lower.gz
@@ -7,7 +8,6 @@
rainbow/upper.GZ
rainbow/upper.TAR.GZ
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or.out b/tests/bfs/color_or.out
index 07916da..0bd2570 100644
--- a/tests/bfs/color_or.out
+++ b/tests/bfs/color_or.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_or0_mi.out b/tests/bfs/color_or0_mi.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color_or0_mi.out
+++ b/tests/bfs/color_or0_mi.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or0_mi0.out b/tests/bfs/color_or0_mi0.out
index 5c6b43e..a439814 100644
--- a/tests/bfs/color_or0_mi0.out
+++ b/tests/bfs/color_or0_mi0.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_or_mi.out b/tests/bfs/color_or_mi.out
index 20bc61d..fb67e58 100644
--- a/tests/bfs/color_or_mi.out
+++ b/tests/bfs/color_or_mi.out
@@ -1,8 +1,8 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_or_mi0.out b/tests/bfs/color_or_mi0.out
index 20bc61d..fb67e58 100644
--- a/tests/bfs/color_or_mi0.out
+++ b/tests/bfs/color_or_mi0.out
@@ -1,8 +1,8 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/broken
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/chardev_link
rainbow/link.txt
diff --git a/tests/bfs/color_rs_lc_rc_ec.out b/tests/bfs/color_rs_lc_rc_ec.out
index f78b41f..077ef8d 100644
--- a/tests/bfs/color_rs_lc_rc_ec.out
+++ b/tests/bfs/color_rs_lc_rc_ec.out
@@ -1,6 +1,6 @@
+LC01;34RC$'rainbow/\e[1m'EC
LC01;34RC$'rainbow/\e[1m/'EC$'\e[0m'
LC01;34RCrainbow/ECLC01;32RCexec.shEC
-LC01;34RCrainbow/ECLC01;34RC$'\e[1m'EC
LC01;34RCrainbow/ECLC01;35RCsocketEC
LC01;34RCrainbow/ECLC01;36RCbrokenEC
LC01;34RCrainbow/ECLC01;36RCchardev_linkEC
diff --git a/tests/bfs/color_st0_tw0_ow.out b/tests/bfs/color_st0_tw0_ow.out
index d1fec74..a82762b 100644
--- a/tests/bfs/color_st0_tw0_ow.out
+++ b/tests/bfs/color_st0_tw0_ow.out
@@ -1,8 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/sticky
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +24,4 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/sticky
diff --git a/tests/bfs/color_st0_tw0_ow0.out b/tests/bfs/color_st0_tw0_ow0.out
index cb80cb8..041f1d4 100644
--- a/tests/bfs/color_st0_tw0_ow0.out
+++ b/tests/bfs/color_st0_tw0_ow0.out
@@ -1,10 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/ow
-rainbow/sticky
-rainbow/sticky_ow
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +22,6 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
+rainbow/sticky
+rainbow/sticky_ow
diff --git a/tests/bfs/color_st0_tw_ow.out b/tests/bfs/color_st0_tw_ow.out
index a183932..4dcb2f2 100644
--- a/tests/bfs/color_st0_tw_ow.out
+++ b/tests/bfs/color_st0_tw_ow.out
@@ -1,8 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/sticky
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +24,4 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/sticky
diff --git a/tests/bfs/color_st0_tw_ow0.out b/tests/bfs/color_st0_tw_ow0.out
index cdc5cdd..954ce9c 100644
--- a/tests/bfs/color_st0_tw_ow0.out
+++ b/tests/bfs/color_st0_tw_ow0.out
@@ -1,9 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/ow
-rainbow/sticky
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +23,5 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
+rainbow/sticky
diff --git a/tests/bfs/color_st_tw0_ow.out b/tests/bfs/color_st_tw0_ow.out
index f45c75c..a6e9a16 100644
--- a/tests/bfs/color_st_tw0_ow.out
+++ b/tests/bfs/color_st_tw0_ow.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_st_tw0_ow0.out b/tests/bfs/color_st_tw0_ow0.out
index d95d12a..756dafb 100644
--- a/tests/bfs/color_st_tw0_ow0.out
+++ b/tests/bfs/color_st_tw0_ow0.out
@@ -1,8 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/ow
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +24,4 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
diff --git a/tests/bfs/color_st_tw_ow0.out b/tests/bfs/color_st_tw_ow0.out
index f1059dd..6e4a260 100644
--- a/tests/bfs/color_st_tw_ow0.out
+++ b/tests/bfs/color_st_tw_ow0.out
@@ -1,8 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
-rainbow/ow
rainbow/socket
rainbow/broken
rainbow/chardev_link
@@ -25,3 +24,4 @@
rainbow/upper.GZ
rainbow/upper.TAR
rainbow/upper.TAR.GZ
+rainbow/ow
diff --git a/tests/bfs/color_su0_sg.out b/tests/bfs/color_su0_sg.out
index 31d5108..d13b6b6 100644
--- a/tests/bfs/color_su0_sg.out
+++ b/tests/bfs/color_su0_sg.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_su0_sg0.out b/tests/bfs/color_su0_sg0.out
index 4804030..77fba58 100644
--- a/tests/bfs/color_su0_sg0.out
+++ b/tests/bfs/color_su0_sg0.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/color_su_sg0.out b/tests/bfs/color_su_sg0.out
index 3dbc7fe..8fab046 100644
--- a/tests/bfs/color_su_sg0.out
+++ b/tests/bfs/color_su_sg0.out
@@ -1,7 +1,7 @@
+$'rainbow/\e[1m'
$'rainbow/\e[1m/'$'\e[0m'
rainbow
rainbow/exec.sh
-rainbow/$'\e[1m'
rainbow/socket
rainbow/broken
rainbow/chardev_link
diff --git a/tests/bfs/printf_color.out b/tests/bfs/printf_color.out
index 0468f7d..6641e9a 100644
--- a/tests/bfs/printf_color.out
+++ b/tests/bfs/printf_color.out
@@ -1,5 +1,7 @@
-. . rainbow ./rainbow rainbow
+. $'./rainbow/\e[1m' $'\e[0m' $'./rainbow/\e[1m/'$'\e[0m' $'rainbow/\e[1m/'$'\e[0m'
+. . rainbow ./rainbow rainbow
. ./rainbow exec.sh ./rainbow/exec.sh rainbow/exec.sh
+. ./rainbow $'\e[1m' $'./rainbow/\e[1m' $'rainbow/\e[1m'
. ./rainbow socket ./rainbow/socket rainbow/socket
. ./rainbow broken ./rainbow/broken rainbow/broken nowhere
. ./rainbow chardev_link ./rainbow/chardev_link rainbow/chardev_link /dev/null