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 }