if [[ -z "${BINWALK_PATH}" ]]; then
BINWALK_PATH="$(cd "$(dirname $0)" && pwd)/../target/release/binwalk"
fi
if [[ -z "${RUST_LOG}" ]]; then
export RUST_LOG=info
fi
tmpdir=$(mktemp -d) || exit
trap 'rm -rf "$tmpdir"' EXIT INT TERM HUP
FIFO=$tmpdir/FIFO
mkfifo "$FIFO" || exit
conf=$tmpdir/conf
cat > "$conf" << 'EOF' || exit
split -h
focus
screen -t stderr sh -c 'tty > "$FIFO"; read done < "$FIFO"'
focus
screen -t stdout sh -c 'read tty < "$FIFO"; eval "$CMD" 2> "$tty"; echo "[Command exited with status $?, press enter to exit]"; read prompt; echo done > "$FIFO"'
EOF
CMD="$BINWALK_PATH $*"
export FIFO CMD
screen -mc "$conf"