summaryrefslogtreecommitdiffstats
path: root/TraceScreen.c
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2020-11-01 01:09:51 +0100
committerBenny Baumann <BenBE@geshi.org>2020-11-02 22:15:01 +0100
commit45869513bfebba80cc2ab42e4218f68b34b1e6ac (patch)
treef064631dbff141bf1c945db8cff40b7bb82fd169 /TraceScreen.c
parent61e14d4bb25268593019e6df3eb02264b4ac8e0e (diff)
Embracing branches
Diffstat (limited to 'TraceScreen.c')
-rw-r--r--TraceScreen.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/TraceScreen.c b/TraceScreen.c
index 7346a0f8..b1277488 100644
--- a/TraceScreen.c
+++ b/TraceScreen.c
@@ -61,8 +61,11 @@ void TraceScreen_delete(Object* cast) {
kill(this->child, SIGTERM);
waitpid(this->child, NULL, 0);
}
- if (this->strace)
+
+ if (this->strace) {
fclose(this->strace);
+ }
+
CRT_enableDelay();
free(InfoScreen_done((InfoScreen*)this));
}
@@ -144,9 +147,11 @@ void TraceScreen_updateTrace(InfoScreen* super) {
tv.tv_sec = 0;
tv.tv_usec = 500;
int ready = select(fd_strace + 1, &fds, NULL, NULL, &tv);
+
size_t nread = 0;
if (ready > 0 && FD_ISSET(fd_strace, &fds))
nread = fread(buffer, 1, sizeof(buffer) - 1, this->strace);
+
if (nread && this->tracing) {
const char* line = buffer;
buffer[nread] = '\0';
@@ -167,8 +172,9 @@ void TraceScreen_updateTrace(InfoScreen* super) {
buffer[nread] = '\0';
this->contLine = true;
}
- if (this->follow)
- Panel_setSelected(this->super.display, Panel_size(this->super.display)-1);
+ if (this->follow) {
+ Panel_setSelected(this->super.display, Panel_size(this->super.display) - 1);
+ }
}
}

© 2014-2024 Faster IT GmbH | imprint | privacy policy