From 981d3ec01c7774609193ec2e3106b7856f7f7933 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 11 Feb 2017 07:38:26 -0500 Subject: optimize runes_display_continue_string a bit continuing is the common case, so this trades two compare+branches for two ORs and a NOT --- src/display.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/display.c') diff --git a/src/display.c b/src/display.c index 28b63e7..7cee2a9 100644 --- a/src/display.c +++ b/src/display.c @@ -253,16 +253,11 @@ static int runes_display_continue_string( if (!old->len || !new->len) { return 0; } - if (old->attrs.fgcolor.id != new->attrs.fgcolor.id) { - return 0; - } - if (old->attrs.bgcolor.id != new->attrs.bgcolor.id) { - return 0; - } - if (old->attrs.attrs != new->attrs.attrs) { - return 0; - } - return 1; + return !( + (old->attrs.fgcolor.id - new->attrs.fgcolor.id) | + (old->attrs.bgcolor.id - new->attrs.bgcolor.id) | + (old->attrs.attrs - new->attrs.attrs) + ); } static void runes_display_draw_string( -- cgit v1.2.3-54-g00ecf