Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm

Begonnen von Dr. Boris Neubert, 19 September 2015, 09:13:47

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

als ich gestern meine Internetverbindung voll ausgelastet hatte, kam es zu Verbindungsabbrüchen beim FHEM-Update:

2015.09.18 21:34:06 1: UPD ./CHANGED
2015.09.18 21:34:08 1: UPD ./fhem.pl
2015.09.18 21:34:09 1: UPD FHEM/00_FBAHA.pm
2015.09.18 21:34:11 1: UPD FHEM/00_MAXLAN.pm
2015.09.18 21:34:12 1: UPD FHEM/00_NetzerI2C.pm
2015.09.18 21:34:14 1: UPD FHEM/00_ZWDongle.pm
2015.09.18 21:34:18 1: http://fhem.de/fhemupdate/FHEM/00_ZWDongle.pm: Select timeout/error:
Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm line 65.


Diese Nachricht (mit Crash) bekam ich nochmal beim Herunterladen eines Kalenders durch das Calendar-Modul.

Ich denke, dass die Zeile 65 in HttpUtils.pm

  $hash->{conn}->close() if($hash->{conn});

wie folgt lauten müsste:

  $hash->{conn}->close() if(defined($hash->{conn}));


Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

Habs geaendert und eingecheckt.
Allerdings wird das im Vergleich zum alten Code keinen Unterschied machen, oder ich verstehe perl nicht mehr.

Dr. Boris Neubert

Ich bin ja auch der Meinung, dass if() einen undefinierten Wert wie ein boolesches falsch behandelt. Aber wie sonst erklärt sich die Meldung?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig