From 03b5d5c108093868aa2718d0cde6f95d22dc6a16 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 18 Oct 2016 09:52:37 +0200 Subject: [PATCH] BUG: foamCleanPath problem if path contains @ (closes #264) - Can occur with some user names, or mounted paths. Resolve by using '?' for the separation character. Since '?' is a shell-glob, it is highly unlikely to occur appear in filenames. Additionally, it is not a meta-character in standard sed, nor in the GNU extension (which uses '\?'). --- bin/foamCleanPath | 4 ++-- bin/tools/doxyFilter | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/foamCleanPath b/bin/foamCleanPath index 86a8c171fd..d3f8007023 100755 --- a/bin/foamCleanPath +++ b/bin/foamCleanPath @@ -99,7 +99,7 @@ IFS=': ' # or may contain ':' separators set -- $* -# strip out wildcards via sed +# Strip out wildcards via sed. Path and wildcard cannot contain '?'. while [ "$#" -ge 1 ] do wildcard=$1 @@ -107,7 +107,7 @@ do ##DEBUG echo "remove>$wildcard<" 1>&2 if [ -n "$wildcard" ] then - dirList=$(echo "$dirList:" | sed -e "s@${wildcard}[^:]*:@@g") + dirList=$(echo "$dirList:" | sed -e "s?${wildcard}[^:]*:??g") fi done diff --git a/bin/tools/doxyFilter b/bin/tools/doxyFilter index 061c72e526..ed427da104 100755 --- a/bin/tools/doxyFilter +++ b/bin/tools/doxyFilter @@ -39,15 +39,15 @@ if [ "$#" -gt 0 ] then - realFilePath=$(echo $1 | sed -e s@^$WM_PROJECT_DIR@../../..@ ) + realFilePath=$(echo "$1" | sed -e "s?^$WM_PROJECT_DIR?../../..?" ) if [ -n "$FOAM_ONLINE_REPO" ] then - filePath=$(echo $1 | sed -e s@^$WM_PROJECT_DIR@$FOAM_ONLINE_REPO@ ) + filePath=$(echo "$1" | sed -e "s?^$WM_PROJECT_DIR?$FOAM_ONLINE_REPO?" ) else filePath=$realFilePath fi - # dirName=$(echo "$filePath" | sed -e 's@/[^/]*$@@' ) + # dirName=$(echo "$filePath" | sed -e 's?/[^/]*$??' ) dirName=${filePath%/[^/]*} fileName=${filePath##*/} @@ -62,7 +62,7 @@ then # ;; esac - awk -f $WM_PROJECT_DIR/bin/tools/doxyFilter-table.awk $1 | \ + awk -f $WM_PROJECT_DIR/bin/tools/doxyFilter-table.awk "$1" | \ awk -f $awkScript | \ sed -f $WM_PROJECT_DIR/bin/tools/doxyFilter.sed \ -e s@%realFilePath%@$realFilePath@g \