Move APRS-IS connection code to aprs_is_connect()
Move APRS-IS connection code to aprs_is_connect() in src/aprs_is.c
This commit is contained in:
parent
52350ad0e8
commit
606237606d
1 changed files with 31 additions and 16 deletions
|
@ -89,9 +89,8 @@ error_send_va:
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
patty_ax25_aprs_is *patty_ax25_aprs_is_new(patty_ax25_aprs_is_info *info) {
|
static int aprs_is_connect(patty_ax25_aprs_is *aprs,
|
||||||
patty_ax25_aprs_is *aprs;
|
patty_ax25_aprs_is_info *info) {
|
||||||
|
|
||||||
struct addrinfo *ai0,
|
struct addrinfo *ai0,
|
||||||
*ai;
|
*ai;
|
||||||
|
|
||||||
|
@ -99,17 +98,6 @@ patty_ax25_aprs_is *patty_ax25_aprs_is_new(patty_ax25_aprs_is_info *info) {
|
||||||
goto error_getaddrinfo;
|
goto error_getaddrinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((aprs = malloc(sizeof(*aprs))) == NULL) {
|
|
||||||
goto error_malloc_aprs;
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(aprs, '\0', sizeof(*aprs));
|
|
||||||
|
|
||||||
aprs->rx_bufsz = PATTY_AX25_APRS_IS_PACKET_MAX;
|
|
||||||
aprs->tx_bufsz = PATTY_AX25_APRS_IS_FRAME_MAX;
|
|
||||||
aprs->infosz = PATTY_AX25_APRS_IS_PAYLOAD_MAX;
|
|
||||||
aprs->state = APRS_IS_HEADER;
|
|
||||||
|
|
||||||
for (ai=ai0; ai; ai=ai->ai_next) {
|
for (ai=ai0; ai; ai=ai->ai_next) {
|
||||||
if ((aprs->fd = socket(ai->ai_family,
|
if ((aprs->fd = socket(ai->ai_family,
|
||||||
ai->ai_socktype,
|
ai->ai_socktype,
|
||||||
|
@ -135,15 +123,42 @@ patty_ax25_aprs_is *patty_ax25_aprs_is_new(patty_ax25_aprs_is_info *info) {
|
||||||
goto error_send_fmt;
|
goto error_send_fmt;
|
||||||
}
|
}
|
||||||
|
|
||||||
return aprs;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
error_send_fmt:
|
error_send_fmt:
|
||||||
close(aprs->fd);
|
close(aprs->fd);
|
||||||
|
|
||||||
|
error_getaddrinfo:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
patty_ax25_aprs_is *patty_ax25_aprs_is_new(patty_ax25_aprs_is_info *info) {
|
||||||
|
patty_ax25_aprs_is *aprs;
|
||||||
|
|
||||||
|
if ((aprs = malloc(sizeof(*aprs))) == NULL) {
|
||||||
|
goto error_malloc_aprs;
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(aprs, '\0', sizeof(*aprs));
|
||||||
|
|
||||||
|
aprs->rx_bufsz = PATTY_AX25_APRS_IS_PACKET_MAX;
|
||||||
|
aprs->tx_bufsz = PATTY_AX25_APRS_IS_FRAME_MAX;
|
||||||
|
aprs->infosz = PATTY_AX25_APRS_IS_PAYLOAD_MAX;
|
||||||
|
aprs->state = APRS_IS_HEADER;
|
||||||
|
|
||||||
|
if (aprs_is_connect(aprs, info) < 0) {
|
||||||
|
goto error_connect;
|
||||||
|
}
|
||||||
|
|
||||||
|
return aprs;
|
||||||
|
|
||||||
|
error_connect:
|
||||||
|
close(aprs->fd);
|
||||||
|
|
||||||
free(aprs);
|
free(aprs);
|
||||||
|
|
||||||
error_malloc_aprs:
|
error_malloc_aprs:
|
||||||
error_getaddrinfo:
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue