From f4d2c03b5e733444d1ed925f7bef3d981de27103 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Wed, 12 Oct 2011 10:26:38 +0200 Subject: [PATCH] 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. --- misc/gsu/subcommand | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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} -- 2.39.5