Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Add st-mono terminfo entry
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
81973ee
..
a545724
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-366,7
+366,8
@@
static const char base64_digits[] = {
char
base64dec_getc(const char **src)
{
char
base64dec_getc(const char **src)
{
- while (**src && !isprint(**src)) (*src)++;
+ while (**src && !isprint(**src))
+ (*src)++;
return **src ? *((*src)++) : '='; /* emulate padding if string ends */
}
return **src ? *((*src)++) : '='; /* emulate padding if string ends */
}
@@
-681,9
+682,12
@@
execsh(char *cmd, char **args)
if (args) {
prog = args[0];
arg = NULL;
if (args) {
prog = args[0];
arg = NULL;
- } else if (scroll || utmp) {
- prog = scroll ? scroll : utmp;
- arg = scroll ? utmp : NULL;
+ } else if (scroll) {
+ prog = scroll;
+ arg = utmp ? utmp : sh;
+ } else if (utmp) {
+ prog = utmp;
+ arg = NULL;
} else {
prog = sh;
arg = NULL;
} else {
prog = sh;
arg = NULL;
@@
-819,15
+823,14
@@
ttyread(void)
{
static char buf[BUFSIZ];
static int buflen = 0;
{
static char buf[BUFSIZ];
static int buflen = 0;
- int written;
- int ret;
+ int ret, written;
/* append read bytes to unprocessed bytes */
ret = read(cmdfd, buf+buflen, LEN(buf)-buflen);
switch (ret) {
case 0:
/* append read bytes to unprocessed bytes */
ret = read(cmdfd, buf+buflen, LEN(buf)-buflen);
switch (ret) {
case 0:
- fputs("
F
ound EOF in input\n", stderr);
+ fputs("
f
ound EOF in input\n", stderr);
exit(0);
case -1:
die("couldn't read from shell: %s\n", strerror(errno));
exit(0);
case -1:
die("couldn't read from shell: %s\n", strerror(errno));
@@
-835,7
+838,7
@@
ttyread(void)
buflen += ret;
written = twrite(buf, buflen, 0);
buflen -= written;
buflen += ret;
written = twrite(buf, buflen, 0);
buflen -= written;
- /* keep any
uncomplete utf8 char
for the next call */
+ /* keep any
incomplete UTF-8 byte sequence
for the next call */
if (buflen > 0)
memmove(buf, buf + written, buflen);
return ret;
if (buflen > 0)
memmove(buf, buf + written, buflen);
return ret;