diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/Client.hxx | 2 | ||||
-rw-r--r-- | src/client/ClientWrite.cxx | 16 |
2 files changed, 6 insertions, 12 deletions
diff --git a/src/client/Client.hxx b/src/client/Client.hxx index 83909f68b..0e3047d58 100644 --- a/src/client/Client.hxx +++ b/src/client/Client.hxx @@ -112,7 +112,7 @@ public: void Close(); void SetExpired(); - using FullyBufferedSocket::Write; + bool Write(const void *data, size_t length); /** * returns the uid of the client process, or a negative value diff --git a/src/client/ClientWrite.cxx b/src/client/ClientWrite.cxx index 88611ee25..f30f2f8b3 100644 --- a/src/client/ClientWrite.cxx +++ b/src/client/ClientWrite.cxx @@ -23,30 +23,24 @@ #include <string.h> -/** - * Write a block of data to the client. - */ -static void -client_write(Client &client, const char *data, size_t length) +bool +Client::Write(const void *data, size_t length) { /* if the client is going to be closed, do nothing */ - if (client.IsExpired() || length == 0) - return; - - client.Write(data, length); + return !IsExpired() && FullyBufferedSocket::Write(data, length); } void client_puts(Client &client, const char *s) { - client_write(client, s, strlen(s)); + client.Write(s, strlen(s)); } void client_vprintf(Client &client, const char *fmt, va_list args) { char *p = FormatNewV(fmt, args); - client_write(client, p, strlen(p)); + client.Write(p, strlen(p)); delete[] p; } |