diff --git a/lib/aprsme_web/aprs_symbol.ex b/lib/aprsme_web/aprs_symbol.ex index 8adb715..33786d3 100644 --- a/lib/aprsme_web/aprs_symbol.ex +++ b/lib/aprsme_web/aprs_symbol.ex @@ -164,14 +164,19 @@ defmodule AprsmeWeb.AprsSymbol do "/" """ @spec normalize_symbol_table(String.t() | nil) :: String.t() - def normalize_symbol_table(symbol_table) do - cond do - symbol_table in ["/", "\\", "]"] -> symbol_table - symbol_table && String.match?(symbol_table, ~r/^[A-Z0-9]$/) -> "]" - true -> "/" + def normalize_symbol_table(table) when table in ["/", "\\", "]"], do: table + + def normalize_symbol_table(table) when is_binary(table) do + # A single alphanumeric character is an overlay — map to the overlay table. + if String.match?(table, ~r/^[A-Z0-9]$/) do + "]" + else + "/" end end + def normalize_symbol_table(_), do: "/" + @doc """ Normalizes a symbol code.