diff --git a/include/patty/kiss.h b/include/patty/kiss.h index 059e169..7fdc8ab 100644 --- a/include/patty/kiss.h +++ b/include/patty/kiss.h @@ -29,9 +29,9 @@ enum patty_kiss_command { typedef struct _patty_kiss_tnc patty_kiss_tnc; -patty_kiss_tnc *patty_kiss_tnc_open_fd(int fd, size_t bufsize); +patty_kiss_tnc *patty_kiss_tnc_open_fd(int fd); -patty_kiss_tnc *patty_kiss_tnc_open(const char *device, size_t bufsize); +patty_kiss_tnc *patty_kiss_tnc_open(const char *device); int patty_kiss_tnc_fd_unix(patty_kiss_tnc *tnc); diff --git a/src/decode.c b/src/decode.c index 3cadf79..b429467 100644 --- a/src/decode.c +++ b/src/decode.c @@ -17,7 +17,7 @@ static void usage(int argc, char **argv, const char *message, ...) { va_end(args); } - fprintf(stderr, "usage: %s kiss.cap\n", argv[0]); + fprintf(stderr, "usage: %s [/dev/ttyXX|kiss.cap]\n", argv[0]); exit(1); } @@ -145,11 +145,15 @@ int main(int argc, char **argv) { void *buf; int port; - if (argc != 2) { - usage(argc, argv, "No TNC device provided"); + if (argc > 2) { + usage(argc, argv, NULL); } - if ((tnc = patty_kiss_tnc_open(argv[1], PATTY_KISS_BUFSZ)) == NULL) { + tnc = (argc == 2)? + patty_kiss_tnc_open(argv[1]): + patty_kiss_tnc_open_fd(0); + + if (tnc == NULL) { perror("Unable to open TNC"); goto error_kiss_tnc_open; diff --git a/src/if.c b/src/if.c index af55fbb..9d2465e 100644 --- a/src/if.c +++ b/src/if.c @@ -17,7 +17,7 @@ static patty_ax25_if *create_tnc(const char *device) { memset(iface, '\0', sizeof(*iface)); - if ((iface->tnc = patty_kiss_tnc_open(device, PATTY_KISS_BUFSZ)) == NULL) { + if ((iface->tnc = patty_kiss_tnc_open(device)) == NULL) { goto error_kiss_tnc_open; } diff --git a/src/kiss.c b/src/kiss.c index 105d94a..c405144 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -28,19 +28,19 @@ struct _patty_kiss_tnc { dropped; }; -patty_kiss_tnc *patty_kiss_tnc_open_fd(int fd, size_t bufsz) { +patty_kiss_tnc *patty_kiss_tnc_open_fd(int fd) { patty_kiss_tnc *tnc; if ((tnc = malloc(sizeof(*tnc))) == NULL) { goto error_malloc_tnc; } - if ((tnc->buf = malloc(bufsz)) == NULL) { + if ((tnc->buf = malloc(PATTY_KISS_BUFSZ)) == NULL) { goto error_malloc_buf; } tnc->fd = fd; - tnc->bufsz = bufsz; + tnc->bufsz = PATTY_KISS_BUFSZ; tnc->buflen = 0; tnc->dropped = 0; @@ -53,7 +53,7 @@ error_malloc_tnc: return NULL; } -patty_kiss_tnc *patty_kiss_tnc_open(const char *device, size_t bufsz) { +patty_kiss_tnc *patty_kiss_tnc_open(const char *device) { patty_kiss_tnc *tnc; int fd; @@ -61,7 +61,7 @@ patty_kiss_tnc *patty_kiss_tnc_open(const char *device, size_t bufsz) { goto error_open; } - if ((tnc = patty_kiss_tnc_open_fd(fd, bufsz)) == NULL) { + if ((tnc = patty_kiss_tnc_open_fd(fd)) == NULL) { goto error_tnc_open_fd; }