When using the `read` builtin to split newlines in e* function arguments, use
authorZac Medico <zmedico@gentoo.org>
Fri, 7 Nov 2008 16:56:04 +0000 (16:56 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 7 Nov 2008 16:56:04 +0000 (16:56 -0000)
$REPLY in order to ensure that whitespace in each line is correctly preserved.
Thanks to Joe Peterson <lavajoe@g.o> for reporting.

svn path=/main/trunk/; revision=11820

bin/isolated-functions.sh

index bb56ca1a8749cd20fd6c8029619db6f10a82bed4..768baf612685c99a41bac4d1702c127716cd67a8 100755 (executable)
@@ -170,8 +170,8 @@ elog_base() {
                        return 1
                        ;;
        esac
-       echo -e "$@" | while read line ; do
-               echo "${messagetype} ${line}" >> \
+       echo -e "$@" | while read ; do
+               echo "$messagetype $REPLY" >> \
                        "${T}/logging/${EBUILD_PHASE:-other}"
        done
        return 0
@@ -180,8 +180,8 @@ elog_base() {
 eqawarn() {
        elog_base QA "$*"
        [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-       echo -e "$@" | while read line ; do
-               vecho -e " ${WARN}*${NORMAL} ${line}" >&2
+       echo -e "$@" | while read ; do
+               vecho -e " $WARN*$NORMAL $REPLY" >&2
        done
        LAST_E_CMD="eqawarn"
        return 0
@@ -190,8 +190,8 @@ eqawarn() {
 elog() {
        elog_base LOG "$*"
        [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-       echo -e "$@" | while read line ; do
-               echo -e " ${GOOD}*${NORMAL} ${line}"
+       echo -e "$@" | while read ; do
+               echo -e " $GOOD*$NORMAL $REPLY"
        done
        LAST_E_CMD="elog"
        return 0
@@ -218,8 +218,8 @@ esyslog() {
 einfo() {
        elog_base INFO "$*"
        [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-       echo -e "$@" | while read line ; do
-               echo -e " ${GOOD}*${NORMAL} ${line}"
+       echo -e "$@" | while read ; do
+               echo -e " $GOOD*$NORMAL $REPLY"
        done
        LAST_E_CMD="einfo"
        return 0
@@ -236,8 +236,8 @@ einfon() {
 ewarn() {
        elog_base WARN "$*"
        [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-       echo -e "$@" | while read line ; do
-               echo -e " ${WARN}*${NORMAL} ${RC_INDENTATION}${line}" >&2
+       echo -e "$@" | while read ; do
+               echo -e " $WARN*$NORMAL $RC_INDENTATION$REPLY" >&2
        done
        LAST_E_CMD="ewarn"
        return 0
@@ -246,8 +246,8 @@ ewarn() {
 eerror() {
        elog_base ERROR "$*"
        [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-       echo -e "$@" | while read line ; do
-               echo -e " ${BAD}*${NORMAL} ${RC_INDENTATION}${line}" >&2
+       echo -e "$@" | while read ; do
+               echo -e " $BAD*$NORMAL $RC_INDENTATION$REPLY" >&2
        done
        LAST_E_CMD="eerror"
        return 0