summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/server_worker_receive.c')
-rw-r--r--src/server/server_worker_receive.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/server/server_worker_receive.c b/src/server/server_worker_receive.c
index 6e70159..4dc2fc7 100644
--- a/src/server/server_worker_receive.c
+++ b/src/server/server_worker_receive.c
@@ -1,11 +1,29 @@
#include "server.h"
+
int ZoO_server_worker_receive
(
struct ZoO_server_worker worker [const restrict static 1]
)
{
- /* TODO */
+ ssize_t received;
+
+ received =
+ getline
+ (
+ &(worker->buffer),
+ &(worker->buffer_capacity),
+ worker->socket_as_file
+ );
+
+ if (received == -1)
+ {
+ /* TODO: error message? */
+
+ return -1;
+ }
+
+ worker->buffer_length = (size_t) received;
return 0;
}