OK. Now i changed some of these as suggested by Tom and also dropped the status() redirection thing and the is_array() replacement. (Good point about the redirection error not catched!) Furthermore i added rc.sysinit: Remove unneeded variables initializations (as suggested) and at the end some new ones. Kurt J. Bosch (20): functions/rc.single: Clean up whitespace rc.sysinit: Fix stat_busy block indentation functions: Get rid of superfluous braces in udevd_modprobe() functions: Add missing quotes in mount_all() functions/rc.multi: Strip paths from binaries Refactor kill_everything, fsck_all and mount_all code rc.sysinit: Declare $FORCEFSCK read-only functions/rc.sysinit: Refactor fsck-redirection to prevent breakage rc.sysinit: Remove unneeded variables initializations functions: Make status() return the actual exit code Deprecate in_array() functions: Speed up reboot/shutdown by recognizing killall5 exit code 2 netfs: cleanup whitespace netfs: Strip paths from binaries netfs: Refactor to provide meaningful exit code functions/netfs: Refactor filesystem type lists and $NETFS rc.sysinit: Simplify /var/run/daemons workaround rc.sysinit: Make Removing Leftover Files more smart rc.single: Remove $PATH assignment Catch all errors within status blocks functions | 126 ++++++++++++++++++++++++++++++++--------------------------- netfs | 29 ++++--------- rc.multi | 2 +- rc.shutdown | 10 ++++- rc.single | 15 +++++-- rc.sysinit | 77 +++++++++++++++++++++++------------- 6 files changed, 147 insertions(+), 112 deletions(-)