From 9d001d5c959d8fb5b4f14529e73ed2453035283b Mon Sep 17 00:00:00 2001 From: Richard Sharpe Date: Mon, 22 Jun 1998 06:31:39 +0000 Subject: Arrrgh, one more fix. Restores of long file names were broken ... Added a bzero of the buffer the names went into ... Seems OK now ... Richard Sharpe (This used to be commit c749c8d0460feddafaa68654d8a4bec33f97cc8c) --- source3/client/clitar.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source3/client/clitar.c b/source3/client/clitar.c index d7d47fc903..eba82ba217 100644 --- a/source3/client/clitar.c +++ b/source3/client/clitar.c @@ -1888,14 +1888,19 @@ static void do_tarput() return; } + + bzero(longname, finfo.size + strlen(cur_dir) +1); + buffer_p += TBLOCK; /* Skip that longlink header */ /* This needs restructuring ... */ - strncpy(longname, cur_dir, strlen(cur_dir) + 1); + safe_strcpy(longname, cur_dir, strlen(cur_dir) + 1); cp = longname + strlen(cur_dir); file_len = finfo.size; + DEBUG(5, ("longname=%0X, cp=%0X, file_len=%i\n", longname, cp, file_len)); + while (file_len > 0) { if (buffer_p >= endofbuffer) { @@ -1912,7 +1917,7 @@ static void do_tarput() cp = cp + strlen(cp); /* Move to end of string */ buffer_p += TBLOCK; file_len -= TBLOCK; - + DEBUG(5, ("cp=%0X, file_len=%i\n", cp, file_len)); next_header = 1; /* Force read of next header */ } -- cgit