From: Andre Noll Date: Wed, 12 Oct 2011 08:26:38 +0000 (+0200) Subject: gsu_getopts: Rename local variable opt to _gsu_getopts_opt. X-Git-Url: http://git.tuebingen.mpg.de/?a=commitdiff_plain;ds=sidebyside;h=f4d2c03b5e733444d1ed925f7bef3d981de27103;p=gsu.git gsu_getopts: Rename local variable opt to _gsu_getopts_opt. As pointed out by Sebastian Stark, calling the loop variable "opt" in code which is supposed to be eval'd by the application may conflict with another local variable of the same name defined in the function which calls gsu_getopt(). This could lead to rather obscure bugs which are hard to detect. The callers don't use this loop variable directly, so we are free to call it whatever we want. Therefore this patch renames $opt to something which is much less likely to cause a conflict. --- diff --git a/misc/gsu/subcommand b/misc/gsu/subcommand index e1130ef..7e706d8 100644 --- a/misc/gsu/subcommand +++ b/misc/gsu/subcommand @@ -351,7 +351,7 @@ gsu_getopts() exit 1 esac done - result="local opt" + result="local _gsu_getopts_opt" for ((i=0; i < ${#1}; i++)); do c1=${1:$i:1} c2=${1:$(($i + 1)):1} @@ -364,8 +364,8 @@ gsu_getopts() done result+=" OPTIND=1 - while getopts $1 opt \"\$@\"; do - case \"\$opt\" in + while getopts $1 _gsu_getopts_opt \"\$@\"; do + case \"\$_gsu_getopts_opt\" in " for ((i=0; i < ${#1}; i++)); do c1=${1:$i:1}