summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/bin/debconf-escape
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/bin/debconf-escape')
-rwxr-xr-xbeagle/debian-rfs/usr/bin/debconf-escape47
1 files changed, 47 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/bin/debconf-escape b/beagle/debian-rfs/usr/bin/debconf-escape
new file mode 100755
index 0000000..fdff906
--- /dev/null
+++ b/beagle/debian-rfs/usr/bin/debconf-escape
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+# This file was preprocessed, do not edit!
+
+
+use strict;
+use Getopt::Long;
+
+use vars qw($escape $unescape);
+
+sub usage {
+ print STDERR <<EOF;
+Usage: debconf-unescape -e|-u < input-text
+ -e, --escape escape text
+ -u, --unescape unescape text
+
+Exactly one of -e or -u must be used.
+EOF
+ exit(1);
+}
+
+$escape=0;
+$unescape=0;
+
+GetOptions(
+ "escape|e" => \$escape,
+ "unescape|u" => \$unescape,
+) || usage();
+
+if ($escape == $unescape) {
+ usage();
+}
+
+if ($escape) {
+ while (<>) {
+ s/\\/\\\\/g;
+ s/\n/\\n/g;
+ print;
+ }
+} else {
+ while (<>) {
+ for (split /(\\.)/) {
+ s/\\(.)/$1 eq "n" ? "\n" : $1/eg;
+ print;
+ }
+ }
+}
+