+makefifo () { # usage: makefifo name owner group mode
+ if [ "$opt_v" ]
+ then if [ "$opt_d" ]
+ then echo "delete $1"
+ else echo "create $1 $2:$3 $4"
+ fi
+ fi
+ # missing parameters are a bug - bail - should we do an exit 1 here?
+ case :$1:$2:$3:$4: in
+ *::*) echo "Warning: MAKEFIFO $@ is missing parameter(s)." >&2;;
+ esac
+ if [ ! "$opt_n" ]
+ then
+ if [ "$opt_d" ]
+ then
+ rm -f $1
+ else
+ rm -f $1-
+ if mknod $1- p &&
+ chown $2:$3 $1- &&
+ chmod $4 $1- &&
+ mv $1- $1
+ then
+ : # it worked
+ else
+ # Didn't work, clean up any mess...
+ echo "makefifo $@: failed"
+ rm -f $1-
+ fi
+ fi
+ fi
+}