summaryrefslogtreecommitdiff
path: root/source4/libcli/raw/clisocket.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-13 03:01:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:22:58 -0500
commit562498c5260108c17add1e1a392644d188ff5c79 (patch)
treebd24a9c836a7a5bdac262004c501c3610f8e717a /source4/libcli/raw/clisocket.c
parente2881aca86936ef4712c431b01dfab11427aea89 (diff)
downloadsamba-562498c5260108c17add1e1a392644d188ff5c79.tar.gz
samba-562498c5260108c17add1e1a392644d188ff5c79.tar.bz2
samba-562498c5260108c17add1e1a392644d188ff5c79.zip
r8407: fixed a bug left over from our old socket code.
Thanks to lha for giving me a login on a netbsd machine to see this (This used to be commit 4e66f682e4f1c31bbe9441a13af2c245db31433d)
Diffstat (limited to 'source4/libcli/raw/clisocket.c')
-rw-r--r--source4/libcli/raw/clisocket.c31
1 files changed, 8 insertions, 23 deletions
diff --git a/source4/libcli/raw/clisocket.c b/source4/libcli/raw/clisocket.c
index d6007ec8ba..b325fa473e 100644
--- a/source4/libcli/raw/clisocket.c
+++ b/source4/libcli/raw/clisocket.c
@@ -273,48 +273,33 @@ void smbcli_sock_set_options(struct smbcli_socket *sock, const char *options)
/****************************************************************************
Write to socket. Return amount written.
****************************************************************************/
-ssize_t smbcli_sock_write(struct smbcli_socket *sock, const uint8_t *data, size_t len)
+NTSTATUS smbcli_sock_write(struct smbcli_socket *sock, const uint8_t *data,
+ size_t len, size_t *nsent)
{
- NTSTATUS status;
DATA_BLOB blob;
- size_t nsent;
if (sock->sock == NULL) {
- errno = EIO;
- return -1;
+ return NT_STATUS_CONNECTION_DISCONNECTED;
}
blob.data = discard_const(data);
blob.length = len;
- status = socket_send(sock->sock, &blob, &nsent, 0);
- if (NT_STATUS_IS_ERR(status)) {
- return -1;
- }
-
- return nsent;
+ return socket_send(sock->sock, &blob, nsent, 0);
}
/****************************************************************************
Read from socket. return amount read
****************************************************************************/
-ssize_t smbcli_sock_read(struct smbcli_socket *sock, uint8_t *data, size_t len)
+NTSTATUS smbcli_sock_read(struct smbcli_socket *sock, uint8_t *data,
+ size_t len, size_t *nread)
{
- NTSTATUS status;
- size_t nread;
-
if (sock->sock == NULL) {
- errno = EIO;
- return -1;
- }
-
- status = socket_recv(sock->sock, data, len, &nread, 0);
- if (NT_STATUS_IS_ERR(status)) {
- return -1;
+ return NT_STATUS_CONNECTION_DISCONNECTED;
}
- return nread;
+ return socket_recv(sock->sock, data, len, nread, 0);
}