summaryrefslogtreecommitdiffstats
path: root/bin/isolated-functions.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/isolated-functions.sh')
-rwxr-xr-xbin/isolated-functions.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 6faa5d656..4de6f8503 100755
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -158,7 +158,7 @@ vecho() {
# Internal logging function, don't use this in ebuilds
elog_base() {
- local messagetype
+ local line messagetype
[ -z "${1}" -o -z "${T}" -o ! -d "${T}/logging" ] && return 1
case "${1}" in
INFO|WARN|ERROR|LOG|QA)
@@ -170,7 +170,13 @@ elog_base() {
return 1
;;
esac
- echo -ne "${messagetype} $*\n\0" >> "${T}/logging/${EBUILD_PHASE:-other}"
+ save_IFS
+ IFS=$'\n'
+ for line in $* ; do
+ echo -ne "${messagetype} ${line}\n\0" >> \
+ "${T}/logging/${EBUILD_PHASE:-other}"
+ done
+ restore_IFS
return 0
}