This commit is contained in:
XANTRONIX Development 2015-07-26 01:31:38 -05:00 committed by XANTRONIX Industrial
parent 275dec9760
commit c4727bafb9

View file

@ -82,7 +82,6 @@ error_malloc_sock:
int patty_ax25_listen(patty_ax25 *ax25, int socket, const char *callsign, int ssid) {
patty_ax25_sock *sock;
patty_ax25_address *addr;
if ((sock = patty_dict_get(ax25->fd_lookup, &socket, sizeof(socket))) == NULL) {
errno = EBADF;
@ -100,19 +99,13 @@ int patty_ax25_listen(patty_ax25 *ax25, int socket, const char *callsign, int ss
goto error_exists;
}
if ((addr = malloc(sizeof(*addr))) == NULL) {
goto error_malloc_addr;
if ((sock->local = patty_ax25_address_create(callsign, ssid)) == NULL) {
goto error_address_create;
}
strncpy(addr->callsign, callsign, sizeof(addr->callsign));
addr->ssid = ssid;
addr->last = 0;
addr->c = 0;
return 0;
error_malloc_addr:
error_address_create:
error_exists:
error_dict_get:
return -1;
@ -120,7 +113,6 @@ error_dict_get:
int patty_ax25_connect(patty_ax25 *ax25, int socket, const char *callsign, int ssid) {
patty_ax25_sock *sock;
patty_ax25_address *addr;
if ((sock = patty_dict_get(ax25->fd_lookup, &socket, sizeof(socket))) == NULL) {
errno = EBADF;
@ -128,21 +120,20 @@ int patty_ax25_connect(patty_ax25 *ax25, int socket, const char *callsign, int s
goto error_dict_get;
}
if ((addr = malloc(sizeof(*addr))) == NULL) {
goto error_malloc_addr;
if (sock->remote != NULL) {
errno = EEXIST;
goto error_exists;
}
strncpy(addr->callsign, callsign, sizeof(addr->callsign));
addr->ssid = ssid;
addr->last = 0;
addr->c = 0;
sock->remote = addr;
if ((sock->remote = patty_ax25_address_create(callsign, ssid)) == NULL) {
goto error_address_create;
}
return 0;
error_malloc_addr:
error_address_create:
error_exists:
error_dict_get:
return -1;
}