diff options
author | vorlon <vorlon@alioth.debian.org> | 2003-07-06 20:19:42 +0000 |
---|---|---|
committer | vorlon <vorlon@alioth.debian.org> | 2003-07-06 20:19:42 +0000 |
commit | 4b63a625200e7c2cb99fcff5cdfa93d917c95176 (patch) | |
tree | 54422413fd39e4c631c8376ca4beddcb35678c46 | |
parent | d6a696cd51005e98bb772e55db650e0c5cd50ccf (diff) | |
download | samba-4b63a625200e7c2cb99fcff5cdfa93d917c95176.tar.gz |
fix smbclient tar support
git-svn-id: svn://svn.debian.org/svn/pkg-samba/trunk@562 fc4039ab-9d04-0410-8cac-899223bdd6b0
-rw-r--r-- | changelog | 2 | ||||
-rw-r--r-- | patches/smbclient-tar.patch | 43 |
2 files changed, 45 insertions, 0 deletions
@@ -25,6 +25,8 @@ samba (3.0.0beta2-1) unstable; urgency=low (closes: #187632). * Fix handling of krb5 link line, building on a patch from Stefan Metzmacher <metze@metzemix.de>. + * Add patch so smbclient's tar support works with popt + (closes: #194921). -- Steve Langasek <vorlon@debian.org> Wed, 2 Jul 2003 20:59:09 -0500 diff --git a/patches/smbclient-tar.patch b/patches/smbclient-tar.patch new file mode 100644 index 0000000000..e6cdcafbf8 --- /dev/null +++ b/patches/smbclient-tar.patch @@ -0,0 +1,43 @@ +diff -uNr samba-3.0.0beta2.orig/source/client/client.c samba-3.0.0beta2/source/client/client.c +--- samba-3.0.0beta2.orig/source/client/client.c 2003-07-01 22:36:24.000000000 -0500 ++++ samba-3.0.0beta2/source/client/client.c 2003-07-06 15:17:36.000000000 -0500 +@@ -2731,6 +2731,7 @@ + int opt; + pstring query_host; + BOOL message = False; ++ char* tar_args = NULL; + extern char tar_type; + pstring term_code; + static const char *new_name_resolve_order = NULL; +@@ -2816,7 +2817,7 @@ + max_protocol = interpret_protocol(poptGetOptArg(pc), max_protocol); + break; + case 'T': +- if (!tar_parseargs(argc, argv, poptGetOptArg(pc), optind)) { ++ if (!(tar_args = poptGetOptArg(pc))) { + poptPrintUsage(pc, stderr, 0); + exit(1); + } +@@ -2848,6 +2849,22 @@ + pstrcpy(cmdline_auth_info.password,poptGetArg(pc)); + } + ++ /* The tar command may take a number of string options; pass ++ everything we have left to tar_parseargs(). */ ++ if (tar_args) { ++ const char **argv2 = poptGetArgs(pc); ++ int argc2 = 0; ++ ++ if (argv2) { ++ while (argv2[argc2]) argc2++; ++ } ++ ++ if (!tar_parseargs(argc2, argv2, tar_args, 0)) { ++ poptPrintUsage(pc, stderr, 0); ++ exit(1); ++ } ++ } ++ + init_names(); + + if(new_name_resolve_order) |