From 45869513bfebba80cc2ab42e4218f68b34b1e6ac Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Sun, 1 Nov 2020 01:09:51 +0100 Subject: Embracing branches --- TraceScreen.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'TraceScreen.c') 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); + } } } -- cgit v1.2.3