From 0decdda086193914649455dd324a40a3e965629f Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sun, 7 Jun 2020 03:10:05 -0400 Subject: [PATCH] Only need one of those memcpy() around --- src/frame.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/frame.c b/src/frame.c index f5a8f35..3e53a40 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3,8 +3,9 @@ #include -static ssize_t validate_station(void *data, - off_t offset) { +static ssize_t decode_station(patty_ax25_addr *addr, + void *data, + off_t offset) { int i, space = 0; for (i=0; irepeaters[i], data, offset)) < 0) { goto error; } else { - memcpy(&frame->repeaters[i], addr, sizeof(*addr)); - offset += decoded; } @@ -86,19 +87,15 @@ static ssize_t decode_address(patty_ax25_frame *frame, off_t offset = start; ssize_t decoded; - if ((decoded = validate_station(data, offset)) < 0) { + if ((decoded = decode_station(&frame->dest, data, offset)) < 0) { goto error; } else { - memcpy(&frame->dest, ((uint8_t *)data) + offset, sizeof(frame->dest)); - offset += decoded; } - if ((decoded = validate_station(data, offset)) < 0) { + if ((decoded = decode_station(&frame->src, data, offset)) < 0) { goto error; } else { - memcpy(&frame->src, ((uint8_t *)data) + offset, sizeof(frame->src)); - offset += decoded; }