diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-03-20 01:30:36 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-03-20 01:30:36 +0100 |
commit | 5fe2b28f45289dc5578cdd536600f0d30a14d820 (patch) | |
tree | 4bdf36d0d4d8bdddcb3d618b4b01839370ed57c3 /source3/client/clitar.c | |
parent | ec9aeeab00584f4d3dfe9afb83dc1a77b8463b81 (diff) | |
parent | 3a4638db0351368d3b148bf547546f28fa0b1479 (diff) | |
download | samba-5fe2b28f45289dc5578cdd536600f0d30a14d820.tar.gz samba-5fe2b28f45289dc5578cdd536600f0d30a14d820.tar.bz2 samba-5fe2b28f45289dc5578cdd536600f0d30a14d820.zip |
Merge branch 'master' of git://git.samba.org/samba into minschema
Diffstat (limited to 'source3/client/clitar.c')
-rw-r--r-- | source3/client/clitar.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/client/clitar.c b/source3/client/clitar.c index 18edf037e2..c9f3e87c4d 100644 --- a/source3/client/clitar.c +++ b/source3/client/clitar.c @@ -1513,6 +1513,7 @@ int process_tar(void) if (strrchr_m(cliplist[i], '\\')) { char *p; + char saved_char; char *saved_dir = talloc_strdup(ctx, client_get_cur_dir()); if (!saved_dir) { @@ -1531,13 +1532,28 @@ int process_tar(void) if (!tarmac) { return 1; } + /* + * Strip off the last \\xxx + * xxx element of tarmac to set + * it as current directory. + */ p = strrchr_m(tarmac, '\\'); if (!p) { return 1; } + saved_char = p[1]; p[1] = '\0'; + client_set_cur_dir(tarmac); + /* + * Restore the character we + * just replaced to + * put the pathname + * back as it was. + */ + p[1] = saved_char; + DEBUG(5, ("process_tar, do_list with tarmac: %s\n", tarmac)); do_list(tarmac,attribute,do_tar, False, True); |