From 3042cfb7fabe25cc06e5cf6c49c2716c1112b6d2 Mon Sep 17 00:00:00 2001 From: Richard Sharpe Date: Mon, 3 Mar 2003 17:43:33 +0000 Subject: [PATCH] Do my janitorial duties to encourage others to do so. Fix lingering large offset problems in smbtar etc. (This used to be commit c416eec2f2a38eebfcda5868999d474628037f1e) --- source3/client/clitar.c | 13 +++++++------ source3/libsmb/clifile.c | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/source3/client/clitar.c b/source3/client/clitar.c index e8be5e04e7a..74d901a2ca6 100644 --- a/source3/client/clitar.c +++ b/source3/client/clitar.c @@ -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); } diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index 07b1ff6b6f5..31d7ea5911d 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -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); -- 2.11.4.GIT