aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-08 17:17:26 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-08 17:17:26 +0100
commitba9d0365ac7e138b643d7179457f8465a1dc1191 (patch)
tree33c8251c5c7ca952626004233fa1552573ed27d0 /st.c
parent950ff21e17af487b205ea0b666be015790114fa7 (diff)
downloadst-ba9d0365ac7e138b643d7179457f8465a1dc1191.tar.gz
Clarify some or exclusive expressions
Since relational expresions are always evaluated to 0 or 1, we can use bitwise xor operator instead of using more complex boolean expressions. --- st.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
Diffstat (limited to 'st.c')
-rw-r--r--st.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/st.c b/st.c
index 67fa790..9864442 100644
--- a/st.c
+++ b/st.c
@@ -1475,15 +1475,15 @@ tsetmode(bool priv, bool set, int *args, int narg) {
break;
case 1049: /* = 1047 and 1048 */
case 47:
- case 1047:
- if(IS_SET(MODE_ALTSCREEN))
+ case 1047: {
+ bool alt = IS_SET(MODE_ALTSCREEN) != 0;
+ if(alt)
tclearregion(0, 0, term.col-1, term.row-1);
- if((set && !IS_SET(MODE_ALTSCREEN)) ||
- (!set && IS_SET(MODE_ALTSCREEN))) {
+ if(set ^ alt) /* set is always 1 or 0 */
tswapscreen();
- }
if(*args != 1049)
break;
+ }
/* pass through */
case 1048:
tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
@@ -2546,9 +2546,9 @@ drawregion(int x1, int y1, int x2, int y2) {
int ic, ib, x, y, ox, sl;
Glyph base, new;
char buf[DRAW_BUF_SIZ];
- bool ena_sel = sel.bx != -1, alt = IS_SET(MODE_ALTSCREEN);
+ bool ena_sel = sel.bx != -1, alt = IS_SET(MODE_ALTSCREEN) != 0;
- if((sel.alt && !alt) || (!sel.alt && alt))
+ if((sel.alt != 0) ^ alt)
ena_sel = 0;
if(!(xw.state & WIN_VISIBLE))
return;
remember that computers suck.