[SCM] Samba Shared Repository - branch v3-0-test updated - initial-v3-0-unstable-23-g72be9cc

Jeremy Allison jra at samba.org
Fri Nov 16 22:16:29 GMT 2007


The branch, v3-0-test has been updated
       via  72be9cc495d796d700281c047b152ba909f6fd2b (commit)
      from  ea97a10df5732dfcc931197a01d6446ed92b7658 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-0-test


- Log -----------------------------------------------------------------
commit 72be9cc495d796d700281c047b152ba909f6fd2b
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 16 14:15:56 2007 -0800

    Fix for bug 4393 smbclient does not store files with zero filesize in tar-archives
    from Tomasz Ostrowski <tometzky at batory.org.pl>
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source/client/clitar.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/client/clitar.c b/source/client/clitar.c
index 7bbb9fc..cf4eb91 100644
--- a/source/client/clitar.c
+++ b/source/client/clitar.c
@@ -609,7 +609,6 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
 	SMB_BIG_UINT nread=0;
 	char ftype;
 	file_info2 finfo;
-	BOOL close_done = False;
 	BOOL shallitime=True;
 	char data[65520];
 	int read_size = 65520;
@@ -695,7 +694,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
 		DEBUG(3,("getting file %s of size %.0f bytes as a tar file %s",
 			finfo.name, (double)finfo.size, lname));
       
-		while (nread < finfo.size && !close_done) {
+		do {
 	      
 			DEBUG(3,("nread=%.0f\n",(double)nread));
 	      
@@ -734,13 +733,13 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
 				break;
 			}
 	      
-			if (datalen == 0) {
+			if ( (datalen == 0) && (finfo.size != 0) ) {
 				DEBUG(0,("Error reading file %s. Got 0 bytes\n", rname));
 				break;
 			}
 
 			datalen=0;
-		}
+		} while ( nread < finfo.size );
 
 		if (wrote_tar_header) {
 			/* pad tar file with zero's if we couldn't get entire file */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list