diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-10-06 13:10:06 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-10-06 13:10:06 +0000 |
commit | 404f14fb36577ee182fd8a928e6cb7b374e4ecb9 (patch) | |
tree | 980f944f086c8810ed25106b2089b836f80950e1 /source3/libsmb | |
parent | fff618aeb4142773ff388ac9b52d127a510c6690 (diff) | |
download | samba-404f14fb36577ee182fd8a928e6cb7b374e4ecb9.tar.gz samba-404f14fb36577ee182fd8a928e6cb7b374e4ecb9.tar.bz2 samba-404f14fb36577ee182fd8a928e6cb7b374e4ecb9.zip |
implemented unix semantics for rename in smbwrapper
(This used to be commit a5c18f9c82f5f76b00ff29c5668b4f0d3e8d6bd0)
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clientgen.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index 2d49144695..93f7a3d222 100644 --- a/source3/libsmb/clientgen.c +++ b/source3/libsmb/clientgen.c @@ -1196,6 +1196,8 @@ size_t cli_read(struct cli_state *cli, int fnum, char *buf, off_t offset, size_t int mid; int blocks = (size + (block-1)) / block; + if (size == 0) return 0; + while (received < blocks) { int size2; @@ -1295,6 +1297,8 @@ size_t cli_write(struct cli_state *cli, int fnum, char *buf, off_t offset, size_ int mid; int blocks = (size + (block-1)) / block; + if (size == 0) return 0; + while (received < blocks) { int size2; @@ -2309,6 +2313,8 @@ int cli_error(struct cli_state *cli, uint8 *eclass, uint32 *num) case ERRbadfile: return ENOENT; case ERRbadpath: return ENOTDIR; case ERRnoaccess: return EACCES; + case ERRfilexists: return EEXIST; + case ERRrename: return EEXIST; } } if (rcls == ERRSRV) { |