From 64def786457d65fb41822ad0bcf9bc602f06ddaa Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Thu, 16 Feb 2012 17:28:19 +0200 Subject: [PATCH] inproved -1counter function --- func/shared.func | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/func/shared.func b/func/shared.func index 7e215ae56..f5eec2713 100644 --- a/func/shared.func +++ b/func/shared.func @@ -730,29 +730,22 @@ is_type_valid() { decrease_user_value() { USER="$1" - key="$2" - conf="$V_USERS/$USER/user.conf" - - # Deleting $ - key=$(echo "${key//$/}") + key="${2//$}" # Parsing current value - current_value=$(grep "$key=" $conf |cut -f 2 -d \') - - # Checking result - if [ -z "$current_value" ]; then - echo "Error: Parsing error" - log_event 'debug' "$E_PARSING $V_EVENT" - exit $E_PARSING + conf="$V_USERS/$USER/user.conf" + old=$(grep "$key=" $conf | cut -f 2 -d \') + if [ -z "$old" ]; then + old=0 fi - # Checking zero val - if [ "$current_value" -gt 0 ]; then - # Minus one - new_value=$(expr $current_value - 1 ) - # Changing config - sed -i "s/$key='$current_value'/$key='$new_value'/g" $conf + # Decreasing + if [ "$old" -le 1 ]; then + new=0 + else + new=$((old - 1 )) fi + sed -i "s/$key='$old'/$key='$new'/g" $conf }