diff options
author | Benny Baumann <BenBE@geshi.org> | 2020-11-01 01:09:51 +0100 |
---|---|---|
committer | Benny Baumann <BenBE@geshi.org> | 2020-11-02 22:15:01 +0100 |
commit | 45869513bfebba80cc2ab42e4218f68b34b1e6ac (patch) | |
tree | f064631dbff141bf1c945db8cff40b7bb82fd169 /TraceScreen.c | |
parent | 61e14d4bb25268593019e6df3eb02264b4ac8e0e (diff) |
Embracing branches
Diffstat (limited to 'TraceScreen.c')
-rw-r--r-- | TraceScreen.c | 12 |
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); + } } } |