Do my janitorial duties to encourage others to do so.
authorRichard Sharpe <sharpe@samba.org>
Mon, 3 Mar 2003 17:43:33 +0000 (17:43 +0000)
committerRichard Sharpe <sharpe@samba.org>
Mon, 3 Mar 2003 17:43:33 +0000 (17:43 +0000)
Fix lingering large offset problems in smbtar etc.
(This used to be commit c416eec2f2a38eebfcda5868999d474628037f1e)

source3/client/clitar.c
source3/libsmb/clifile.c

index e8be5e04e7a54e649104651446289575285fa439..74d901a2ca673264e8f9c49e9803d0bc7ea24ab6 100644 (file)
@@ -959,9 +959,10 @@ static int skip_file(int skipsize)
 
 static int get_file(file_info2 finfo)
 {
-  int fnum = -1, pos = 0, dsize = 0, rsize = 0, bpos = 0;
+  int fnum = -1, pos = 0, dsize = 0, bpos = 0;
+  SMB_BIG_UINT rsize = 0;
 
-  DEBUG(5, ("get_file: file: %s, size %i\n", finfo.name, (int)finfo.size));
+  DEBUG(5, ("get_file: file: %s, size %.0f\n", finfo.name, (double)finfo.size));
 
   if (ensurepath(finfo.name) && 
       (fnum=cli_open(cli, finfo.name, O_RDWR|O_CREAT|O_TRUNC, DENY_NONE)) == -1) {
@@ -1052,7 +1053,7 @@ static int get_file(file_info2 finfo)
 
   ntarf++;
 
-  DEBUG(0, ("restore tar file %s of size %d bytes\n", finfo.name, (int)finfo.size));
+  DEBUG(0, ("restore tar file %s of size %.0f bytes\n", finfo.name, (double)finfo.size));
   
   return(True);
 }
@@ -1082,18 +1083,18 @@ static int get_dir(file_info2 finfo)
 */
 static char * get_longfilename(file_info2 finfo)
 {
-  int namesize = finfo.size + strlen(cur_dir) + 2;
+  int namesize = strlen(finfo.name) + strlen(cur_dir) + 2;
   char *longname = malloc(namesize);
   int offset = 0, left = finfo.size;
   BOOL first = True;
 
   DEBUG(5, ("Restoring a long file name: %s\n", finfo.name));
-  DEBUG(5, ("Len = %d\n", (int)finfo.size));
+  DEBUG(5, ("Len = %.0f\n", (double)finfo.size));
 
   if (longname == NULL) {
 
     DEBUG(0, ("could not allocate buffer of size %d for longname\n", 
-             (int)(finfo.size + strlen(cur_dir) + 2)));
+             namesize));
     return(NULL);
   }
 
index 07b1ff6b6f5dce750b5f2522da19f2900d24a878..31d7ea5911d60e919ccf01743c6e8d9183f52d68 100644 (file)
@@ -805,7 +805,7 @@ BOOL cli_unlock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_
 ****************************************************************************/
 
 BOOL cli_getattrE(struct cli_state *cli, int fd, 
-                 uint16 *attr, size_t *size, 
+                 uint16 *attr, SMB_BIG_UINT *size, 
                  time_t *c_time, time_t *a_time, time_t *m_time)
 {
        memset(cli->outbuf,'\0',smb_size);