Make shell client work in OS X:

- use gnu env for `env -0`,
- use filesystem socket.
This commit is contained in:
Pierre Carru 2014-08-26 10:37:32 +01:00
parent 21b10ee7e1
commit c4aa72fc1f
1 changed files with 12 additions and 2 deletions

View File

@ -1,11 +1,21 @@
#!/bin/sh
test "${OSTYPE#darwin}" = "${OSTYPE}" && darwin=n || darwin=y
if test "$1" = "--socket" ; then
shift
ADDRESS="$1"
shift
else
ADDRESS="powerline-ipc-${UID:-`id -u`}"
test "$darwin" = y && ADDRESS="/tmp/$ADDRESS"
fi
if test "$darwin" = y; then
ENV=genv
else
ENV=env
ADDRESS="abstract-client:$ADDRESS"
fi
# Warning: env -0 does not work in busybox. Consider switching to parsing
@ -16,8 +26,8 @@ fi
printf '%s\0' "$argv"
done
printf '%s\0' "$PWD"
env -0
) | socat -lf/dev/null -t 10 - abstract-client:"$ADDRESS"
$ENV -0
) | socat -lf/dev/null -t 10 - "$ADDRESS"
if test $? -ne 0 ; then
powerline-render "$@"