The Samba-Bugzilla – Attachment 5826 Details for
Bug 7338
smbget skips leading slash when using a custom outputfile
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 3.5
0001-s3-Fix-bug-7338-smbget-skips-leading-slash-when-usin.patch (text/plain), 2.93 KB, created by
Volker Lendecke
on 2010-07-04 04:54:19 UTC
(
hide
)
Description:
Patch for 3.5
Filename:
MIME Type:
Creator:
Volker Lendecke
Created:
2010-07-04 04:54:19 UTC
Size:
2.93 KB
patch
obsolete
>From 22f7b89b1201c59fbad44a343a83869bf448be9e Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Sun, 4 Jul 2010 11:32:50 +0200 >Subject: [PATCH] s3: Fix bug 7338, smbget skips leading slash when using a custom outputfile > >--- > source3/utils/smbget.c | 24 +++++++++++++++++------- > 1 files changed, 17 insertions(+), 7 deletions(-) > >diff --git a/source3/utils/smbget.c b/source3/utils/smbget.c >index 4dd573a..e07c99a 100644 >--- a/source3/utils/smbget.c >+++ b/source3/utils/smbget.c >@@ -49,7 +49,8 @@ static const char *username = NULL, *password = NULL, *workgroup = NULL; > static int nonprompt = 0, quiet = 0, dots = 0, keep_permissions = 0, verbose = 0, send_stdout = 0; > static int blocksize = SMB_DEFAULT_BLOCKSIZE; > >-static int smb_download_file(const char *base, const char *name, int recursive, int resume, char *outfile); >+static int smb_download_file(const char *base, const char *name, int recursive, >+ int resume, int toplevel, char *outfile); > > static int get_num_cols(void) > { >@@ -135,7 +136,10 @@ static int smb_download_dir(const char *base, const char *name, int resume) > /* List files in directory and call smb_download_file on them */ > dirhandle = smbc_opendir(path); > if(dirhandle < 1) { >- if(errno == ENOTDIR) return smb_download_file(base, name, 1, resume, NULL); >+ if (errno == ENOTDIR) { >+ return smb_download_file(base, name, 1, resume, >+ 0, NULL); >+ } > fprintf(stderr, "Can't open directory %s: %s\n", path, strerror(errno)); > return 1; > } >@@ -165,7 +169,8 @@ static int smb_download_dir(const char *base, const char *name, int resume) > break; > > case SMBC_FILE: >- ret = smb_download_file(base, newname, 1, resume, NULL); >+ ret = smb_download_file(base, newname, 1, resume, 0, >+ NULL); > break; > > case SMBC_FILE_SHARE: >@@ -266,7 +271,9 @@ static void print_progress(const char *name, time_t start, time_t now, off_t sta > > /* Return 1 on error, 0 on success. */ > >-static int smb_download_file(const char *base, const char *name, int recursive, int resume, char *outfile) { >+static int smb_download_file(const char *base, const char *name, int recursive, >+ int resume, int toplevel, char *outfile) >+{ > int remotehandle, localhandle; > time_t start_time = time(NULL); > const char *newpath; >@@ -322,8 +329,10 @@ static int smb_download_file(const char *base, const char *name, int recursive, > if(newpath)newpath++; else newpath = base; > } else newpath = name; > >- if(newpath[0] == '/')newpath++; >- >+ if (!toplevel && (newpath[0] == '/')) { >+ newpath++; >+ } >+ > /* Open local file according to the mode */ > if(update) { > /* if it is up-to-date, skip */ >@@ -659,7 +668,8 @@ int main(int argc, const char **argv) > > while ( (file = poptGetArg(pc)) ) { > if (!recursive) >- ret = smb_download_file(file, "", recursive, resume, outputfile); >+ ret = smb_download_file(file, "", recursive, resume, >+ 1, outputfile); > else > ret = smb_download_dir(file, "", resume); > } >-- >1.6.5.7 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 7338
:
5825
| 5826