Mild const-correctness improvements. - st - simple terminal | |
git clone git://git.suckless.org/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 4536f46cfff50c66a115755def0155d8e246b02f | |
parent 9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f | |
Author: Markus F.X.J. Oberhumer <[email protected]> | |
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(-) | |
--- | |
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, 0x100… | |
+static const Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FF… | |
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]; | |
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; | |
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); |