diff options
-rw-r--r-- | bee.c | 25 | ||||
-rw-r--r-- | unix.c | 4 | ||||
-rw-r--r-- | unix.h | 1 | ||||
-rw-r--r-- | util.c | 4 |
4 files changed, 28 insertions, 6 deletions
@@ -1,4 +1,5 @@ #include "irc.h" +#include "unix.h" #include <stdio.h> @@ -7,8 +8,30 @@ int main() { - if (irc_connect()) { fputs("falure in irc_connect\n",stderr); return 1; } + /* if (irc_connect()) { fputs("falure in irc_connect\n",stderr); return 1; } if (irc_handshake()) { fputs("failure in irc_handshake\n",stderr); return 1; } + */ + + int unixfd; + if ((unixfd = unix_setup("bees2.sock")) == -1) { + fputs("failure in unix_setup\n",stderr); return -1; + } + + char buf[128]; + ssize_t amt; + for (;;) { + if ((amt = recv(unixfd,buf,sizeof buf - 1,0)) == -1) { + perror("recv"); + return 1; + } else if (amt == 0) { + puts("unix eof"); + return 0; + } else { + buf[amt] = 0; + printf("got: %s\n",buf); + } + } + int x; do { @@ -12,7 +12,7 @@ sock_perms(int fd) return -1; } // set group on socket - if (fchown(fd, -1, group.gr_gid) == -1) { + if (fchown(fd, -1, group->gr_gid) == -1) { perror("chown"); return -1; } @@ -47,7 +47,7 @@ unix_setup(char sockname[]) struct sockaddr_un name; memset(&name, 0, sizeof name); name.sun_family = AF_UNIX; - strncpy(name.sun_path, SOCKETNAME, (sizeof name.sun_path)-1); + strncpy(name.sun_path, sockname, (sizeof name.sun_path)-1); if (bind(sock, (struct sockaddr *)&name, sizeof name) == -1) { perror("(unix) bind"); return -1; @@ -7,6 +7,7 @@ #include <unistd.h> #include <sys/socket.h> #include <sys/un.h> +#include <stdio.h> // takes filename, returns socket fd @@ -1,7 +1,5 @@ #include "util.h" - -#include <sys/types.h> -#include <sys/socket.h> +#include "debug.h" ssize_t sendall(int sockfd, void *buf, size_t len) { ssize_t total_sent = 0; |