summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-11-22 23:06:29 +0000
committerJeremy Allison <jra@samba.org>2000-11-22 23:06:29 +0000
commitcf05709ec394d6cac14577c033d658bdc4506208 (patch)
tree1ee11966ea23ef53dfa0e4d8cc1fd565b1ccb195
parent37a665002c5cd7908c13d306f61af272a899dbc8 (diff)
downloadsamba-cf05709ec394d6cac14577c033d658bdc4506208.tar.gz
samba-cf05709ec394d6cac14577c033d658bdc4506208.tar.xz
samba-cf05709ec394d6cac14577c033d658bdc4506208.zip
Tar fixes from Craig Barratt craig@arraycomm.com.
Jeremy.
-rw-r--r--source/client/client.c2
-rw-r--r--source/client/clitar.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/source/client/client.c b/source/client/client.c
index 9cc6034d707..5995f1a2433 100644
--- a/source/client/client.c
+++ b/source/client/client.c
@@ -2515,6 +2515,8 @@ static int do_message_op(void)
DEBUG( 3, ( "Client started (version %s).\n", VERSION ) );
if (tar_type) {
+ if (cmdstr)
+ process_command_string(cmdstr);
return do_tar_op(base_directory);
}
diff --git a/source/client/clitar.c b/source/client/clitar.c
index efa4fa8815e..fe0fc83e4cb 100644
--- a/source/client/clitar.c
+++ b/source/client/clitar.c
@@ -181,7 +181,7 @@ static void writetarheader(int f, char *aname, int size, time_t mtime,
memset(hb.dummy, 0, sizeof(hb.dummy));
l=strlen(aname);
- if (l >= NAMSIZ) {
+ if (l >= NAMSIZ - 1) {
/* write a GNU tar style long header */
char *b;
b = (char *)malloc(l+TBLOCK+100);
@@ -189,7 +189,7 @@ static void writetarheader(int f, char *aname, int size, time_t mtime,
DEBUG(0,("out of memory\n"));
exit(1);
}
- writetarheader(f, "/./@LongLink", l+1, 0, " 0 \0", 'L');
+ writetarheader(f, "/./@LongLink", l+2, 0, " 0 \0", 'L');
memset(b, 0, l+TBLOCK+100);
fixtarname(b, aname, l);
i = strlen(b)+1;