Mild const-correctness improvements. - 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 4536f46cfff50c66a115755def0155d8e246b02f
 (DIR) parent 9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f
 (HTM) Author: Markus F.X.J. Oberhumer <markus@oberhumer.com>
       Date:   Sun, 28 Mar 2021 21:16:59 +0200
       
       Mild const-correctness improvements.
       
       Only touch a few things, the main focus is to
       improve code readability.
       
       Diffstat:
         M st.c                                |      44 ++++++++++++++++---------------
         M st.h                                |       4 ++--
         M x.c                                 |       6 +++---
       
       3 files changed, 28 insertions(+), 26 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -186,18 +186,18 @@ static void tputc(Rune);
        static void treset(void);
        static void tscrollup(int, int);
        static void tscrolldown(int, int);
       -static void tsetattr(int *, int);
       -static void tsetchar(Rune, Glyph *, int, int);
       +static void tsetattr(const int *, int);
       +static void tsetchar(Rune, const Glyph *, int, int);
        static void tsetdirt(int, int);
        static void tsetscroll(int, int);
        static void tswapscreen(void);
       -static void tsetmode(int, int, int *, int);
       +static void tsetmode(int, int, const int *, int);
        static int twrite(const char *, int, int);
        static void tfulldirt(void);
        static void tcontrolcode(uchar );
        static void tdectest(char );
        static void tdefutf8(char);
       -static int32_t tdefcolor(int *, int *, int);
       +static int32_t tdefcolor(const int *, int *, int);
        static void tdeftran(char);
        static void tstrsequence(uchar);
        
       @@ -226,10 +226,10 @@ static int iofd = 1;
        static int cmdfd;
        static pid_t pid;
        
       -static uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0};
       -static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8};
       -static Rune utfmin[UTF_SIZ + 1] = {       0,    0,  0x80,  0x800,  0x10000};
       -static Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF};
       +static const uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0};
       +static const uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8};
       +static const Rune utfmin[UTF_SIZ + 1] = {       0,    0,  0x80,  0x800,  0x10000};
       +static const Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF};
        
        ssize_t
        xwrite(int fd, const char *s, size_t len)
       @@ -269,12 +269,14 @@ xrealloc(void *p, size_t len)
        }
        
        char *
       -xstrdup(char *s)
       +xstrdup(const char *s)
        {
       -        if ((s = strdup(s)) == NULL)
       +        char *p;
       +
       +        if ((p = strdup(s)) == NULL)
                        die("strdup: %s\n", strerror(errno));
        
       -        return s;
       +        return p;
        }
        
        size_t
       @@ -518,7 +520,7 @@ selsnap(int *x, int *y, int direction)
        {
                int newx, newy, xt, yt;
                int delim, prevdelim;
       -        Glyph *gp, *prevgp;
       +        const Glyph *gp, *prevgp;
        
                switch (sel.snap) {
                case SNAP_WORD:
       @@ -591,7 +593,7 @@ getsel(void)
        {
                char *str, *ptr;
                int y, bufsize, lastx, linelen;
       -        Glyph *gp, *last;
       +        const Glyph *gp, *last;
        
                if (sel.ob.x == -1)
                        return NULL;
       @@ -758,7 +760,7 @@ stty(char **args)
        }
        
        int
       -ttynew(char *line, char *cmd, char *out, char **args)
       +ttynew(const char *line, char *cmd, const char *out, char **args)
        {
                int m, s;
        
       @@ -1186,9 +1188,9 @@ tmoveto(int x, int y)
        }
        
        void
       -tsetchar(Rune u, Glyph *attr, int x, int y)
       +tsetchar(Rune u, const Glyph *attr, int x, int y)
        {
       -        static char *vt100_0[62] = { /* 0x41 - 0x7e */
       +        static const char *vt100_0[62] = { /* 0x41 - 0x7e */
                        "↑", "↓", "→", "←", "█", "▚", "☃", /* A - G */
                        0, 0, 0, 0, 0, 0, 0, 0, /* H - O */
                        0, 0, 0, 0, 0, 0, 0, 0, /* P - W */
       @@ -1300,7 +1302,7 @@ tdeleteline(int n)
        }
        
        int32_t
       -tdefcolor(int *attr, int *npar, int l)
       +tdefcolor(const int *attr, int *npar, int l)
        {
                int32_t idx = -1;
                uint r, g, b;
       @@ -1350,7 +1352,7 @@ tdefcolor(int *attr, int *npar, int l)
        }
        
        void
       -tsetattr(int *attr, int l)
       +tsetattr(const int *attr, int l)
        {
                int i;
                int32_t idx;
       @@ -1468,9 +1470,9 @@ tsetscroll(int t, int b)
        }
        
        void
       -tsetmode(int priv, int set, int *args, int narg)
       +tsetmode(int priv, int set, const int *args, int narg)
        {
       -        int alt, *lim;
       +        int alt; const int *lim;
        
                for (lim = args + narg; args < lim; ++args) {
                        if (priv) {
       @@ -2020,7 +2022,7 @@ void
        tdumpline(int n)
        {
                char buf[UTF_SIZ];
       -        Glyph *bp, *end;
       +        const Glyph *bp, *end;
        
                bp = &term.line[n][0];
                end = &bp[MIN(tlinelen(n), term.col) - 1];
 (DIR) diff --git a/st.h b/st.h
       @@ -91,7 +91,7 @@ void tnew(int, int);
        void tresize(int, int);
        void tsetdirtattr(int);
        void ttyhangup(void);
       -int ttynew(char *, char *, char *, char **);
       +int ttynew(const char *, char *, const char *, char **);
        size_t ttyread(void);
        void ttyresize(int, int);
        void ttywrite(const char *, size_t, int);
       @@ -109,7 +109,7 @@ size_t utf8encode(Rune, char *);
        
        void *xmalloc(size_t);
        void *xrealloc(void *, size_t);
       -char *xstrdup(char *);
       +char *xstrdup(const char *);
        
        /* config.h globals */
        extern char *utmp;
 (DIR) diff --git a/x.c b/x.c
       @@ -156,7 +156,7 @@ static void xresize(int, int);
        static void xhints(void);
        static int xloadcolor(int, const char *, Color *);
        static int xloadfont(Font *, FcPattern *);
       -static void xloadfonts(char *, double);
       +static void xloadfonts(const char *, double);
        static void xunloadfont(Font *);
        static void xunloadfonts(void);
        static void xsetenv(void);
       @@ -952,7 +952,7 @@ xloadfont(Font *f, FcPattern *pattern)
        }
        
        void
       -xloadfonts(char *fontstr, double fontsize)
       +xloadfonts(const char *fontstr, double fontsize)
        {
                FcPattern *pattern;
                double fontval;
       @@ -960,7 +960,7 @@ xloadfonts(char *fontstr, double fontsize)
                if (fontstr[0] == '-')
                        pattern = XftXlfdParse(fontstr, False, False);
                else
       -                pattern = FcNameParse((FcChar8 *)fontstr);
       +                pattern = FcNameParse((const FcChar8 *)fontstr);
        
                if (!pattern)
                        die("can't open font %s\n", fontstr);