Junio C Hamano <gits...@pobox.com> writes:

>       if test -z "$module_path"
>       then
>               for candidate in \
>                       /etc/httpd \
>                       /usr/lib/apache2 \
>                       /usr/lib/httpd \

I obviously missed semicolon here...

>               do
>                       if test -d "$candidate/modules"
>                       then
>                               module_path="$candidate/modules"
>                               break
>                       fi

One more thing to note is that the fourth candidate might not end
with "/modules" and force us to update these existing three to have
"/modules" at the end and lose appending "/modules" from these two
lines to compensate.  That is sort of deliberate (i.e. as long as we
can share "/modules" as a common substring at the end, it is OK to
take advantage of that).

>               done
>       fi
>
> is when you go from 2 to 3.  Two points to note are:
>
>  - It would be easier to add the fourth one this way
>
>  - The explicit "break" makes it clear that the paths are listed in
>    decreasing order of precedence (i.e. /etc/httpd if exists makes
>    /usr/lib/httpd ignored even if the latter exists); the original
>    "test -d X && M=X ; test -d Y && M=Y" gives higher precedence to
>    the later items but readers need to wonder if it is intended or
>    the code is simply being sloppy.
>
> Hope this helps.

Reply via email to