Skip to content

Commit 22b3762

Browse files
committed
shellcheck: add missing quotes
1 parent 2387136 commit 22b3762

2 files changed

Lines changed: 36 additions & 37 deletions

File tree

msvs-detect

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ find_in ()
7474
if [[ -z $1 ]] ; then
7575
STATUS=1
7676
else
77-
IFS=*
77+
IFS='*'
7878
STATUS=1
79-
for f in $1; do
79+
for f in $1; do
8080
if [[ -e "$f/$2" ]] ; then
8181
STATUS=0
8282
break
@@ -140,7 +140,7 @@ check_environment ()
140140
ASSEMBLER=${ASSEMBLER%86}.exe
141141
if [[ $ML_REQUIRED -eq 1 ]] ; then
142142
RET=0
143-
find_in "$1" $ASSEMBLER
143+
find_in "$1" "$ASSEMBLER"
144144
if [[ $RET -gt 0 ]] ; then
145145
warning "Microsoft Assembler ($ASSEMBLER) not found - $4 ($5)"
146146
return 1
@@ -164,7 +164,7 @@ check_environment ()
164164
# value (i.e. no change) is output.
165165
output ()
166166
{
167-
if [[ $3 = $ENV_ARCH ]] ; then
167+
if [[ $3 = "$ENV_ARCH" ]] ; then
168168
VALUE=
169169
else
170170
VALUE=$2
@@ -574,7 +574,7 @@ if [[ $SCAN_ENV -eq 1 ]] ; then
574574
ENV_cl=${ENV_CL,,}
575575
ENV_cl=${ENV_cl/bin\/*_/bin\/}
576576
debug "Environment appears to include a compiler at $ENV_CL"
577-
if [[ -n $TARGET_ARCH && $TARGET_ARCH != $ENV_ARCH ]] ; then
577+
if [[ -n $TARGET_ARCH && $TARGET_ARCH != "$ENV_ARCH" ]] ; then
578578
debug "But architecture doesn't match required value"
579579
unset ENV_ARCH
580580
fi
@@ -608,15 +608,15 @@ declare -A COMPILER
608608

609609
# Scan the registry for compiler package (vswhere is later)
610610
for i in "${!COMPILERS[@]}" ; do
611-
eval COMPILER=${COMPILERS[$i]}
611+
eval COMPILER="${COMPILERS[$i]}"
612612

613613
if [[ -n ${COMPILER["ENV"]+x} ]] ; then
614614
# Visual Studio package - test for its environment variable
615615
ENV=VS${COMPILER["ENV"]}COMNTOOLS
616616
if [[ -n ${!ENV+x} ]] ; then
617617
debug "$ENV is a candidate"
618618
TEST_PATH=${!ENV%\"}
619-
TEST_PATH=$(cygpath -u -f - <<< ${TEST_PATH#\"})
619+
TEST_PATH=$(cygpath -u -f - <<< "${TEST_PATH#\\\"}")
620620
if [[ -e $TEST_PATH/vsvars32.bat ]] ; then
621621
debug "Directory pointed to by $ENV contains vsvars32.bat"
622622
EXPRESS=0
@@ -690,7 +690,7 @@ for i in $(reg query "$SDK_ROOT" 2>/dev/null | tr -d '\r' | sed -ne '/Windows\\v
690690
warning "SDK $i is not known to this script - assuming compatibility"
691691
DISPLAY="Windows SDK $i"
692692
else
693-
eval COMPILER=${COMPILERS["SDK${i#v}"]}
693+
eval COMPILER="${COMPILERS[SDK${i#v}]}"
694694
DISPLAY=${COMPILER['NAME']}
695695
fi
696696
RESULT=${COMPILERS['SDK']%)}
@@ -706,10 +706,10 @@ for i in $(reg query "$SDK_ROOT" 2>/dev/null | tr -d '\r' | sed -ne '/Windows\\v
706706
done
707707
708708
# Now enumerate Visual Studio 2017+ instances
709-
VSWHERE=$(dirname $(realpath $0))/vswhere.exe
709+
VSWHERE=$(dirname "$(realpath "$0")")/vswhere.exe
710710
if [[ ! -x $VSWHERE ]] ; then
711711
VSWHERE="$(printenv 'ProgramFiles(x86)')\\Microsoft Visual Studio\\Installer\\vswhere.exe"
712-
VSWHERE=$(echo $VSWHERE| cygpath -f -)
712+
VSWHERE=$(echo "$VSWHERE" | cygpath -f -)
713713
fi
714714
if [[ -x $VSWHERE ]] ; then
715715
debug "$VSWHERE found"
@@ -726,7 +726,7 @@ if [[ -x $VSWHERE ]] ; then
726726
displayName)
727727
INSTANCE_NAME=${line#*: }
728728
debug "Looking at $INSTANCE in $INSTANCE_PATH ($INSTANCE_VER $INSTANCE_NAME)"
729-
if [[ -e "$(echo $INSTANCE_PATH| cygpath -f -)/VC/Auxiliary/Build/vcvarsall.bat" ]] ; then
729+
if [[ -e "$(echo "$INSTANCE_PATH" | cygpath -f -)/VC/Auxiliary/Build/vcvarsall.bat" ]] ; then
730730
debug "vcvarsall.bat found"
731731
FOUND+=(["VS$INSTANCE_VER"]="([\"DISPLAY\"]=\"$INSTANCE_NAME\" [\"ARCH\"]=\"x86 x64\" [\"SETENV\"]=\"$INSTANCE_PATH\\VC\\Auxiliary\\Build\\vcvarsall.bat\" [\"SETENV_RELEASE\"]=\"\")")
732732
else
@@ -779,14 +779,14 @@ for i in $MSVS_PREFERENCE ; do
779779
else
780780
if [[ -n ${COMPILERS[$i]+x} || -n ${COMPILERS[${i%.*}.*]+x} ]] ; then
781781
if [[ -n ${CANDIDATES[$i]+x} ]] ; then
782-
unset CANDIDATES[$i]
783-
TEST+=($i)
784-
PREFERENCE+=($i)
782+
unset "CANDIDATES[$i]"
783+
TEST+=("$i")
784+
PREFERENCE+=("$i")
785785
elif [[ ${i#*.} = "*" ]] ; then
786786
INSTANCES=
787787
for j in "${!CANDIDATES[@]}" ; do
788-
if [[ "${j%.*}.*" = $i ]] ; then
789-
unset CANDIDATES[$j]
788+
if [[ "${j%.*}.*" = "$i" ]] ; then
789+
unset "CANDIDATES[$j]"
790790
INSTANCES="$INSTANCES $j"
791791
fi
792792
done
@@ -802,10 +802,10 @@ for i in $MSVS_PREFERENCE ; do
802802
fi
803803
SDKS=
804804
for j in "${!COMPILERS[@]}" ; do
805-
eval COMPILER=${COMPILERS[$j]}
805+
eval COMPILER="${COMPILERS[$j]}"
806806
if [[ -n ${COMPILER["VC_VER"]}+x ]] ; then
807-
if [[ $i = ${COMPILER["VC_VER"]} && -n ${CANDIDATES[$j]+x} ]] ; then
808-
unset CANDIDATES[$j]
807+
if [[ $i = "${COMPILER[VC_VER]}" && -n ${CANDIDATES[$j]+x} ]] ; then
808+
unset CANDIDATES["$j"]
809809
SDKS="$j $SDKS"
810810
fi
811811
fi
@@ -823,9 +823,9 @@ done
823823
# them from FOUND so that they don't accidentally get reported on later.
824824
for i in "${!CANDIDATES[@]}" ; do
825825
if [[ $PREFER_ENV -eq 1 ]] ; then
826-
TEST+=($i)
826+
TEST+=("$i")
827827
else
828-
unset FOUND[$i]
828+
unset "FOUND[$i]"
829829
fi
830830
done
831831
@@ -856,16 +856,16 @@ declare -A ARCHINFO
856856
857857
for i in "${TEST[@]}" ; do
858858
CURRENT=${FOUND[$i]}
859-
eval COMPILER=$CURRENT
859+
eval COMPILER="$CURRENT"
860860
# At the end of this process, the keys of FOUND will be augmented with the architecture found in
861861
# each case (so if "VS14.0" was in FOUND from the scan and both the x86 and x64 compilers are
862862
# valid, then at the end of this loop FOUND will contain "VS14.0-x86" and "VS14.0-x64").
863-
unset FOUND[$i]
863+
unset "FOUND[$i]"
864864
865865
if [[ ${COMPILER["IS_EXPRESS"]}0 -gt 0 && -n ${COMPILER["EXPRESS_ARCH_SWITCHES"]+x} ]] ; then
866-
eval ARCHINFO=${COMPILER["EXPRESS_ARCH_SWITCHES"]}
866+
eval ARCHINFO="${COMPILER[EXPRESS_ARCH_SWITCHES]}"
867867
elif [[ -n ${COMPILER["ARCH_SWITCHES"]+x} ]] ; then
868-
eval ARCHINFO=${COMPILER["ARCH_SWITCHES"]}
868+
eval ARCHINFO="${COMPILER[ARCH_SWITCHES]}"
869869
else
870870
ARCHINFO=()
871871
fi
@@ -878,10 +878,10 @@ for i in "${TEST[@]}" ; do
878878
ENV=${!ENV%\"}
879879
ENV=${ENV#\"}
880880
if [[ ${COMPILER["ENV"]}0 -ge 800 ]] ; then
881-
SCRIPT="$(cygpath -d -f - <<< $ENV)\\..\\..\\VC\\vcvarsall.bat"
881+
SCRIPT="$(cygpath -d -f - <<< "$ENV")\\..\\..\\VC\\vcvarsall.bat"
882882
SCRIPT_SWITCHES=
883883
else
884-
SCRIPT="$(cygpath -d -f - <<< $ENV)\\vsvars32.bat"
884+
SCRIPT="$(cygpath -d -f - <<< "$ENV")\\vsvars32.bat"
885885
SCRIPT_SWITCHES=
886886
fi
887887
else
@@ -937,7 +937,7 @@ for i in "${TEST[@]}" ; do
937937
EXEC_SCRIPT="$(basename "$SCRIPT") $ARCH_SWITCHES $SCRIPT_SWITCHES" \
938938
$(cygpath "$COMSPEC") ${SWITCH_PREFIX}v:on ${SWITCH_PREFIX}c $COMMAND 2>/dev/null | fgrep XMARKER -A 3 | tr -d '\015' | tail -3)
939939
if [[ $DEBUG -gt 3 ]] ; then
940-
echo done>&2
940+
echo 'done'>&2
941941
fi
942942
943943
if [[ -n $MSVS_PATH ]] ; then
@@ -959,13 +959,13 @@ for i in "${TEST[@]}" ; do
959959
if [[ ${i/.*/} = "VS7" ]] ; then
960960
find_in "${MSVS_PATH//:/*}" mt.exe
961961
if [[ $RET -eq 1 ]] ; then
962-
MSVS_PATH="$MSVS_PATH$(cygpath -u -f - <<< $ENV\\Bin\\winnt):"
962+
MSVS_PATH="$MSVS_PATH$(cygpath -u -f - <<< "$ENV"\\Bin\\winnt):"
963963
RET=0
964964
fi
965965
fi
966966
967967
# Ensure that these derived values give a valid compiler.
968-
if check_environment "${MSVS_PATH//:/*}" "${MSVS_INC//;/*}" "${MSVS_LIB//;/*}" "$i" $arch ; then
968+
if check_environment "${MSVS_PATH//:/*}" "${MSVS_INC//;/*}" "${MSVS_LIB//;/*}" "$i" "$arch" ; then
969969
# Put the package back into FOUND, but augmented with the architecture name and with the
970970
# derived values.
971971
FOUND["$i-$arch"]="${CURRENT%)} [\"MSVS_PATH\"]=\"$MSVS_PATH\" \
@@ -978,7 +978,7 @@ for i in "${TEST[@]}" ; do
978978
TEST_cl=$(PATH="$MSVS_PATH:$PATH" "$WHICH" cl)
979979
TEST_cl=${TEST_cl,,}
980980
TEST_cl=${TEST_cl/bin\/*_/bin\/}
981-
if [[ $TEST_cl = $ENV_cl ]] ; then
981+
if [[ $TEST_cl = "$ENV_cl" ]] ; then
982982
if [[ ${!ENV_INC/"$MSVS_INC"/} != "${!ENV_INC}" && \
983983
${!ENV_LIB/"$MSVS_LIB"/} != "${!ENV_LIB}" ]] ; then
984984
debug "$i-$arch is a strong candidate for the Environment C compiler"
@@ -1011,7 +1011,7 @@ for i in "${TEST[@]}" ; do
10111011
# Does this package match the current preference? Note that PREFERENCE and TEST are constructed in
10121012
# a cunning (and hopefully not too "You are not expected to understand this" way) such that $PREF
10131013
# will always equal $i, unless $PREF = "@".
1014-
if [[ $PREF = $i ]] ; then
1014+
if [[ $PREF = "$i" ]] ; then
10151015
# In which case, check that the architecture(s)s were found
10161016
if [[ -n ${FOUND["$i-$LEFT_ARCH"]+x} && -n ${FOUND["$i-$RIGHT_ARCH"]+x} ]] ; then
10171017
debug "Solved TARGET_ARCH=$TARGET_ARCH with $i"
@@ -1082,7 +1082,7 @@ if [[ $MODE -eq 1 ]] ; then
10821082
fi
10831083
10841084
if [[ -n $SOLUTION ]] ; then
1085-
eval COMPILER=${FOUND[$SOLUTION-$LEFT_ARCH]}
1085+
eval COMPILER="${FOUND[$SOLUTION-$LEFT_ARCH]}"
10861086
output MSVS_NAME "${COMPILER["DISPLAY"]}" $LEFT_ARCH
10871087
output MSVS_PATH "${COMPILER["MSVS_PATH"]}" $LEFT_ARCH
10881088
output MSVS_INC "${COMPILER["MSVS_INC"]}" $LEFT_ARCH
@@ -1091,7 +1091,7 @@ if [[ -n $SOLUTION ]] ; then
10911091
output MSVS_ML "${COMPILER["ASSEMBLER"]%.exe}" always
10921092
fi
10931093
if [[ -z $TARGET_ARCH ]] ; then
1094-
eval COMPILER=${FOUND[$SOLUTION-$RIGHT_ARCH]}
1094+
eval COMPILER="${FOUND[$SOLUTION-$RIGHT_ARCH]}"
10951095
output MSVS64_PATH "${COMPILER["MSVS_PATH"]}" $RIGHT_ARCH
10961096
output MSVS64_INC "${COMPILER["MSVS_INC"]}" $RIGHT_ARCH
10971097
output MSVS64_LIB "${COMPILER["MSVS_LIB"]}" $RIGHT_ARCH
@@ -1103,4 +1103,3 @@ if [[ -n $SOLUTION ]] ; then
11031103
else
11041104
exit 1
11051105
fi
1106-

msvs-promote-path

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ do
4343
T="$i"
4444
FIRST=0
4545
else
46-
if [ $FOUND -eq 0 -a -x $i/link ] && [ "$($i/link --version 2>/dev/null | sed -ne "1s/Microsoft (R) Incremental Linker//p")" != "" ] ; then
46+
if [ $FOUND -eq 0 -a -x "$i"/link ] && [ "$("$i"/link --version 2>/dev/null | sed -ne "1s/Microsoft (R) Incremental Linker//p")" != "" ] ; then
4747
FOUND=1
4848
T="$i:$T"
4949
PROM=$i
@@ -59,5 +59,5 @@ if [ $FOUND -eq 0 ] ; then
5959
exit 1
6060
else
6161
echo "$PROM moved to the front of \$PATH">&2
62-
echo export PATH=\"$T\"
62+
echo export PATH="\"$T\""
6363
fi

0 commit comments

Comments
 (0)