diff options
| author | Igor Burago <igor@igorburago.com> | 2023-12-18 15:12:48 +0800 |
|---|---|---|
| committer | Dan Cross <crossd@gmail.com> | 2023-12-18 10:10:55 -0500 |
| commit | 0bc1ff0fa0c68da2031c5c92768a150a35294b80 (patch) | |
| tree | 1852359c6bcf56aefa9f54d4420b613a86f39a2e /bin/9l | |
| parent | 984c2824e3569479bace65bdaf9e78a2eb36dd58 (diff) | |
| download | plan9port-0bc1ff0fa0c68da2031c5c92768a150a35294b80.tar.gz plan9port-0bc1ff0fa0c68da2031c5c92768a150a35294b80.zip | |
9l: refactor the warning-silencing mechanics to match that of 9c
Diffstat (limited to 'bin/9l')
| -rwxr-xr-x | bin/9l | 35 |
1 files changed, 20 insertions, 15 deletions
@@ -2,7 +2,7 @@ [ "$1" = "" ] && exit 1 -test -f $PLAN9/config && . $PLAN9/config +test -f "$PLAN9/config" && . "$PLAN9/config" libsl="" frameworks="" doautolib=true @@ -324,23 +324,28 @@ esac if $verbose then - echo $ld -L$PLAN9/lib "$@" $libsl $extralibs $frameworks + echo $ld -L"$PLAN9/lib" "$@" $libsl $extralibs $frameworks fi -xtmp="${TMPDIR-/tmp}/9l.$$.$USER.out" -xxout() { - sed 's/.*: In function `[^:]*: *//' $xtmp | egrep . | - egrep -v 'is (often|almost always) misused|is dangerous, better use|text-based stub' - rm -f $xtmp +quiet() +{ + ignore='^$' + ignore=$ignore'|is (often|almost always) misused' + ignore=$ignore'|is dangerous, better use' + ignore=$ignore'|text-based stub' + + sed 's/.*: In function `[^:]*: *//' "$1" | + egrep -v "$ignore" } -if $ld -L$PLAN9/lib "$@" $libsl $extralibs $frameworks >$xtmp 2>&1 +# Must use temp file to avoid pipe; pipe loses status. +xtmp=${TMPDIR-/tmp}/9l.$$.$USER.out +$ld -L"$PLAN9/lib" "$@" $libsl $extralibs $frameworks >"$xtmp" 2>&1 +status=$? +quiet "$xtmp" +rm -f "$xtmp" +if [ "$status" -ne 0 ] then - xxout - exit 0 -else - xxout - rm -f $target - exit 1 + rm -f "$target" fi - +exit $status |
