summaryrefslogtreecommitdiff
path: root/source3/client
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-02-26 14:42:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:48 -0500
commit96572957fc3df956ec0fad242fc7d04ab6a6961f (patch)
tree59379dd1ff10ce299201eae187893c0b2124c716 /source3/client
parent76d72a6bc62cba0111cb82b87b560255513e49c2 (diff)
downloadsamba-96572957fc3df956ec0fad242fc7d04ab6a6961f.tar.gz
samba-96572957fc3df956ec0fad242fc7d04ab6a6961f.tar.bz2
samba-96572957fc3df956ec0fad242fc7d04ab6a6961f.zip
r5577: get recurse; dir working across single level dfs referrals
(This used to be commit d4443807bc7a5a8615c69517365a92709db7ce29)
Diffstat (limited to 'source3/client')
-rw-r--r--source3/client/client.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 55e9f1a71d..515a2335ad 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -509,7 +509,7 @@ static int do_list_queue_empty(void)
A helper for do_list.
****************************************************************************/
-static void do_list_helper(file_info *f, const char *mask, void *state)
+static void do_list_helper(const char *mntpoint, file_info *f, const char *mask, void *state)
{
if (f->mode & aDIR) {
if (do_list_dirs && do_this_one(f)) {
@@ -526,7 +526,8 @@ static void do_list_helper(file_info *f, const char *mask, void *state)
return;
}
- pstrcpy(mask2, mask);
+ pstrcpy(mask2, mntpoint);
+ pstrcat(mask2, mask);
p = strrchr_m(mask2,'\\');
if (!p)
return;
@@ -583,6 +584,7 @@ void do_list(const char *mask,uint16 attribute,void (*fn)(file_info *),BOOL rec,
if ( !cli_resolve_path( cli, head, &targetcli, targetpath ) ) {
d_printf("do_list: [%s] %s\n", head, cli_errstr(cli));
+ remove_do_list_queue_head();
continue;
}
@@ -2871,7 +2873,7 @@ typedef struct {
int len;
} completion_remote_t;
-static void completion_remote_filter(file_info *f, const char *mask, void *state)
+static void completion_remote_filter(const char *mnt, file_info *f, const char *mask, void *state)
{
completion_remote_t *info = (completion_remote_t *)state;