From: Rudolf Polzer Date: Thu, 5 Aug 2010 12:02:13 +0000 (+0200) Subject: fix the mkdir related stuff X-Git-Tag: xonotic-v0.1.0preview~329^2~14 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=commitdiff_plain;h=c3c4edb8425a74f53140081959f12462771469b5;ds=sidebyside fix the mkdir related stuff --- diff --git a/misc/tools/cached-converter.sh b/misc/tools/cached-converter.sh index 9b8eb8d6..516de008 100755 --- a/misc/tools/cached-converter.sh +++ b/misc/tools/cached-converter.sh @@ -46,11 +46,9 @@ cached() [ -z "$outfile2" ] || name2="$CACHEDIR/$method-$options/$sum-2.${outfile2##*.}" tempfile1="${name1%/*}/new-${name1##*/}" [ -z "$outfile2" ] || tempfile2="${name2%/*}/new-${name2##*/}" - [ -z "${outfile1##*/*}" ] && mkdir -p "${outfile1%/*}" - [ -z "$outfile2" ] || { [ -z "${outfile2##*/*}" ] && mkdir -p "${outfile2%/*}"; } - if [ -f "$name1" ]; then - ln "$name1" "$outfile1" 2>/dev/null || cp "$name1" "$outfile1" - [ -z "$outfile2" ] || ln "$name2" "$outfile2" 2>/dev/null || cp "$name2" "$outfile2" + if [ -f "$name1" ] && { [ -z "$outfile2" ] || [ -f "$name2" ]; }; then + case "$outfile1" in */*) mkdir -p "${outfile1%/*}"; esac && { ln "$name1" "$outfile1" 2>/dev/null || cp "$name1" "$outfile1"; } + [ -z "$outfile2" ] || { case "$outfile2" in */*) mkdir -p "${outfile2%/*}"; esac && { ln "$name2" "$outfile2" 2>/dev/null || cp "$name2" "$outfile2"; }; } elif "$method" "$infile1" "$infile2" "$tempfile1" "$tempfile2" "$@"; then mv "$tempfile1" "$name1" [ -z "$outfile2" ] || mv "$tempfile2" "$name2"