X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Debian%2FDgit.pm;fp=Debian%2FDgit.pm;h=ba3e6880c55ba1be645b4500344da48ae3d7a77f;hb=8309f23714c0e46e1f6cd94362e57b38ae7db810;hp=edb338ca455a3e9f50405a139518292a1f94931a;hpb=b0f234db94a336e493dea101717fcd9a80a1e1c5;p=dgit.git diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index edb338ca..ba3e6880 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -25,7 +25,7 @@ BEGIN { initdebug enabledebug enabledebuglevel printdebug debugcmd $debugprefix *debuglevel *DEBUG - shellquote printcmd); + shellquote printcmd messagequote); # implicitly uses $main::us %EXPORT_TAGS = ( policyflags => [qw(NOFFCHECK FRESHREPO)] ); @EXPORT_OK = @{ $EXPORT_TAGS{policyflags} }; @@ -73,6 +73,16 @@ sub printdebug { print DEBUG $debugprefix, @_ or die $! if $debuglevel>0; } +sub messagequote ($) { + local ($_) = @_; + s{\\}{\\\\}g; + s{\n}{\\n}g; + s{\x08}{\\b}g; + s{\t}{\\t}g; + s{[\000-\037\177]}{ sprintf "\\x%02x", ord $& }ge; + $_; +} + sub shellquote { my @out; local $_;