]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
network-functions.pl: Improve wifi_get_link_quality
authorLeo-Andres Hofmann <hofmann@leo-andres.de>
Fri, 23 Jul 2021 11:09:42 +0000 (13:09 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 5 Sep 2021 08:50:05 +0000 (08:50 +0000)
iwconfig doesn't return values for "Link Quality" if the interface
is disconnected, causing a division by zero error. If there are odd
values, the resulting percentage may contain many decimal places.

This patch makes wifi_get_link_quality return zero instead of failing
and rounds the percentage to a more meaningful integer.

Signed-off-by: Leo-Andres Hofmann <hofmann@leo-andres.de>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
config/cfgroot/network-functions.pl

index b7a840559ccd5ec52a4cf918065538690a2c32ed..c0abc76b52fdc8ce44cdef6951b069f944fa8a95 100644 (file)
@@ -403,7 +403,11 @@ sub wifi_get_link_quality($) {
 
        my ($cur, $max) = $status =~ /Link Quality=(\d+)\/(\d+)/;
 
-       return $cur * 100 / $max;
+       if($max > 0) {
+               return sprintf('%.0f', ($cur * 100) / $max);
+       }
+
+       return 0;
 }
 
 sub wifi_get_signal_level($) {