aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/p10k.zsh13
1 files changed, 8 insertions, 5 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 4fc1da58..34663187 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -4608,11 +4608,14 @@ function _p9k_prompt_net_iface_async() {
ip_tx_bytes=$_p9k_ret
fi
elif [[ $_p9k_os == (BSD|OSX) && $commands[netstat] == 1 ]]; then
- local -a ns
- if ns="$(netstat -inbI $iface)"; then
- for line in ${${(f)ns}:1}; do
- (( ip_rx_bytes += ${line[(w)8]} ))
- (( ip_tx_bytes += ${line[(w)11]} ))
+ local -a lines
+ if lines=(${(f)"$(netstat -inbI $iface)"}); then
+ local header=($=lines[1])
+ local -i rx_idx=$header[(Ie)Ibytes]
+ local -i tx_idx=$header[(Ie)Obytes]
+ for line in ${lines:1}; do
+ (( ip_rx_bytes += ${line[(w)rx_idx]} ))
+ (( ip_tx_bytes += ${line[(w)tx_idx]} ))
done
fi
fi