exit 1
fi
-if [ ! -e "$1" ] ; then
- helpers_die "!!! ${helper}: $1 does not exist"
- exit 1
-fi
-
(($#>2)) && \
eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${@:3}"
-cp_args="-f"
-if [[ ${helper} == newins ]] ; then
- case "${EAPI}" in
- 0|1|2|3)
- ;;
- *)
- cp_args+=" -P"
- ;;
- esac
+stdin=
+case ${EAPI} in
+ 0|1|2|3|4|4-python|4-slot-abi) ;;
+ *) [[ $1 = "-" ]] && stdin=yes ;;
+ esac
+
+rm -rf "${T}/$2"
+
+if [[ ${stdin} ]] ; then
+ if [[ -t 0 ]] ; then
+ helpers_die "!!! ${helper}: Input is from a terminal"
+ exit 1
+ fi
+ cat > "${T}/$2"
+ ret=$?
+else
+ if [[ ! -e $1 ]] ; then
+ helpers_die "!!! ${helper}: $1 does not exist"
+ exit 1
+ fi
+
+ cp_args="-f"
+ if [[ ${helper} == newins ]] ; then
+ case "${EAPI}" in
+ 0|1|2|3)
+ ;;
+ *)
+ cp_args+=" -P"
+ ;;
+ esac
+ fi
+
+ cp ${cp_args} "$1" "${T}/$2"
+ ret=$?
+fi
+
+if [[ ${ret} -ne 0 ]] ; then
+ helpers_die "${0##*/} failed"
+ exit ${ret}
fi
-rm -rf "${T}/$2" && \
-cp ${cp_args} "$1" "${T}/$2" && \
do${helper#new} "${T}/$2"
ret=$?
rm -rf "${T}/${2}"