- ret=`( . $scriptdir/$suffix $file )`
- retcode="$?"
- warnings=`echo $ret | grep -e "^Warning: " | wc -l`
- errors=`echo $ret | grep -e "^Error: \|^Fatal: " | wc -l`
- if [ $errors != 0 ]; then
+ local bufferfile="/tmp/backupninja.buffer.$$"
+ echo "" > $bufferfile
+ echo_debug_msg=1
+ (
+ . $scriptdir/$suffix $file
+ ) 2>&1 | (
+ while read a; do
+ echo $a >> $bufferfile
+ [ $debug ] && colorize "$a"
+ done
+ )
+ retcode=$?
+ # ^^^^^^^^ we have a problem! we can't grab the return code "$?". grrr.
+ echo_debug_msg=0
+
+ _warnings=`cat $bufferfile | grep "^Warning: " | wc -l`
+ _errors=`cat $bufferfile | grep "^Error: " | wc -l`
+ _fatals=`cat $bufferfile | grep "^Fatal: " | wc -l`
+
+ ret=`grep "\(^Warning: \|^Error: \|^Fatal: \)" $bufferfile`
+ rm $bufferfile
+ if [ $_fatals != 0 ]; then