Subject: Re: Trailing / in pathnames passed to build.sh
To: None <tech-toolchain@NetBSD.org>
From: Alan Barrett <apb@cequrux.com>
List: tech-toolchain
Date: 08/16/2004 22:37:45
On Tue, 17 Aug 2004, Bang Jun-Young wrote:
> --- build.sh 6 Feb 2004 23:19:30 -0000 1.127
> +++ build.sh 16 Aug 2004 18:40:20 -0000
> @@ -324,6 +324,7 @@
>
> resolvepath()
> {
> + OPTARG=`echo ${OPTARG} | sed -e 's/\/$//'`
> case "${OPTARG}" in
> /*)
> ;;
>
> Any comments?
* You probably can't rely on a working sed being available so early in
the build process.
* The arg passed to echo is not properly quoted.
* The result of the backtick substitution is not properly quoted.
* It would be so much easier to avoid all the above problems by using
OPTARG="${OPTARG%/}". build.sh already requires a working POSIX shell,
so (in answer to der Mouse's question in another message) there's no
problem with ${variable%pattern} substitution.
* What is the expected behaviour when OPTARG="/"? It probably needs to
be treated as a special case, so that it is not converted to
OPTARG="".
--apb (Alan Barrett)