themes: simplify empty macros, remove do { } while(0) - sfeed - RSS and Atom parser (HTM) git clone git://git.codemadness.org/sfeed (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 8737035999474283a28faa5780f43138f96ab82c (DIR) parent cc3dd4534bcbbc750d563992b93b1131410a2a76 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Mon, 6 Jun 2022 11:00:26 +0200 themes: simplify empty macros, remove do { } while(0) Multiple function calls should still be nested in a do { } while(0), but this is hopefully obvious looking at the other lines. While testing, gcc with -O0 created the same binary. clang added a single jmp instruction. Diffstat: M themes/mono.h | 8 ++++---- M themes/mono_highlight.h | 8 ++++---- M themes/newsboat.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) --- (DIR) diff --git a/themes/mono.h b/themes/mono.h @@ -1,13 +1,13 @@ /* default mono theme */ -#define THEME_ITEM_NORMAL() do { } while(0) -#define THEME_ITEM_FOCUS() do { } while(0) +#define THEME_ITEM_NORMAL() +#define THEME_ITEM_FOCUS() #define THEME_ITEM_BOLD() do { attrmode(ATTR_BOLD_ON); } while(0) #define THEME_ITEM_SELECTED() do { if (p->focused) attrmode(ATTR_REVERSE_ON); } while(0) -#define THEME_SCROLLBAR_FOCUS() do { } while(0) +#define THEME_SCROLLBAR_FOCUS() #define THEME_SCROLLBAR_NORMAL() do { attrmode(ATTR_FAINT_ON); } while(0) #define THEME_SCROLLBAR_TICK_FOCUS() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_SCROLLBAR_TICK_NORMAL() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_LINEBAR() do { attrmode(ATTR_FAINT_ON); } while(0) #define THEME_STATUSBAR() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_INPUT_LABEL() do { attrmode(ATTR_REVERSE_ON); } while(0) -#define THEME_INPUT_NORMAL() do { } while(0) +#define THEME_INPUT_NORMAL() (DIR) diff --git a/themes/mono_highlight.h b/themes/mono_highlight.h @@ -1,15 +1,15 @@ /* mono theme with highlighting of the active panel. The faint attribute may not work on all terminals though. The combination bold with faint generally does not work either. */ -#define THEME_ITEM_NORMAL() do { } while(0) -#define THEME_ITEM_FOCUS() do { } while(0) +#define THEME_ITEM_NORMAL() +#define THEME_ITEM_FOCUS() #define THEME_ITEM_BOLD() do { if (p->focused || !selected) attrmode(ATTR_BOLD_ON); } while(0) #define THEME_ITEM_SELECTED() do { attrmode(ATTR_REVERSE_ON); if (!p->focused) attrmode(ATTR_FAINT_ON); } while(0) -#define THEME_SCROLLBAR_FOCUS() do { } while(0) +#define THEME_SCROLLBAR_FOCUS() #define THEME_SCROLLBAR_NORMAL() do { attrmode(ATTR_FAINT_ON); } while(0) #define THEME_SCROLLBAR_TICK_FOCUS() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_SCROLLBAR_TICK_NORMAL() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_LINEBAR() do { attrmode(ATTR_FAINT_ON); } while(0) #define THEME_STATUSBAR() do { attrmode(ATTR_REVERSE_ON); } while(0) #define THEME_INPUT_LABEL() do { attrmode(ATTR_REVERSE_ON); } while(0) -#define THEME_INPUT_NORMAL() do { } while(0) +#define THEME_INPUT_NORMAL() (DIR) diff --git a/themes/newsboat.h b/themes/newsboat.h @@ -1,6 +1,6 @@ /* newsboat-like (blue, yellow) */ -#define THEME_ITEM_NORMAL() do { } while(0) -#define THEME_ITEM_FOCUS() do { } while(0) +#define THEME_ITEM_NORMAL() +#define THEME_ITEM_FOCUS() #define THEME_ITEM_BOLD() do { attrmode(ATTR_BOLD_ON); } while(0) #define THEME_ITEM_SELECTED() do { if (p->focused) ttywrite("\x1b[93;44m"); } while(0) /* bright yellow fg, blue bg */ #define THEME_SCROLLBAR_FOCUS() do { ttywrite("\x1b[34m"); } while(0) /* blue fg */ @@ -9,5 +9,5 @@ #define THEME_SCROLLBAR_TICK_NORMAL() do { ttywrite("\x1b[44m"); } while(0) #define THEME_LINEBAR() do { ttywrite("\x1b[34m"); } while(0) #define THEME_STATUSBAR() do { attrmode(ATTR_BOLD_ON); ttywrite("\x1b[93;44m"); } while(0) -#define THEME_INPUT_LABEL() do { } while(0) -#define THEME_INPUT_NORMAL() do { } while(0) +#define THEME_INPUT_LABEL() +#define THEME_INPUT_NORMAL()