From 53791bf21d1d7cf774d5c9177ad6ed7275960f0e Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sun, 9 Aug 2015 10:09:28 -0500 Subject: [PATCH] Ahh, that's better --- src/ax25.c | 3 ++- src/if.c | 4 ++-- src/test.c | 23 +++++------------------ 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/ax25.c b/src/ax25.c index 67c003a..56c5527 100644 --- a/src/ax25.c +++ b/src/ax25.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -195,7 +196,7 @@ int patty_ax25_next_event(patty_ax25 *ax25, patty_ax25_event *ev) { memcpy(&ax25->unix_fds_pending_write, &ax25->unix_fds, sizeof(ax25->unix_fds)); memcpy(&ax25->unix_fds_pending_error, &ax25->unix_fds, sizeof(ax25->unix_fds)); - if (select(ax25->unix_fdmax + 1, + if (select(ax25->unix_fdmax, &ax25->unix_fds_pending_read, &ax25->unix_fds_pending_write, &ax25->unix_fds_pending_error, diff --git a/src/if.c b/src/if.c index b040e37..e65fb1c 100644 --- a/src/if.c +++ b/src/if.c @@ -241,8 +241,8 @@ int patty_ax25_add_if(patty_ax25 *ax25, patty_ax25_if *iface) { if ((fd = patty_kiss_tnc_fd_unix(iface->tnc)) >= 0) { FD_SET(fd, &ax25->unix_fds); - if (ax25->unix_fdmax < fd) { - ax25->unix_fdmax = fd; + if (ax25->unix_fdmax < fd + 1) { + ax25->unix_fdmax = fd + 1; } } diff --git a/src/test.c b/src/test.c index f22c3ea..64bc173 100644 --- a/src/test.c +++ b/src/test.c @@ -35,8 +35,8 @@ int iface_callback(patty_ax25_if *iface, void *ctx) { int main(int argc, char **argv) { patty_ax25 ax25; patty_ax25_if *iface; - int fd; - + patty_ax25_event ev; + if (argc != 2) { usage(argc, argv, "No TNC device provided"); } @@ -65,22 +65,9 @@ int main(int argc, char **argv) { exit(127); } - if ((fd = patty_ax25_socket(&ax25)) < 0) { - perror("Unable to create new socket"); - - exit(127); - } - - if (patty_ax25_bind(&ax25, fd, "WX3RKR", 0) < 0) { - perror("Unable to bind socket to local address"); - - exit(127); - } - - if (patty_ax25_connect(&ax25, fd, "N5TX", 0) < 0) { - perror("Unable to connect"); - - exit(127); + if (patty_ax25_next_event(&ax25, &ev) >= 0) { + printf("Got event %d on fd %d\n", + ev.type, ev.fd); } patty_ax25_stop(&ax25);