aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/term/term.c
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2020-06-06 13:59:25 -0700
committerNicholas Noll <nbnoll@eml.cc>2020-06-06 13:59:25 -0700
commit254258b48b4ba761eae0a1563549e4f324564456 (patch)
tree721a3ca12d87da563a9f9bb5aed85398c629ddfb /sys/cmd/term/term.c
parentb3ea2b804fbd35babac86c83c718a5491542db7c (diff)
opacity
Diffstat (limited to 'sys/cmd/term/term.c')
-rw-r--r--sys/cmd/term/term.c90
1 files changed, 41 insertions, 49 deletions
diff --git a/sys/cmd/term/term.c b/sys/cmd/term/term.c
index aecdcb4..4569394 100644
--- a/sys/cmd/term/term.c
+++ b/sys/cmd/term/term.c
@@ -3,8 +3,6 @@
#include <pwd.h>
#include <termios.h>
-#include <wchar.h>
-
#if defined(__linux)
#include <pty.h>
#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
@@ -13,12 +11,6 @@
#include <libutil.h>
#endif
-/* arbitrary sizes */
-#define ESC_BUF_SIZ (128*UTFmax)
-#define ESC_ARG_SIZ 16
-#define STR_BUF_SIZ ESC_BUF_SIZ
-#define STR_ARG_SIZ ESC_ARG_SIZ
-
/* macros */
#define IS_SET(flag) ((term.mode & (flag)) != 0)
#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == 0x7f)
@@ -120,7 +112,7 @@ xmalloc(size_t len)
void *p;
if (!(p = malloc(len)))
- die("malloc: %s\n", strerror(errno));
+ fatal("malloc: %s\n", strerror(errno));
return p;
}
@@ -128,8 +120,8 @@ xmalloc(size_t len)
void *
xrealloc(void *p, size_t len)
{
- if ((p = realloc(p, len)) == NULL)
- die("realloc: %s\n", strerror(errno));
+ if ((p = realloc(p, len)) == nil)
+ fatal("realloc: %s\n", strerror(errno));
return p;
}
@@ -137,8 +129,8 @@ xrealloc(void *p, size_t len)
char *
xstrdup(char *s)
{
- if ((s = strdup(s)) == NULL)
- die("strdup: %s\n", strerror(errno));
+ if ((s = strdup(s)) == nil)
+ fatal("strdup: %s\n", strerror(errno));
return s;
}
@@ -390,7 +382,7 @@ getsel(void)
Letter *gp, *last;
if (sel.ob.x == -1)
- return NULL;
+ return nil;
bufsize = (term.col+1) * (sel.ne.y-sel.nb.y+1) * UTFmax;
ptr = str = xmalloc(bufsize);
@@ -448,7 +440,7 @@ selclear(void)
}
void
-die(char *errstr, ...)
+fatal(char *errstr, ...)
{
va_list ap;
@@ -465,30 +457,30 @@ execsh(char *cmd, char **args)
struct passwd *pw;
errno = 0;
- if ((pw = getpwuid(getuid())) == NULL) {
+ if ((pw = getpwuid(getuid())) == nil) {
if (errno)
- die("getpwuid: %s\n", strerror(errno));
+ fatal("getpwuid: %s\n", strerror(errno));
else
- die("who are you?\n");
+ fatal("who are you?\n");
}
- if ((sh = getenv("SHELL")) == NULL)
+ if ((sh = getenv("SHELL")) == nil)
sh = (pw->pw_shell[0]) ? pw->pw_shell : cmd;
if (args) {
prog = args[0];
- arg = NULL;
+ arg = nil;
} else if (scroll) {
prog = scroll;
arg = utmp ? utmp : sh;
} else if (utmp) {
prog = utmp;
- arg = NULL;
+ arg = nil;
} else {
prog = sh;
- arg = NULL;
+ arg = nil;
}
- DEFAULT(args, ((char *[]) {prog, arg, NULL}));
+ DEFAULT(args, ((char *[]) {prog, arg, nil}));
unsetenv("COLUMNS");
unsetenv("LINES");
@@ -517,15 +509,15 @@ sigchld(int a)
pid_t p;
if ((p = waitpid(pid, &stat, WNOHANG)) < 0)
- die("waiting for pid %hd failed: %s\n", pid, strerror(errno));
+ fatal("waiting for pid %hd failed: %s\n", pid, strerror(errno));
if (pid != p)
return;
if (WIFEXITED(stat) && WEXITSTATUS(stat))
- die("child exited with status %d\n", WEXITSTATUS(stat));
+ fatal("child exited with status %d\n", WEXITSTATUS(stat));
else if (WIFSIGNALED(stat))
- die("child terminated due to signal %d\n", WTERMSIG(stat));
+ fatal("child terminated due to signal %d\n", WTERMSIG(stat));
_exit(0);
}
@@ -536,13 +528,13 @@ stty(char **args)
size_t n, siz;
if ((n = strlen(stty_args)) > sizeof(cmd)-1)
- die("incorrect stty parameters\n");
+ fatal("incorrect stty parameters\n");
memcpy(cmd, stty_args, n);
q = cmd + n;
siz = sizeof(cmd) - n;
for (p = args; p && (s = *p); ++p) {
if ((n = strlen(s)) > siz-1)
- die("stty parameter length too long\n");
+ fatal("stty parameter length too long\n");
*q++ = ' ';
memcpy(q, s, n);
q += n;
@@ -570,7 +562,7 @@ ttynew(char *line, char *cmd, char *out, char **args)
if (line) {
if ((cmdfd = open(line, O_RDWR)) < 0)
- die("open line '%s' failed: %s\n",
+ fatal("open line '%s' failed: %s\n",
line, strerror(errno));
dup2(cmdfd, 0);
stty(args);
@@ -578,12 +570,12 @@ ttynew(char *line, char *cmd, char *out, char **args)
}
/* seems to work fine on linux, openbsd and freebsd */
- if (openpty(&m, &s, NULL, NULL, NULL) < 0)
- die("openpty failed: %s\n", strerror(errno));
+ if (openpty(&m, &s, nil, nil, nil) < 0)
+ fatal("openpty failed: %s\n", strerror(errno));
switch (pid = fork()) {
case -1:
- die("fork failed: %s\n", strerror(errno));
+ fatal("fork failed: %s\n", strerror(errno));
break;
case 0:
close(iofd);
@@ -591,20 +583,20 @@ ttynew(char *line, char *cmd, char *out, char **args)
dup2(s, 0);
dup2(s, 1);
dup2(s, 2);
- if (ioctl(s, TIOCSCTTY, NULL) < 0)
- die("ioctl TIOCSCTTY failed: %s\n", strerror(errno));
+ if (ioctl(s, TIOCSCTTY, nil) < 0)
+ fatal("ioctl TIOCSCTTY failed: %s\n", strerror(errno));
close(s);
close(m);
#ifdef __OpenBSD__
- if (pledge("stdio getpw proc exec", NULL) == -1)
- die("pledge\n");
+ if (pledge("stdio getpw proc exec", nil) == -1)
+ fatal("pledge\n");
#endif
execsh(cmd, args);
break;
default:
#ifdef __OpenBSD__
- if (pledge("stdio rpath tty proc", NULL) == -1)
- die("pledge\n");
+ if (pledge("stdio rpath tty proc", nil) == -1)
+ fatal("pledge\n");
#endif
close(s);
cmdfd = m;
@@ -628,7 +620,7 @@ ttyread(void)
case 0:
exit(0);
case -1:
- die("couldn't read from shell: %s\n", strerror(errno));
+ fatal("couldn't read from shell: %s\n", strerror(errno));
default:
buflen += ret;
written = twrite(buf, buflen, 0);
@@ -688,10 +680,10 @@ ttywriteraw(char *s, size_t n)
FD_SET(cmdfd, &rfd);
/* Check if we can write. */
- if (pselect(cmdfd+1, &rfd, &wfd, NULL, NULL, NULL) < 0) {
+ if (pselect(cmdfd+1, &rfd, &wfd, nil, nil, nil) < 0) {
if (errno == EINTR)
continue;
- die("select failed: %s\n", strerror(errno));
+ fatal("select failed: %s\n", strerror(errno));
}
if (FD_ISSET(cmdfd, &wfd)) {
/*
@@ -722,7 +714,7 @@ ttywriteraw(char *s, size_t n)
return;
write_error:
- die("write error on tty: %s\n", strerror(errno));
+ fatal("write error on tty: %s\n", strerror(errno));
}
void
@@ -941,7 +933,7 @@ csiparse(void)
csiescseq.buf[csiescseq.len] = '\0';
while (p < csiescseq.buf+csiescseq.len) {
- np = NULL;
+ np = nil;
v = strtol(p, &np, 10);
if (np == p)
v = 0;
@@ -1404,7 +1396,7 @@ csihandle(void)
unknown:
fprintf(stderr, "erresc: unknown csi ");
csidump();
- /* die(""); */
+ /* fatal(""); */
break;
case '@': /* ICH -- Insert <n> blank char */
DEFAULT(csiescseq.arg[0], 1);
@@ -1638,7 +1630,7 @@ csireset(void)
void
strhandle(void)
{
- char *p = NULL, *dec;
+ char *p = nil, *dec;
int j, narg, par;
term.esc &= ~(Xstrend|Xstr);
@@ -1670,7 +1662,7 @@ strhandle(void)
break;
p = strescseq.args[2];
/* FALLTHROUGH */
- case 104: /* color reset, here p = NULL */
+ case 104: /* color reset, here p = nil */
j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
if (xsetcolorname(j, p)) {
if (par == 104 && narg <= 1)
@@ -1862,7 +1854,7 @@ tdeftran(char ascii)
static int vcs[] = {CSgfx0, CSusa};
char *p;
- if ((p = strchr(cs, ascii)) == NULL) {
+ if ((p = strchr(cs, ascii)) == nil) {
fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii);
} else {
term.trantbl[term.icharset] = vcs[p - cs];
@@ -2296,7 +2288,7 @@ tresize(int col, int row)
free(term.line[i]);
free(term.alt[i]);
}
- /* ensure that both src and dst are not NULL */
+ /* ensure that both src and dst are not nil */
if (i > 0) {
memmove(term.line, term.line + i, row * sizeof(Letter*));
memmove(term.alt, term.alt + i, row * sizeof(Letter*));
@@ -2357,7 +2349,7 @@ tresize(int col, int row)
void
resettitle(void)
{
- xsettitle(NULL);
+ xsettitle(nil);
}
void