aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2021-12-21 12:12:54 +0100
committerLibravatar Simon Ser <contact@emersion.fr>2021-12-21 12:12:54 +0100
commit414950bbc8e833362a689cc11720855e8edd1323 (patch)
treee3f5d80a48b8a9fef920d06d6d0842d82cc45076
parentswaymsg: add GET_TREE pretty-printing (diff)
downloadsway-414950bbc8e833362a689cc11720855e8edd1323.tar.gz
sway-414950bbc8e833362a689cc11720855e8edd1323.tar.zst
sway-414950bbc8e833362a689cc11720855e8edd1323.zip
swaybar: fix errno handling in status_handle_readable
If getline fails once, it was not reset before the next getline call. errno is only overwritten by getline on error.
-rw-r--r--swaybar/status_line.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/swaybar/status_line.c b/swaybar/status_line.c
index a97f3525..2e9bb7f1 100644
--- a/swaybar/status_line.c
+++ b/swaybar/status_line.c
@@ -117,11 +117,11 @@ bool status_handle_readable(struct status_line *status) {
117 status->text = status->buffer; 117 status->text = status->buffer;
118 // intentional fall-through 118 // intentional fall-through
119 case PROTOCOL_TEXT: 119 case PROTOCOL_TEXT:
120 errno = 0;
121 while (true) { 120 while (true) {
122 if (status->buffer[read_bytes - 1] == '\n') { 121 if (status->buffer[read_bytes - 1] == '\n') {
123 status->buffer[read_bytes - 1] = '\0'; 122 status->buffer[read_bytes - 1] = '\0';
124 } 123 }
124 errno = 0;
125 read_bytes = getline(&status->buffer, 125 read_bytes = getline(&status->buffer,
126 &status->buffer_size, status->read); 126 &status->buffer_size, status->read);
127 if (errno == EAGAIN) { 127 if (errno == EAGAIN) {