diff options
author | tv <tv@shackspace.de> | 2015-03-17 07:47:09 +0100 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-05-19 23:10:57 +0200 |
commit | a59c2b3e03c651bda205de432a074debbf126300 (patch) | |
tree | 6f15d4a090b495b0cc248d63c71b0a869afc7acf /lib | |
parent | 3867e1866a24ce29908dedfee534bbfe93a90c11 (diff) |
lib shell-escape: use builtins.match
Diffstat (limited to 'lib')
-rw-r--r-- | lib/default.nix | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/default.nix b/lib/default.nix index c1663a7b8..995e3dbcd 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -40,5 +40,12 @@ in #setToList = setMap (_: v: v); shell-escape = - stringAsChars (c: if c == "\n" then ''"${c}"'' else "\\${c}"); + let + isSafeChar = c: match "[-./0-9_a-zA-Z]" c != null; + in + stringAsChars (c: + if isSafeChar c then c + else if c == "\n" then "'\n'" + else "\\${c}"); + } |