Unboolify st - 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 9de853a98da8fe0f458b244970f0e0d3e9b38a50
 (DIR) parent abfad4c4fc69ebb22febfe32677aadd112ce375a
 (HTM) Author: FRIGN <dev@frign.de>
       Date:   Wed,  8 Jul 2015 23:56:55 +0200
       
       Unboolify st
       
       This practice proved itself in sbase, ubase and a couple of other
       projects.
       Also remove the True and False defined in X11 and FcTrue and FcFalse
       defined in Fontconfig.
       
       Signed-off-by: Christoph Lohmann <20h@r-36.net>
       
       Diffstat:
         M config.def.h                        |       2 +-
         M st.c                                |      56 +++++++++++++++----------------
       
       2 files changed, 28 insertions(+), 30 deletions(-)
       ---
 (DIR) diff --git a/config.def.h b/config.def.h
       @@ -30,7 +30,7 @@ static unsigned int doubleclicktimeout = 300;
        static unsigned int tripleclicktimeout = 600;
        
        /* alt screens */
       -static bool allowaltscreen = true;
       +static int allowaltscreen = 1;
        
        /* frames per second st should at maximum draw to the screen */
        static unsigned int xfps = 120;
 (DIR) diff --git a/st.c b/st.c
       @@ -6,7 +6,6 @@
        #include <locale.h>
        #include <pwd.h>
        #include <stdarg.h>
       -#include <stdbool.h>
        #include <stdio.h>
        #include <stdlib.h>
        #include <string.h>
       @@ -231,7 +230,7 @@ typedef struct {
                int col;      /* nb col */
                Line *line;   /* screen */
                Line *alt;    /* alternate screen */
       -        bool *dirty;  /* dirtyness of lines */
       +        int *dirty;  /* dirtyness of lines */
                XftGlyphFontSpec *specbuf; /* font spec buffer used for rendering */
                TCursor c;    /* cursor */
                int top;      /* top    scroll limit */
       @@ -241,8 +240,8 @@ typedef struct {
                char trantbl[4]; /* charset table translation */
                int charset;  /* current charset */
                int icharset; /* selected charset for sequence */
       -        bool numlock; /* lock numbers in keyboard */
       -        bool *tabs;
       +        int numlock; /* lock numbers in keyboard */
       +        int *tabs;
        } Term;
        
        /* Purely graphic info */
       @@ -258,7 +257,7 @@ typedef struct {
                Visual *vis;
                XSetWindowAttributes attrs;
                int scr;
       -        bool isfixed; /* is fixed geometry? */
       +        int isfixed; /* is fixed geometry? */
                int l, t; /* left and top offset */
                int gm; /* geometry mask */
                int tw, th; /* tty width and height */
       @@ -302,7 +301,7 @@ typedef struct {
        
                char *primary, *clipboard;
                Atom xtarget;
       -        bool alt;
       +        int alt;
                struct timespec tclick1;
                struct timespec tclick2;
        } Selection;
       @@ -403,14 +402,14 @@ static void tsetscroll(int, int);
        static void tswapscreen(void);
        static void tsetdirt(int, int);
        static void tsetdirtattr(int);
       -static void tsetmode(bool, bool, int *, int);
       +static void tsetmode(int, int, int *, int);
        static void tfulldirt(void);
        static void techo(Rune);
        static void tcontrolcode(uchar );
        static void tdectest(char );
        static int32_t tdefcolor(int *, int *, int);
        static void tdeftran(char);
       -static inline bool match(uint, uint);
       +static inline int match(uint, uint);
        static void ttynew(void);
        static void ttyread(void);
        static void ttyresize(void);
       @@ -459,7 +458,7 @@ static void selrequest(XEvent *);
        
        static void selinit(void);
        static void selnormalize(void);
       -static inline bool selected(int, int);
       +static inline int selected(int, int);
        static char *getsel(void);
        static void selcopy(Time);
        static void selscroll(int, int);
       @@ -734,10 +733,10 @@ selnormalize(void) {
                        sel.ne.x = term.col - 1;
        }
        
       -bool
       +int
        selected(int x, int y) {
                if(sel.mode == SEL_EMPTY)
       -                return false;
       +                return 0;
        
                if(sel.type == SEL_RECTANGULAR)
                        return BETWEEN(y, sel.nb.y, sel.ne.y)
       @@ -751,7 +750,7 @@ selected(int x, int y) {
        void
        selsnap(int *x, int *y, int direction) {
                int newx, newy, xt, yt;
       -        bool delim, prevdelim;
       +        int delim, prevdelim;
                Glyph *gp, *prevgp;
        
                switch(sel.snap) {
       @@ -1143,7 +1142,7 @@ selrequest(XEvent *e) {
                }
        
                /* all done, send a notification to the listener */
       -        if(!XSendEvent(xsre->display, xsre->requestor, True, 0, (XEvent *) &xev))
       +        if(!XSendEvent(xsre->display, xsre->requestor, 1, 0, (XEvent *) &xev))
                        fprintf(stderr, "Error sending SelectionNotify event\n");
        }
        
       @@ -1457,7 +1456,7 @@ tfulldirt(void) {
        void
        tcursor(int mode) {
                static TCursor c[2];
       -        bool alt = IS_SET(MODE_ALTSCREEN);
       +        int alt = IS_SET(MODE_ALTSCREEN);
        
                if(mode == CURSOR_SAVE) {
                        c[alt] = term.c;
       @@ -1916,9 +1915,9 @@ tsetscroll(int t, int b) {
        }
        
        void
       -tsetmode(bool priv, bool set, int *args, int narg) {
       +tsetmode(int priv, int set, int *args, int narg) {
                int *lim, mode;
       -        bool alt;
       +        int alt;
        
                for(lim = args + narg; args < lim; ++args) {
                        if(priv) {
       @@ -2684,7 +2683,7 @@ eschandle(uchar ascii) {
        void
        tputc(Rune u) {
                char c[UTF_SIZ];
       -        bool control;
       +        int control;
                int width, len;
                Glyph *gp;
        
       @@ -2808,7 +2807,7 @@ tresize(int col, int row) {
                int i;
                int minrow = MIN(row, term.row);
                int mincol = MIN(col, term.col);
       -        bool *bp;
       +        int *bp;
                TCursor c;
        
                if(col < 1 || row < 1) {
       @@ -2904,7 +2903,7 @@ sixd_to_16bit(int x) {
                return x == 0 ? 0 : 0x3737 + 0x2828 * x;
        }
        
       -bool
       +int
        xloadcolor(int i, const char *name, Color *ncolor) {
                XRenderColor color = { .alpha = 0xffff };
        
       @@ -2929,7 +2928,7 @@ xloadcolor(int i, const char *name, Color *ncolor) {
        void
        xloadcols(void) {
                int i;
       -        static bool loaded;
       +        static int loaded;
                Color *cp;
        
                if(loaded) {
       @@ -2944,7 +2943,7 @@ xloadcols(void) {
                                else
                                        die("Could not allocate color %d\n", i);
                        }
       -        loaded = true;
       +        loaded = 1;
        }
        
        int
       @@ -2998,7 +2997,7 @@ xhints(void) {
                sizeh->width_inc = xw.cw;
                sizeh->base_height = 2 * borderpx;
                sizeh->base_width = 2 * borderpx;
       -        if(xw.isfixed == True) {
       +        if(xw.isfixed) {
                        sizeh->flags |= PMaxSize | PMinSize;
                        sizeh->min_width = sizeh->max_width = xw.w;
                        sizeh->min_height = sizeh->max_height = xw.h;
       @@ -3349,7 +3348,7 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
                        if(f >= frclen) {
                                if(!font->set)
                                        font->set = FcFontSort(0, font->pattern,
       -                                                       FcTrue, 0, &fcres);
       +                                                       1, 0, &fcres);
                                fcsets[0] = font->set;
        
                                /*
       @@ -3365,8 +3364,7 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
                                FcCharSetAddChar(fccharset, rune);
                                FcPatternAddCharSet(fcpattern, FC_CHARSET,
                                                fccharset);
       -                        FcPatternAddBool(fcpattern, FC_SCALABLE,
       -                                        FcTrue);
       +                        FcPatternAddBool(fcpattern, FC_SCALABLE, 1);
        
                                FcConfigSubstitute(0, fcpattern,
                                                FcMatchPattern);
       @@ -3664,7 +3662,7 @@ drawregion(int x1, int y1, int x2, int y2) {
                int i, x, y, ox, numspecs;
                Glyph base, new;
                XftGlyphFontSpec* specs;
       -        bool ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN);
       +        int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN);
        
                if(!(xw.state & WIN_VISIBLE))
                        return;
       @@ -3757,7 +3755,7 @@ focus(XEvent *ev) {
                }
        }
        
       -bool
       +int
        match(uint mask, uint state) {
                return mask == XK_ANY_MOD || mask == (state & ~ignoremod);
        }
       @@ -4025,7 +4023,7 @@ main(int argc, char *argv[]) {
        
                ARGBEGIN {
                case 'a':
       -                allowaltscreen = false;
       +                allowaltscreen = 0;
                        break;
                case 'c':
                        opt_class = EARGF(usage());
       @@ -4042,7 +4040,7 @@ main(int argc, char *argv[]) {
                                        &xw.l, &xw.t, &cols, &rows);
                        break;
                case 'i':
       -                xw.isfixed = True;
       +                xw.isfixed = 1;
                        break;
                case 'o':
                        opt_io = EARGF(usage());