]> git.lizzy.rs Git - dragonnet.git/blob - recv.c
7a2dfbe142a99d90d040ecb859cb5139e7a12e58
[dragonnet.git] / recv.c
1 #include <dragonnet/recv.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <unistd.h>
6 #include "sock.h"
7
8 bool dragonnet_recv_raw(DragonnetPeer *p, void *buf, size_t n)
9 {
10         if (n == 0)
11                 return true;
12
13         ssize_t len = recv(p->sock, buf, n, MSG_WAITALL);
14         if (len < 0) {
15                 perror("recv");
16                 abort();
17         }
18
19         return len != 0;
20 }