This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Fix CT_SanitizePath Replace the over-engineered and buggy test in CT_SanitizePath with a straight forward string pattern match, and also handle empty PATH elements which are qeuivalent to ".". Thanks-To: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Johannes Stezenbach <js@sig21.net> diff -r fdaa6c7f6dea scripts/functions --- a/scripts/functions Thu Jul 29 19:47:16 2010 +0200 +++ b/scripts/functions Fri Jul 30 16:36:57 2010 +0200 @@ -137,18 +137,16 @@ CT_DoLog ${level:-INFO} "(elapsed: ${elapsed_min}:${elapsed_sec}.${elapsed_csec})" } -# Remove entries referring to ., /tmp and non-existing directories from $PATH +# Remove entries referring to . and other relative paths # Usage: CT_SanitizePath CT_SanitizePath() { local new - local tmp + local p local IFS=: for p in $PATH; do - # Replace any occurence of . with $(pwd -P) - # Use /tmp as a default if the directory is non-existent - # Do not add /tmp in the PATH - tmp="$( cd /tmp; cd "${p}" 2>/dev/null || true; pwd -P )" - if [ "${tmp}" != "/tmp" ]; then + # Only accept absolute paths; + # Note: as a special case the empty string in PATH is equivalent to . + if [ -n "${p}" -a -z "${p%%/*}" ]; then new="${new}${new:+:}${p}" fi done -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |