From f89a4bf3438a361c6979097769a8d888c9cad0c2 Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sat, 22 Feb 2025 14:33:15 +0000 Subject: [PATCH] Add wapp_str8_lit_ro_initialiser_list to fix gcc compilation errors --- src/core/strings/str8/str8.h | 5 +++ .../shell/termcolour/posix/termcolour_posix.c | 34 +++++++++---------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/core/strings/str8/str8.h b/src/core/strings/str8/str8.h index 780d8fa..f4e6e48 100644 --- a/src/core/strings/str8/str8.h +++ b/src/core/strings/str8/str8.h @@ -53,6 +53,11 @@ struct str8_list { #define wapp_str8_lit_ro(STRING) ((Str8RO){.capacity = sizeof(STRING) - 1, \ .size = sizeof(STRING) - 1, \ .buf = (c8 *)STRING}) +// To be used only when initialising a static storage variable in compilers that don't support +// initialisers with the syntax of wapp_str8_lit_ro +#define wapp_str8_lit_ro_initialiser_list(STRING) {.capacity = sizeof(STRING) - 1, \ + .size = sizeof(STRING) - 1, \ + .buf = (c8 *)STRING} /** * Str8 allocated buffers diff --git a/src/os/shell/termcolour/posix/termcolour_posix.c b/src/os/shell/termcolour/posix/termcolour_posix.c index a24d277..eddcc64 100644 --- a/src/os/shell/termcolour/posix/termcolour_posix.c +++ b/src/os/shell/termcolour/posix/termcolour_posix.c @@ -8,23 +8,23 @@ #include internal Str8RO colours[COUNT_TERM_COLOUR] = { - [WAPP_TERM_COLOUR_FG_BLACK] = wapp_str8_lit_ro("\033[30m"), - [WAPP_TERM_COLOUR_FG_RED] = wapp_str8_lit_ro("\033[31m"), - [WAPP_TERM_COLOUR_FG_GREEN] = wapp_str8_lit_ro("\033[32m"), - [WAPP_TERM_COLOUR_FG_BLUE] = wapp_str8_lit_ro("\033[34m"), - [WAPP_TERM_COLOUR_FG_CYAN] = wapp_str8_lit_ro("\033[36m"), - [WAPP_TERM_COLOUR_FG_MAGENTA] = wapp_str8_lit_ro("\033[35m"), - [WAPP_TERM_COLOUR_FG_YELLOW] = wapp_str8_lit_ro("\033[33m"), - [WAPP_TERM_COLOUR_FG_WHITE] = wapp_str8_lit_ro("\033[37m"), - [WAPP_TERM_COLOUR_FG_BR_BLACK] = wapp_str8_lit_ro("\033[90m"), - [WAPP_TERM_COLOUR_FG_BR_RED] = wapp_str8_lit_ro("\033[91m"), - [WAPP_TERM_COLOUR_FG_BR_GREEN] = wapp_str8_lit_ro("\033[92m"), - [WAPP_TERM_COLOUR_FG_BR_BLUE] = wapp_str8_lit_ro("\033[94m"), - [WAPP_TERM_COLOUR_FG_BR_CYAN] = wapp_str8_lit_ro("\033[96m"), - [WAPP_TERM_COLOUR_FG_BR_MAGENTA] = wapp_str8_lit_ro("\033[95m"), - [WAPP_TERM_COLOUR_FG_BR_YELLOW] = wapp_str8_lit_ro("\033[93m"), - [WAPP_TERM_COLOUR_FG_BR_WHITE] = wapp_str8_lit_ro("\033[97m"), - [WAPP_TERM_COLOUR_CLEAR] = wapp_str8_lit_ro("\033[0m"), + [WAPP_TERM_COLOUR_FG_BLACK] = wapp_str8_lit_ro_initialiser_list("\033[30m"), + [WAPP_TERM_COLOUR_FG_RED] = wapp_str8_lit_ro_initialiser_list("\033[31m"), + [WAPP_TERM_COLOUR_FG_GREEN] = wapp_str8_lit_ro_initialiser_list("\033[32m"), + [WAPP_TERM_COLOUR_FG_BLUE] = wapp_str8_lit_ro_initialiser_list("\033[34m"), + [WAPP_TERM_COLOUR_FG_CYAN] = wapp_str8_lit_ro_initialiser_list("\033[36m"), + [WAPP_TERM_COLOUR_FG_MAGENTA] = wapp_str8_lit_ro_initialiser_list("\033[35m"), + [WAPP_TERM_COLOUR_FG_YELLOW] = wapp_str8_lit_ro_initialiser_list("\033[33m"), + [WAPP_TERM_COLOUR_FG_WHITE] = wapp_str8_lit_ro_initialiser_list("\033[37m"), + [WAPP_TERM_COLOUR_FG_BR_BLACK] = wapp_str8_lit_ro_initialiser_list("\033[90m"), + [WAPP_TERM_COLOUR_FG_BR_RED] = wapp_str8_lit_ro_initialiser_list("\033[91m"), + [WAPP_TERM_COLOUR_FG_BR_GREEN] = wapp_str8_lit_ro_initialiser_list("\033[92m"), + [WAPP_TERM_COLOUR_FG_BR_BLUE] = wapp_str8_lit_ro_initialiser_list("\033[94m"), + [WAPP_TERM_COLOUR_FG_BR_CYAN] = wapp_str8_lit_ro_initialiser_list("\033[96m"), + [WAPP_TERM_COLOUR_FG_BR_MAGENTA] = wapp_str8_lit_ro_initialiser_list("\033[95m"), + [WAPP_TERM_COLOUR_FG_BR_YELLOW] = wapp_str8_lit_ro_initialiser_list("\033[93m"), + [WAPP_TERM_COLOUR_FG_BR_WHITE] = wapp_str8_lit_ro_initialiser_list("\033[97m"), + [WAPP_TERM_COLOUR_CLEAR] = wapp_str8_lit_ro_initialiser_list("\033[0m"), }; void print_coloured_text(Str8RO *text, TerminalColour colour) {