summaryrefslogtreecommitdiffstats
path: root/source/libsmb/clireadwrite.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-04-22 02:33:11 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:16:27 -0500
commitdcef65acb5bc08ea4b61ef490a518b7e668ff2ee (patch)
treeef956a5b1a73c31ff4300aad8dd2e56f914cacf8 /source/libsmb/clireadwrite.c
parentdcbece8254e5de861d04b691d733616fc25cd585 (diff)
downloadsamba-dcef65acb5bc08ea4b61ef490a518b7e668ff2ee.tar.gz
samba-dcef65acb5bc08ea4b61ef490a518b7e668ff2ee.tar.xz
samba-dcef65acb5bc08ea4b61ef490a518b7e668ff2ee.zip
r15162: Patch for bug #3668. Windows has a bug with LARGE_READX
where if you ask for exactly 64k bytes it returns 0. Jeremy.
Diffstat (limited to 'source/libsmb/clireadwrite.c')
-rw-r--r--source/libsmb/clireadwrite.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/libsmb/clireadwrite.c b/source/libsmb/clireadwrite.c
index 650822bf8ed..883bc1260d6 100644
--- a/source/libsmb/clireadwrite.c
+++ b/source/libsmb/clireadwrite.c
@@ -76,7 +76,11 @@ ssize_t cli_read(struct cli_state *cli, int fnum, char *buf, off_t offset, size_
*/
if (cli->capabilities & CAP_LARGE_READX) {
- readsize = CLI_MAX_LARGE_READX_SIZE;
+ if (cli->is_samba) {
+ readsize = CLI_SAMBA_MAX_LARGE_READX_SIZE;
+ } else {
+ readsize = CLI_WINDOWS_MAX_LARGE_READX_SIZE;
+ }
} else {
readsize = (cli->max_xmit - (smb_size+32)) & ~1023;
}