commit 84713a8dea8b0e08407da42b7384d6cb57b3d68c
Author: rani <clagv.randomgames@gmail.com>
Date: Thu Jun 02 15:36:49 2022 +0000
diff --git a/include/opts.h b/include/opts.h
index 68d860e..9a96ed9 100644
--- a/include/opts.h
+++ b/include/opts.h
@@ -86 +88 @@
#define RGB(R, G, B) (((R << 20) | (G << 10)) | B)
#define GET_RGB(C) ((C >> 20) & 0x3FF), ((C >> 10) & 0x3FF), (C & 0x3FF)
+#define COLOR_DEFAULT 0xFFFFFF
+
#define ICONS_VAR "icons"
extern bool show_icons;
#define DOTS_VAR "dots"
@@ -1727 +1927 @@ extern bool color;
#define LONG_VAR "long"
extern bool p_long;
#define DIR_COLOR_VAR "dir_color"
-extern int32_t dir_color;
+extern uint32_t dir_color;
#define REG_COLOR_VAR "reg_color"
-extern int32_t reg_color;
+extern uint32_t reg_color;
#define FIFO_COLOR_VAR "fifo_color"
-extern int32_t fifo_color;
+extern uint32_t fifo_color;
#define LINK_COLOR_VAR "link_color"
-extern int32_t link_color;
+extern uint32_t link_color;
#define BLK_COLOR_VAR "block_color"
-extern int32_t blk_color;
+extern uint32_t blk_color;
#define SOCK_COLOR_VAR "sock_color"
-extern int32_t sock_color;
+extern uint32_t sock_color;
#define UNKNOWN_COLOR_VAR "unknown_color"
-extern int32_t unknown_color;
+extern uint32_t unknown_color;
#define EXEC_COLOR_VAR "exec_color"
-extern int32_t exec_color;
+extern uint32_t exec_color;
#define MEDIA_COLOR_VAR "media_color"
-extern int32_t media_color;
+extern uint32_t media_color;
#define ARCHIVE_COLOR_VAR "archive_color"
-extern int32_t archive_color;
+extern uint32_t archive_color;
-extern int32_t custom_colors[11];
+extern uint32_t custom_colors[11];
bool check_config(void);
void create_config(void);
diff --git a/src/io.c b/src/io.c
index 748445c..2a3ba4a 100644
--- a/src/io.c
+++ b/src/io.c
@@ -7411 +7411 @@ void set_color(void) {
if (color) {
for (int i = CUSTOM_DIR; i <= CUSTOM_ARCHIVE; i++) {
int def = i - CUSTOM_DIR + 1; // default color / index
- if (custom_colors[def] == -1) {
+ if (custom_colors[def] == COLOR_DEFAULT) {
init_pair(def, default_colors[def], COLOR_BLACK);
} else {
- init_color(i, GET_RGB(custom_colors[def - 1]));
- init_pair(def, i, COLOR_BLACK);
+ init_color(default_colors[def], GET_RGB(custom_colors[def - 1]));
+ init_pair(def, default_colors[def], COLOR_BLACK);
}
}
diff --git a/src/opts.c b/src/opts.c
index 6b36d15..98d5202 100644
--- a/src/opts.c
+++ b/src/opts.c
@@ -1818 +1818 @@ bool show_dot_files = false;
bool color = true;
bool p_long = false;
-int32_t custom_colors[11];
-
-int32_t dir_color = -1;
-int32_t link_color = -1;
-int32_t exec_color = -1;
-int32_t sock_color = -1;
-int32_t fifo_color = -1;
-int32_t unknown_color = -1;
-int32_t reg_color = -1;
-int32_t blk_color = -1;
-int32_t media_color = -1;
-int32_t archive_color = -1;
+uint32_t custom_colors[11];
+
+uint32_t dir_color = COLOR_DEFAULT;
+uint32_t link_color = COLOR_DEFAULT;
+uint32_t exec_color = COLOR_DEFAULT;
+uint32_t sock_color = COLOR_DEFAULT;
+uint32_t fifo_color = COLOR_DEFAULT;
+uint32_t unknown_color = COLOR_DEFAULT;
+uint32_t reg_color = COLOR_DEFAULT;
+uint32_t blk_color = COLOR_DEFAULT;
+uint32_t media_color = COLOR_DEFAULT;
+uint32_t archive_color = COLOR_DEFAULT;
static char * default_config_dir = NULL;
static char * csc_config_path = NULL;
diff --git a/src/var.c b/src/var.c
index e6b63fa..d38ee90 100644
--- a/src/var.c
+++ b/src/var.c
@@ -337 +338 @@ static uint32_t hextorgb(char * hex) {
for (; *p; p++) {
char c = toupper(*p);
if (c >= 'A' && c <= 'F') c = htod[(int)c];
- else c -= '0';
+ else if (c >= '0' && c <= '9') c -= '0';
+ else return COLOR_DEFAULT;
dec += c * pow(16, cpow);
cpow--;
}
@@ -446 +458 @@ static uint32_t hextorgb(char * hex) {
b = (float)(dec & 0xFF) / 255.0 * 1000;
return RGB(r, g, b);
+
+ return 0;
}