X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=misc%2Fgsu%2Fconfig;fp=misc%2Fgsu%2Fconfig;h=0000000000000000000000000000000000000000;hb=f31cc416b1acdbb8f5703b208d943ce500a5b840;hp=09330f355cc5b16d8cb0288760f3c620f92c65ef;hpb=1098785778a242838668df8c45f4a07d1690b06c;p=gsu.git diff --git a/misc/gsu/config b/misc/gsu/config deleted file mode 100644 index 09330f3..0000000 --- a/misc/gsu/config +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -# Syntactically check the gsu_options array for errors and parse the config -# file. -gsu_check_options() -{ - local i conf="${gsu_config_file:=${HOME:-}/.$gsu_name.rc}" val - - for ((i=0; i < ${#gsu_options[@]}; i++)); do - eval "${gsu_options[$i]}" - eval val='"'\${${name}:-}'"' - eval orig_${gsu_config_var_prefix}_$name='"'${val}'"' - done - - [[ -r "$conf" ]] && source "$conf" - - for ((i=0; i < ${#gsu_options[@]}; i++)); do - local name= option_type= default_value= required= - local description= help_text= - local val orig_val - - eval "${gsu_options[$i]}" - - # Check name. It must be non-empty and consist of [a-zA-Z_0-9] - # only. Moreover it must not start with [a-zA-Z]. - ret=-$E_GSU_BAD_CONFIG_VAR - result="name: '$name'" - # bash's =~ works only for 3.2 and newer, so use grep - echo "$name" | grep '^[a-zA-Z][a-zA-Z_0123456789]*$' &> /dev/null; - [[ $? -ne 0 ]] && return - - eval orig_val='"'\$orig_${gsu_config_var_prefix}_$name'"' - if [[ -z "$orig_val" ]]; then - eval val='"'\${$name:-}'"' - else - val="$orig_val" - fi - case "$required" in - true|yes) - ret=-$E_GSU_NEED_VALUE - result="$name" - [[ -z "$val" ]] && return - ;; - false|no) - ;; - *) - ret=-$E_GSU_BAD_BOOL - result="required: $required, name: $name, val: $val" - return - esac - - eval ${gsu_config_var_prefix}_$name='"'\${val:="$default_value"}'"' - # Check option type. ATM, only num and string are supported - # Other types may be added without breaking compatibility - case "$option_type" in - string) - ;; - num) - gsu_is_a_number "$val" - [[ $ret -lt 0 ]] && return - ;; - *) - ret=-$E_GSU_BAD_OPTION_TYPE - result="$name/$option_type" - return - esac - done - ret=$GSU_SUCCESS -} - -# Call gsu_check_options(), die on errors. -gsu_check_options_or_die() -{ - gsu_check_options - if (($ret < 0)); then - gsu_err_msg - exit 1 - fi -} - -if [[ "$(type -t _gsu_setup)" != "function" ]]; then - gsu_dir=${gsu_dir:=${HOME:-}/.gsu} - . $gsu_dir/common || exit 1 - _gsu_setup -fi