diff options
author | Simon Ser <contact@emersion.fr> | 2021-12-21 12:12:54 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-12-21 12:12:54 +0100 |
commit | 414950bbc8e833362a689cc11720855e8edd1323 (patch) | |
tree | e3f5d80a48b8a9fef920d06d6d0842d82cc45076 /swaybar | |
parent | swaymsg: add GET_TREE pretty-printing (diff) | |
download | sway-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.
Diffstat (limited to 'swaybar')
-rw-r--r-- | swaybar/status_line.c | 2 |
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) { |