JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
misplaced parenthesis in LEN macro
[st.git] / st.c
diff --git a/st.c b/st.c
index df660ff..4ccef9c 100644 (file)
--- a/st.c
+++ b/st.c
@@ -65,10 +65,9 @@ char *argv0;
 #define REDRAW_TIMEOUT (80*1000) /* 80 ms */
 
 /* macros */
-#define SERRNO strerror(errno)
 #define MIN(a, b)  ((a) < (b) ? (a) : (b))
 #define MAX(a, b)  ((a) < (b) ? (b) : (a))
-#define LEN(a)     (sizeof(a) / sizeof(a[0]))
+#define LEN(a)     (sizeof(a) / sizeof(a)[0])
 #define DEFAULT(a, b)     (a) = (a) ? (a) : (b)
 #define BETWEEN(x, a, b)  ((a) <= (x) && (x) <= (b))
 #define LIMIT(x, a, b)    (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x)
@@ -1181,7 +1180,7 @@ sigchld(int a) {
        int stat = 0;
 
        if(waitpid(pid, &stat, 0) < 0)
-               die("Waiting for pid %hd failed: %s\n", pid, SERRNO);
+               die("Waiting for pid %hd failed: %s\n", pid, strerror(errno));
 
        if(WIFEXITED(stat)) {
                exit(WEXITSTATUS(stat));
@@ -1197,7 +1196,7 @@ ttynew(void) {
 
        /* seems to work fine on linux, openbsd and freebsd */
        if(openpty(&m, &s, NULL, NULL, &w) < 0)
-               die("openpty failed: %s\n", SERRNO);
+               die("openpty failed: %s\n", strerror(errno));
 
        switch(pid = fork()) {
        case -1:
@@ -1209,7 +1208,7 @@ ttynew(void) {
                dup2(s, STDOUT_FILENO);
                dup2(s, STDERR_FILENO);
                if(ioctl(s, TIOCSCTTY, NULL) < 0)
-                       die("ioctl TIOCSCTTY failed: %s\n", SERRNO);
+                       die("ioctl TIOCSCTTY failed: %s\n", strerror(errno));
                close(s);
                close(m);
                execsh();
@@ -1252,7 +1251,7 @@ ttyread(void) {
 
        /* append read bytes to unprocessed bytes */
        if((ret = read(cmdfd, buf+buflen, LEN(buf)-buflen)) < 0)
-               die("Couldn't read from shell: %s\n", SERRNO);
+               die("Couldn't read from shell: %s\n", strerror(errno));
 
        /* process every complete utf8 char */
        buflen += ret;
@@ -1271,7 +1270,7 @@ ttyread(void) {
 void
 ttywrite(const char *s, size_t n) {
        if(write(cmdfd, s, n) == -1)
-               die("write error on tty: %s\n", SERRNO);
+               die("write error on tty: %s\n", strerror(errno));
 }
 
 void
@@ -1290,7 +1289,7 @@ ttyresize(void) {
        w.ws_xpixel = xw.tw;
        w.ws_ypixel = xw.th;
        if(ioctl(cmdfd, TIOCSWINSZ, &w) < 0)
-               fprintf(stderr, "Couldn't set window size: %s\n", SERRNO);
+               fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno));
 }
 
 int
@@ -2318,10 +2317,7 @@ techo(char *buf, int len) {
        for(; len > 0; buf++, len--) {
                char c = *buf;
 
-               if(c == '\033') { /* escape */
-                       tputc("^", 1);
-                       tputc("[", 1);
-               } else if(c < '\x20') { /* control code */
+               if(c < '\x20') { /* control code */
                        if(c != '\n' && c != '\r' && c != '\t') {
                                c |= '\x40';
                                tputc("^", 1);
@@ -3753,7 +3749,7 @@ run(void) {
                if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv) < 0) {
                        if(errno == EINTR)
                                continue;
-                       die("select failed: %s\n", SERRNO);
+                       die("select failed: %s\n", strerror(errno));
                }
                if(FD_ISSET(cmdfd, &rfd)) {
                        ttyread();