Dont rely on env -0 in zsh
zsh outputs env vars in a nice one per line format using $'' encoding. So exploit it
This commit is contained in:
parent
b866c3e783
commit
4cf54d2dfb
@ -356,7 +356,7 @@ _ksi_deferred_init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clone-in-kitty() {
|
clone-in-kitty() {
|
||||||
builtin local data="pid=$$,cwd=$(builtin printf "%s" "$PWD" | builtin command base64),env=$(builtin command env -0 | builtin command base64)"
|
builtin local data="pid=$$,cwd=$(builtin printf "%s" "$PWD" | builtin command base64)"
|
||||||
while :; do
|
while :; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"") break;;
|
"") break;;
|
||||||
@ -368,6 +368,16 @@ clone-in-kitty() {
|
|||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
builtin local env
|
||||||
|
builtin local env_vars
|
||||||
|
builtin local varname
|
||||||
|
env_vars=(${(f)"$(builtin export)"})
|
||||||
|
for i in $env_vars; do
|
||||||
|
varname="${i%%=*}"
|
||||||
|
env="${env}$(builtin printf "%s=%s\0" "$varname" "${(P)varname}")"
|
||||||
|
done
|
||||||
|
data="$data,env=$(builtin printf "%s" "$env" | builtin command base64)"
|
||||||
|
|
||||||
data="${data//[[:space:]]}"
|
data="${data//[[:space:]]}"
|
||||||
builtin local pos=0
|
builtin local pos=0
|
||||||
builtin local chunk_num=0
|
builtin local chunk_num=0
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user