From 4c4e623e7bca97c49b8d900658dbf66c2ac82064 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 16 Aug 2015 10:43:51 +0000 Subject: [PATCH] fhem.pl/01_FHEMWEB.pm: avoid adding a NL when saving .PNG (binary). For the hs-harz student project. git-svn-id: https://svn.fhem.de/fhem/trunk@9079 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 11 +++++++++-- fhem/fhem.pl | 6 ++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index ecf443924..2a1b7c8fe 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -1846,12 +1846,19 @@ FW_style($$) if($FW_webArgs{saveAs} && $FW_webArgs{saveName}); $fileName =~ s,.*/,,g; # Little bit of security my $filePath = FW_fileNameToPath($fileName); - my $isImg = ($fileName =~ m,\.(svg|png)$,); + my $isImg = ($fileName =~ m,\.(svg|png)$,i); my $forceType = ($cfgDB eq 'configDB' && !$isImg) ? $cfgDB : "file"; $FW_data =~ s/\r//g if(!$isImg); - my $err = FileWrite({FileName=>$filePath, ForceType=>$forceType}, + my $err; + if($fileName =~ m,\.png$,) { + $err = FileWrite({FileName=>$filePath,ForceType=>$forceType,NoNL=>1}, + $FW_data); + } else { + $err = FileWrite({ FileName=>$filePath, ForceType=>$forceType }, split("\n", $FW_data)); + } + if($err) { FW_pO "
$filePath: $!
"; return; diff --git a/fhem/fhem.pl b/fhem/fhem.pl index de9f8e417..8237866d3 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -4196,13 +4196,15 @@ sub FileWrite($@) { my ($param, @rows) = @_; - my ($err, @ret, $fileName, $forceType); + my ($err, @ret, $fileName, $forceType, $nl); if(ref($param) eq "HASH") { $fileName = $param->{FileName}; $forceType = $param->{ForceType}; + $nl = $param->{NoNL} ? "" : "\n"; } else { $fileName = $param; + $nl = "\n"; } $forceType = "" if(!defined($forceType)); @@ -4213,7 +4215,7 @@ FileWrite($@) if(open(FH, ">$fileName")) { binmode (FH); foreach my $l (@rows) { - print FH $l,"\n"; + print FH $l,$nl; } close(FH); return undef;