SVN: rc-scripts/trunk/rc.d/init.d/functions
glen
glen at pld-linux.org
Thu Dec 27 01:52:36 CET 2007
Author: glen
Date: Thu Dec 27 01:52:36 2007
New Revision: 9162
Modified:
rc-scripts/trunk/rc.d/init.d/functions
Log:
- handle when there's no terminal attached (f.e gui tools like smart)
Modified: rc-scripts/trunk/rc.d/init.d/functions
==============================================================================
--- rc-scripts/trunk/rc.d/init.d/functions (original)
+++ rc-scripts/trunk/rc.d/init.d/functions Thu Dec 27 01:52:36 2007
@@ -46,7 +46,6 @@
[ -r /etc/sysconfig/init-colors ] && . /etc/sysconfig/init-colors
[ -r /etc/sysconfig/system ] && . /etc/sysconfig/system
[ -r /etc/sysconfig/bootsplash ] && . /etc/sysconfig/bootsplash
-
[ -z "$COLUMNS" ] && COLUMNS=80
if [ -z "$VSERVER" -o "$VSERVER" = "detect" ]; then
@@ -63,6 +62,11 @@
unset _f _ctx
fi
+# we need to know in functions if we were called from a terminal
+if [ -z "$ISATTY" ]; then
+ [ -t ] && ISATTY=yes || ISATTY=no
+fi
+
is_yes()
{
# Test syntax
@@ -197,6 +201,7 @@
# Colors workaround
termput()
{
+ is_yes "$ISATTY" || return
if is_yes "$FASTRC" || is_no "$TPUT"; then
case "$1" in
@@ -924,9 +929,16 @@
# If we don't, create memory variables and try to save silently,
local cachefile='/var/cache/rc-scripts/msg.cache'
+ local term
+ if is_yes "$ISATTY"; then
+ term=$TERM
+ else
+ term=dumb
+ fi
+
# We create $check variable which is used to invalidate the cache.
# The $check contains user locale and terminal.
- local check="$TERM.$LC_MESSAGES"
+ local check="$term.$LC_MESSAGES"
if [ -f "$cachefile" -a "$cachefile" -nt /etc/sysconfig/system -a "$cachefile" -nt /etc/sysconfig/init-colors ]; then
if . "$cachefile" 2>/dev/null; then
More information about the pld-cvs-commit
mailing list