diff options
Diffstat (limited to 'source/libsmb/clireadwrite.c')
-rw-r--r-- | source/libsmb/clireadwrite.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/libsmb/clireadwrite.c b/source/libsmb/clireadwrite.c index 6566acf4efb..abbb8cd110d 100644 --- a/source/libsmb/clireadwrite.c +++ b/source/libsmb/clireadwrite.c @@ -110,16 +110,17 @@ ssize_t cli_read(struct cli_state *cli, int fnum, char *buf, off_t offset, size_ errors. */ if (cli_is_error(cli)) { - uint32 status = 0; + NTSTATUS status = NT_STATUS_OK; uint8 eclass = 0; + uint32 ecode = 0; if (cli_is_nt_error(cli)) status = cli_nt_error(cli); else - cli_dos_error(cli, &eclass, &status); + cli_dos_error(cli, &eclass, &ecode); - if ((eclass == ERRDOS && status == ERRmoredata) || - status == STATUS_MORE_ENTRIES) + if ((eclass == ERRDOS && ecode == ERRmoredata) || + NT_STATUS_V(status) == NT_STATUS_V(STATUS_MORE_ENTRIES)) return -1; } |