From 0abdf9eeffa5cd7d1045ac42ed67a8c0113e1f66 Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 20 Nov 2014 13:53:24 +0800 Subject: [PATCH] __fish_urlencode: rework to behave properly on BSD/OS X Work on #68. --- share/functions/__fish_urlencode.fish | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/share/functions/__fish_urlencode.fish b/share/functions/__fish_urlencode.fish index ebf5ba5df..ab13beaa6 100644 --- a/share/functions/__fish_urlencode.fish +++ b/share/functions/__fish_urlencode.fish @@ -1,9 +1,10 @@ function __fish_urlencode --description "URL-encode stdin" - while read f - set lines (echo "$f" | sed -E -e 's/./\n\\0/g;/^$/d;s/\n//') + set -l IFS '' + set -l output + while read --array --local lines if [ (count $lines) -gt 0 ] - printf '%%%02x' "'"$lines"'" | sed -e 's/%2[fF]/\//g'; + set output $output (printf '%%%02x' "'"$lines"'" | sed -e 's/%2[fF]/\//g') end end - echo + echo -s $output end