diff --git a/contrib/mc-wrapper.csh.in b/contrib/mc-wrapper.csh.in index 1eca8e7b7..1b00491bc 100644 --- a/contrib/mc-wrapper.csh.in +++ b/contrib/mc-wrapper.csh.in @@ -1,9 +1,9 @@ -set MC_USER=`whoami` - -if ($?TMPDIR) then - setenv MC_PWD_FILE $TMPDIR/mc-$MC_USER/mc.pwd.$$ +if ($?MC_TMPDIR) then + setenv MC_PWD_FILE "`mktemp '$MC_TMPDIR/mc.pwd.XXXXXX'`" +else if ($?TMPDIR) then + setenv MC_PWD_FILE "`mktemp '$TMPDIR/mc.pwd.XXXXXX'`" else - setenv MC_PWD_FILE /tmp/mc-$MC_USER/mc.pwd.$$ + setenv MC_PWD_FILE "`mktemp '/tmp/mc.pwd.XXXXXX'`" endif @bindir@/mc -P "$MC_PWD_FILE" $* @@ -11,11 +11,10 @@ endif if (-r "$MC_PWD_FILE") then setenv MC_PWD "`cat '$MC_PWD_FILE'`" if ("$MC_PWD" != "$cwd" && -d "$MC_PWD") then - cd "$MC_PWD" + cd "$MC_PWD" || true endif unsetenv MC_PWD endif rm -f "$MC_PWD_FILE" unsetenv MC_PWD_FILE -unsetenv MC_USER diff --git a/contrib/mc-wrapper.sh.in b/contrib/mc-wrapper.sh.in index 3905be480..3d929b348 100644 --- a/contrib/mc-wrapper.sh.in +++ b/contrib/mc-wrapper.sh.in @@ -1,15 +1,20 @@ -MC_USER=`whoami` -MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$" +if test -n "$MC_TMPDIR"; then + MC_PWD_FILE="`mktemp "${MC_TMPDIR}/mc.pwd.XXXXXX"`" +elif test -n "$TMPDIR"; then + MC_PWD_FILE="`mktemp "${TMPDIR}/mc.pwd.XXXXXX"`" +else + MC_PWD_FILE="`mktemp "/tmp/mc.pwd.XXXXXX"`" +fi + @bindir@/mc -P "$MC_PWD_FILE" "$@" if test -r "$MC_PWD_FILE"; then MC_PWD="`cat "$MC_PWD_FILE"`" if test -n "$MC_PWD" && test "$MC_PWD" != "$PWD" && test -d "$MC_PWD"; then - cd "$MC_PWD" + cd "$MC_PWD" || true fi unset MC_PWD fi rm -f "$MC_PWD_FILE" unset MC_PWD_FILE -unset MC_USER