From a4e5e3f3a5d80673a6b4ee2d9bd4f00a325bb4fb Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 12 Sep 2003 01:25:35 +0000 Subject: Fix from Craig Barratt to fix restore with filenames > 100 chars. Jeremy. (This used to be commit aa40a86cbe797cba4e281cb8dc09b2ae67e93dc2) --- source3/client/clitar.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source3/client') diff --git a/source3/client/clitar.c b/source3/client/clitar.c index b01de5b8e7..f38d6fe91a 100644 --- a/source3/client/clitar.c +++ b/source3/client/clitar.c @@ -1054,9 +1054,11 @@ static int get_dir(file_info2 finfo) has the data. We only want the long file name, as the loop in do_tarput will deal with the rest. */ -static char * get_longfilename(file_info2 finfo) +static char *get_longfilename(file_info2 finfo) { - int namesize = strlen(finfo.name) + strlen(cur_dir) + 2; + /* finfo.size here is the length of the filename as written by the "/./@LongLink" name + * header call. */ + int namesize = finfo.size + strlen(cur_dir) + 2; char *longname = malloc(namesize); int offset = 0, left = finfo.size; BOOL first = True; -- cgit