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; }