Autor Thema: HTTPUTILS Perl Warning nach jedem Start / Variable $ret uninitialized  (Gelesen 171 mal)

Offline blackbite

  • Jr. Member
  • **
  • Beiträge: 96
Hallo FHEM-Gemeinde,

ich denke, die PERL Warning ist unwichtig und eher von kosmetischer Natur, aber könnte man die bei Gelegenheit noch aus den Logs bekommen? Ich sehe, dass diese Warnung bei sehr vielen Leuten in den Logs steht.

PERL WARNING: Use of uninitialized value $ret in numeric le (<=) at FHEM/HttpUtils.pm line 621.

Beim Start wird wohl die Variable nicht definiert sein, deshalb kann der Vergleich <= 0 nicht klappen. Müsste diese Code-Section sein:

$data = $hdr.(defined($data) ? $data:"");
    $hash->{directWriteFn} = sub($) { # Nonblocking write
      my $ret = syswrite $hash->{conn}, $data;
      if($ret <= 0) {
        return if($! == EAGAIN);
        my $err = $!;
        RemoveInternalTimer(\%timerHash);
        HttpUtils_Close($hash);
        return $hash->{callback}($hash, "write error: $err", undef)
      }

Besten Dank
Blackbite
Blackbite

Offline mwllgr

  • Developer
  • Jr. Member
  • ****
  • Beiträge: 67
Push für diesen (uralten) Thread.
Warnung tritt seit einem Update (ausgeführt diese Woche) in abgewandelter Form auch in meinen Logs auf - allerdings nach dem Start und gerne mal öfters.

2020.03.21 22:10:43 1: PERL WARNING: Use of uninitialized value $ret in numeric le (<=) at FHEM/HttpUtils.pm line 646.
2020.03.21 22:10:43 1: stacktrace:
2020.03.21 22:10:43 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (646)
2020.03.21 22:10:43 1:     main::__ANON__                      called by fhem.pl (763)

Weiß man schon mehr darüber?