subcommand: Move up gsu_getopts().
[gsu.git] / config
diff --git a/config b/config
index 09330f3..34352e2 100644 (file)
--- a/config
+++ b/config
@@ -1,4 +1,6 @@
 #!/bin/bash
+# Copyright (C) 2006 Andre Noll
+# Licensed under the LGPL, version 3. See COPYING and COPYING.LESSER.
 
 # Syntactically check the gsu_options array for errors and parse the config
 # file.
@@ -27,7 +29,7 @@ gsu_check_options()
                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
+               (($? != 0)) && return
 
                eval orig_val='"'\$orig_${gsu_config_var_prefix}_$name'"'
                if [[ -z "$orig_val" ]]; then
@@ -57,7 +59,7 @@ gsu_check_options()
                        ;;
                num)
                        gsu_is_a_number "$val"
-                       [[ $ret -lt 0 ]] && return
+                       (($ret < 0)) && return
                        ;;
                *)
                        ret=-$E_GSU_BAD_OPTION_TYPE
@@ -79,7 +81,7 @@ gsu_check_options_or_die()
 }
 
 if [[ "$(type -t _gsu_setup)" != "function" ]]; then
-       gsu_dir=${gsu_dir:=${HOME:-}/.gsu}
+       gsu_dir=${gsu_dir:-${BASH_SOURCE[0]%/*}}
        . $gsu_dir/common || exit 1
        _gsu_setup
 fi