mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-01 07:15:32 -04:00
slave: don't ignore write(3) errors
This commit is contained in:
parent
aed5b9e539
commit
113759b0a9
1 changed files with 14 additions and 3 deletions
17
slave.c
17
slave.c
|
|
@ -127,14 +127,20 @@ slave_exec(int ptmx, char *argv[], int err_fd, bool login_shell,
|
||||||
for (size_t i = 0; i < warning_count; i++) {
|
for (size_t i = 0; i < warning_count; i++) {
|
||||||
switch (warnings[i].kind) {
|
switch (warnings[i].kind) {
|
||||||
case USER_WARNING_DEPRECATION:
|
case USER_WARNING_DEPRECATION:
|
||||||
write(pts, "\e[33;1;5mdeprecated:\e[39;21;25m ", 32);
|
if (write(pts, "\e[33;1;5mdeprecated:\e[39;21;25m ", 32) < 0)
|
||||||
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
write(pts, warnings[i].text, strlen(warnings[i].text));
|
if (write(pts, warnings[i].text, strlen(warnings[i].text)) < 0 ||
|
||||||
write(pts, "\e[m\n", 4);
|
write(pts, "\e[m\n", 4) < 0)
|
||||||
|
{
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
free(warnings[i].text);
|
free(warnings[i].text);
|
||||||
|
warnings[i].text = NULL;
|
||||||
}
|
}
|
||||||
free(warnings);
|
free(warnings);
|
||||||
|
warnings = NULL;
|
||||||
|
|
||||||
close(pts);
|
close(pts);
|
||||||
pts = -1;
|
pts = -1;
|
||||||
|
|
@ -161,6 +167,11 @@ err:
|
||||||
if (ptmx != -1)
|
if (ptmx != -1)
|
||||||
close(ptmx);
|
close(ptmx);
|
||||||
close(err_fd);
|
close(err_fd);
|
||||||
|
|
||||||
|
for (size_t i = 0; i < warning_count; i++)
|
||||||
|
free(warnings[i].text);
|
||||||
|
free(warnings);
|
||||||
|
|
||||||
_exit(errno);
|
_exit(errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue