summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc b/noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc
index db6b7b8..6e26cb8 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/wl_sock.cc
@@ -8,9 +8,8 @@
#include "wl_log.hh"
/* Setup UDP Socket for incoming commands */
-int wl_setupsock(const char *host, int port)
+int wl_setupsock(const char *host, int port, struct sockaddr_in saddr)
{
- struct sockaddr_in saddr;
int sock;
if((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
@@ -73,15 +72,17 @@ int wl_send(const char *host, int port, const char *string, ...)
}
/* Check for new messages on commsock */
-int wl_recv(int *sock, char *out, int maxlen)
+int wl_recv(int *sock, struct sockaddr_in cliaddr, char *out, int maxlen)
{
- struct sockaddr_in *cliaddr;
socklen_t len = sizeof(struct sockaddr);
char retval[3];
memset(out, 0, maxlen);
- if(recvfrom(*sock, out, maxlen - 1, 0, (struct sockaddr *)cliaddr, &len) < 0)
+ if(recvfrom(*sock, out, maxlen - 1, 0, (struct sockaddr *)&cliaddr, &len) < 0)
+ {
+ wl_logerr("Cannot receive from socket: %s", strerror(errno));
return -1;
+ }
/* Get packet type and return it */
memset(retval, 0, sizeof(retval));