From c3c4edb8425a74f53140081959f12462771469b5 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Thu, 5 Aug 2010 14:02:13 +0200 Subject: [PATCH] fix the mkdir related stuff --- misc/tools/cached-converter.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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" -- 2.39.2