testfunc() {
i=1
while :; do
echo "processing part $i" 1>&2
if { LC_ALL=POSIX dd bs=1k count=1 2>&3 >&4; } 3>&1 | grep -qe '^0[+]0 '; then
break
fi
i=$(( i + 1 ))
done 4>&1
}
echo "hello, world" | wc -c
echo "hello, world" | testfunc | wc -c
dGVzdGZ1bmMoKSB7CiAgaT0xCiAgd2hpbGUgOjsgZG8KICAgIGVjaG8gInByb2Nlc3NpbmcgcGFydCAkaSIgMT4mMgogICAgaWYgeyBMQ19BTEw9UE9TSVggZGQgYnM9MWsgY291bnQ9MSAyPiYzID4mNDsgfSAzPiYxIHwgZ3JlcCAtcWUgJ14wWytdMCAnOyB0aGVuCiAgICAgIGJyZWFrCiAgICBmaQogICAgaT0kKCggaSArIDEgKSkKICBkb25lIDQ+JjEKfQoKZWNobyAiaGVsbG8sIHdvcmxkIiB8IHdjIC1jCmVjaG8gImhlbGxvLCB3b3JsZCIgfCB0ZXN0ZnVuYyB8IHdjIC1j