sfeed

Simple RSS and Atom feed parser
git clone https://git.sinitax.com/codemadness/sfeed
Log | Files | Refs | README | LICENSE | Upstream | sfeed.txt

commit 8737035999474283a28faa5780f43138f96ab82c
parent cc3dd4534bcbbc750d563992b93b1131410a2a76
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:
Mthemes/mono.h | 8++++----
Mthemes/mono_highlight.h | 8++++----
Mthemes/newsboat.h | 8++++----
3 files changed, 12 insertions(+), 12 deletions(-)

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() 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() 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()