aboutsummaryrefslogtreecommitdiffstats
path: root/awklib/eg/lib/shellquote.awk
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2014-11-03 14:40:38 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2014-11-03 14:40:38 -0500
commit6a9d48365f5044b64a6c270760808d17d475ca4b (patch)
treed612b2410fe9af333a79e524f5e5102f9754feed /awklib/eg/lib/shellquote.awk
parentb4d06df669e1eaf6c98cacb5c5f299bb5324e804 (diff)
parent204bec7af64c61489e37007d45de936482007977 (diff)
downloadegawk-6a9d48365f5044b64a6c270760808d17d475ca4b.tar.gz
egawk-6a9d48365f5044b64a6c270760808d17d475ca4b.tar.bz2
egawk-6a9d48365f5044b64a6c270760808d17d475ca4b.zip
Merge remote-tracking branch 'origin/master' into select
Diffstat (limited to 'awklib/eg/lib/shellquote.awk')
-rw-r--r--awklib/eg/lib/shellquote.awk22
1 files changed, 22 insertions, 0 deletions
diff --git a/awklib/eg/lib/shellquote.awk b/awklib/eg/lib/shellquote.awk
new file mode 100644
index 00000000..cd943dc7
--- /dev/null
+++ b/awklib/eg/lib/shellquote.awk
@@ -0,0 +1,22 @@
+# shell_quote --- quote an argument for passing to the shell
+#
+# Michael Brennan
+# brennan@madronabluff.com
+# September 2014
+
+function shell_quote(s, # parameter
+ SINGLE, QSINGLE, i, X, n, ret) # locals
+{
+ if (s == "")
+ return "\"\""
+
+ SINGLE = "\x27" # single quote
+ QSINGLE = "\"\x27\""
+ n = split(s, X, SINGLE)
+
+ ret = SINGLE X[1] SINGLE
+ for (i = 2; i <= n; i++)
+ ret = ret QSINGLE SINGLE X[i] SINGLE
+
+ return ret
+}