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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
    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

Reply via email to