From 7041b73e0e3de5ba9450be88a343d71a17261a25 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Thu, 17 Sep 2020 21:58:56 -0500 Subject: [PATCH] Simplify patty_ax25_pton() state machine Simplify patty_ax25_pton() state machine to remove the unnecessary ADDR_NONE state --- src/ax25.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/ax25.c b/src/ax25.c index 1a54082..8e0f8b1 100644 --- a/src/ax25.c +++ b/src/ax25.c @@ -6,7 +6,6 @@ #include enum addr_state { - ADDR_NONE, ADDR_CALLSIGN, ADDR_SSID }; @@ -21,7 +20,7 @@ int patty_ax25_pton(const char *callsign, int ssid = 0; - enum addr_state state = ADDR_NONE; + enum addr_state state = ADDR_CALLSIGN; if (len == 0) { goto error_invalid_callsign; @@ -33,16 +32,6 @@ int patty_ax25_pton(const char *callsign, uint8_t c = callsign[i]; switch (state) { - case ADDR_NONE: - if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z')) { - state = ADDR_CALLSIGN; - addr->callsign[o++] = (c & 0x7f) << 1; - } else { - goto error_invalid_callsign; - } - - break; - case ADDR_CALLSIGN: if (o > PATTY_AX25_CALLSIGN_LEN) { goto error_invalid_callsign; @@ -59,7 +48,7 @@ int patty_ax25_pton(const char *callsign, break; case ADDR_SSID: - if (digits >= 2) { + if (digits == 2) { goto error_invalid_callsign; }