mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 04:22:34 +03:00
Merge branch '4575_mc-wrapper-2'
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
This commit is contained in:
commit
7a3a763f0e
@ -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
|
||||
|
@ -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
|
||||
|
@ -775,6 +775,7 @@ mc_tmpdir (void)
|
||||
static const char *tmpdir = NULL;
|
||||
const char *sys_tmp;
|
||||
struct stat st;
|
||||
gchar *template;
|
||||
|
||||
/* Check if already correctly initialized */
|
||||
if (tmpdir != NULL && lstat (tmpdir, &st) == 0 && S_ISDIR (st.st_mode) &&
|
||||
@ -789,7 +790,10 @@ mc_tmpdir (void)
|
||||
sys_tmp = TMPDIR_DEFAULT;
|
||||
}
|
||||
|
||||
g_snprintf (buffer, sizeof (buffer), "%s/mc-XXXXXX", sys_tmp);
|
||||
template = g_build_filename (sys_tmp, "mc-XXXXXX", (char *) NULL);
|
||||
g_strlcpy (buffer, template, sizeof (buffer));
|
||||
g_free (template);
|
||||
|
||||
tmpdir = g_mkdtemp (buffer);
|
||||
if (tmpdir != NULL)
|
||||
g_setenv ("MC_TMPDIR", tmpdir, TRUE);
|
||||
|
@ -509,8 +509,7 @@ main (int argc, char *argv[])
|
||||
{
|
||||
int last_wd_fd;
|
||||
|
||||
last_wd_fd = open (mc_args__last_wd_file, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL,
|
||||
S_IRUSR | S_IWUSR);
|
||||
last_wd_fd = open (mc_args__last_wd_file, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
|
||||
if (last_wd_fd != -1)
|
||||
{
|
||||
ssize_t ret1;
|
||||
|
@ -45,6 +45,9 @@
|
||||
static void
|
||||
setup (void)
|
||||
{
|
||||
/* Ensure that tests behave consistently irrespectively of the environment */
|
||||
g_unsetenv ("MC_TMPDIR");
|
||||
|
||||
str_init_strings (NULL);
|
||||
|
||||
vfs_init ();
|
||||
|
Loading…
Reference in New Issue
Block a user