diff --git a/src/ax25.c b/src/ax25.c index ac9a5b8..f453244 100644 --- a/src/ax25.c +++ b/src/ax25.c @@ -38,10 +38,10 @@ int patty_ax25_pton(const char *callsign, goto error_invalid_callsign; } - if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z')) { - addr->callsign[o++] = (c & 0x7f) << 1; - } else if (c == '-') { + if (c == '-') { state = ADDR_SSID; + } else if (PATTY_AX25_ADDR_CHAR_VALID(c)) { + addr->callsign[o++] = (c & 0x7f) << 1; } else { goto error_invalid_callsign; }