Clarify some or exclusive expressions - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit ba9d0365ac7e138b643d7179457f8465a1dc1191
 (DIR) parent 950ff21e17af487b205ea0b666be015790114fa7
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Thu,  8 Nov 2012 17:17:26 +0100
       
       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:
         M st.c                                |      14 +++++++-------
       
       1 file changed, 7 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git 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;