Make patty_kiss_tnc_open() use default buffer size

Make patty_kiss_tnc_open() use default buffer size

Other changes:

    * Make src/decode.c no longer require a filename to use as a TNC
This commit is contained in:
XANTRONIX Development 2020-05-27 22:22:42 -04:00 committed by XANTRONIX Industrial
parent 2eacce6f09
commit 66e5de9d6c
4 changed files with 16 additions and 12 deletions

View file

@ -29,9 +29,9 @@ enum patty_kiss_command {
typedef struct _patty_kiss_tnc patty_kiss_tnc; 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); int patty_kiss_tnc_fd_unix(patty_kiss_tnc *tnc);

View file

@ -17,7 +17,7 @@ static void usage(int argc, char **argv, const char *message, ...) {
va_end(args); 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); exit(1);
} }
@ -145,11 +145,15 @@ int main(int argc, char **argv) {
void *buf; void *buf;
int port; int port;
if (argc != 2) { if (argc > 2) {
usage(argc, argv, "No TNC device provided"); 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"); perror("Unable to open TNC");
goto error_kiss_tnc_open; goto error_kiss_tnc_open;

View file

@ -17,7 +17,7 @@ static patty_ax25_if *create_tnc(const char *device) {
memset(iface, '\0', sizeof(*iface)); 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; goto error_kiss_tnc_open;
} }

View file

@ -28,19 +28,19 @@ struct _patty_kiss_tnc {
dropped; 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; patty_kiss_tnc *tnc;
if ((tnc = malloc(sizeof(*tnc))) == NULL) { if ((tnc = malloc(sizeof(*tnc))) == NULL) {
goto error_malloc_tnc; goto error_malloc_tnc;
} }
if ((tnc->buf = malloc(bufsz)) == NULL) { if ((tnc->buf = malloc(PATTY_KISS_BUFSZ)) == NULL) {
goto error_malloc_buf; goto error_malloc_buf;
} }
tnc->fd = fd; tnc->fd = fd;
tnc->bufsz = bufsz; tnc->bufsz = PATTY_KISS_BUFSZ;
tnc->buflen = 0; tnc->buflen = 0;
tnc->dropped = 0; tnc->dropped = 0;
@ -53,7 +53,7 @@ error_malloc_tnc:
return NULL; 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; patty_kiss_tnc *tnc;
int fd; int fd;
@ -61,7 +61,7 @@ patty_kiss_tnc *patty_kiss_tnc_open(const char *device, size_t bufsz) {
goto error_open; 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; goto error_tnc_open_fd;
} }