aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/p10k.zsh13
1 files changed, 7 insertions, 6 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 42d279c9..a455d625 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -4168,17 +4168,18 @@ function _p9k_fetch_nordvpn_status() {
(( (tag >>= 3) && tag <= $#__p9k_nordvpn_tag )) || break
tag=$__p9k_nordvpn_tag[tag]
[[ -t $fd ]] || true # https://www.zsh.org/mla/workers/2020/msg00207.html
- sysread -c n -s 1 -t 0.25 len
+ sysread -s 1 -t 0.25 len
len=$((#len))
val=
- (( ! len )) || {
+ while true; do
+ (( len )) || break
[[ -t $fd ]] || true # https://www.zsh.org/mla/workers/2020/msg00207.html
- sysread -c n -s $len -t 0.25 val
- (( n == len ))
- }
+ sysread -c n -s $len -t 0.25 'val[$#val+1]'
+ len+=-n
+ done
typeset -g $tag=$val
[[ -t $fd ]] || true # https://www.zsh.org/mla/workers/2020/msg00207.html
- sysread -c n -s 1 -t 0.25 tag
+ sysread -s 1 -t 0.25 tag
done
} <&$fd
} always {