summaryrefslogtreecommitdiff
path: root/i/marvin/src/socket/socket_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'i/marvin/src/socket/socket_client.cc')
-rw-r--r--i/marvin/src/socket/socket_client.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/i/marvin/src/socket/socket_client.cc b/i/marvin/src/socket/socket_client.cc
index 9dd19fa..951ea6a 100644
--- a/i/marvin/src/socket/socket_client.cc
+++ b/i/marvin/src/socket/socket_client.cc
@@ -95,19 +95,17 @@ SocketClient::read (std::string & strReaded, bool bloquant)
void
SocketClient::write (const std::string & str)
{
- char buffer[BUFFER_SIZE];
- unsigned int pos = 0;
- int retval = 0;
+ write(reinterpret_cast<const uint8_t *>(str.data()), str.size());
+}
- while (str.size () != pos)
- {
- int size = str.size () - pos < BUFFER_SIZE - 1 ? str.size () - pos:BUFFER_SIZE - 1;
- str.copy (buffer, size, pos);
- pos += size;
- retval = ::write (socket_, buffer, size);
- if (retval < 0)
- throw errno_exception ("SocketClient: erreur d'écriture (write()) ", errno);
- }
+void
+SocketClient::write (const uint8_t * buffer, unsigned size)
+{
+ int retval;
+
+ retval = ::write (socket_, buffer, size);
+ if (retval < 0)
+ throw errno_exception ("SocketClient: erreur d'écriture (write()) ", errno);
}
//int