From e659ec5df23dd000978afc122bc24e95b6423901 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Mon, 10 Mar 2014 09:53:52 +0000 Subject: [PATCH] fhem.pl: escapeLogLine from Boris, forum#21232 git-svn-id: https://svn.fhem.de/fhem/trunk@5185 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/fhem.pl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 53e550efd..5d951d0b8 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -90,6 +90,7 @@ sub fhz($); sub getAllGets($); sub getAllSets($); sub latin1ToUtf8($); +sub escapeLogLine($); sub readingsBeginUpdate($); sub readingsBulkUpdate($$$@); sub readingsEndUpdate($$); @@ -3148,6 +3149,13 @@ ReadingsVal($$$) return $default; } +sub +ReadingsNum($$$) +{ + my ($d,$n,$default) = @_; + return ReadingsVal($d,$n,$default)+0; +} + sub ReadingsTimestamp($$$) { @@ -3691,6 +3699,23 @@ utf8ToLatin1($) return $s; } +# replaces some common control chars by escape sequences +# in order to make logs more readable +sub escapeLogLine($) { + my ($s)= @_; + + my %escSequences = ( + '\t' => "\\t", + '\n' => "\\n", + '\r' => "\\r", + ); + + foreach my $regex (keys %escSequences) { + $s =~ s/$regex/$escSequences{$regex}/g; + } + return $s; +} + sub Debug($) { my $msg= shift;