# HG changeset patch # User Pascal Bellard # Date 1307807608 -7200 # Node ID 6390498a6cd159b8ba32872f354bc96fbe50b233 # Parent 1628c6302869ed13d7f9500f23cfbaf8dfec6508 busybox/httpd_helper.sh: normalized variable names diff -r 1628c6302869 -r 6390498a6cd1 busybox/stuff/httpd_helper.sh --- a/busybox/stuff/httpd_helper.sh Sat Jun 11 13:16:57 2011 +0100 +++ b/busybox/stuff/httpd_helper.sh Sat Jun 11 17:53:28 2011 +0200 @@ -75,7 +75,7 @@ names="" IFS="&" for i in $2 ; do - var=${i%%=*} + var=${i%%[^A-Za-z_0-9]*} case " $names " in *\ $var\ *) eval cnt=\$${1}_${var}_count ;; *) cnt=0 @@ -140,6 +140,7 @@ case "$line" in *Content-Disposition*) name=$(echo $line | sed 's/.* name="\([^"]*\)".*$/\1/') + name=${name%%[^A-Za-z_0-9]*} case "$line" in *filename=*) filename=$(echo $line | sed 's/.* filename="\([^"]*\)".*$/\1/') ;; esac ;; @@ -156,13 +157,16 @@ eval FILE_${name}_size=$(stat -c %s $tmp) eval FILE_${name}_type=$type elif [ -n "$name" ]; then - eval var=\$POST_${name} + eval cnt=\$POST_${name}_count + cnt=$(($cnt + 1)) + eval var=\$POST_${name}_$cnt while read line; do [ -n "$var" ] && var="$var " - var="$line" + var="$var$line" done - eval POST_${name}="\$var" + eval POST_${name}_$cnt="\$var" + eval POST_${name}_count=$cnt case " $POST__NAMES " in *\ $name\ *) ;; *) POST__NAMES="$POST__NAMES $name"