Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix elixir 1.17 warnings #10

Merged
merged 1 commit into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ jobs:
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: '1.16.2'
otp-version: '26.2.3'
elixir-version: '1.17.0'
otp-version: '27.0'
- name: Restore dependencies cache
uses: actions/cache@v4
with:
Expand Down
14 changes: 7 additions & 7 deletions lib/peridio/rat/network.ex
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ defmodule Peridio.RAT.Network do
end
end

def reserved_ports(port_start..port_end) do
def reserved_ports(port_start..port_end//_) do
case System.cmd("ss", [
"-tauH",
"sport",
Expand Down Expand Up @@ -96,14 +96,14 @@ defmodule Peridio.RAT.Network do
|> elem(0)
end

def split_range(_start.._stop = range, numbers_to_remove) do
def split_range(_start.._stop//_ = range, numbers_to_remove) do
numbers_to_remove = Enum.sort(numbers_to_remove)
do_split_range(range, numbers_to_remove)
end

defp do_split_range(_range, _remove, _acc \\ [])

defp do_split_range(start..stop, [], acc) do
defp do_split_range(start..stop//_, [], acc) do
if start > stop do
acc
else
Expand All @@ -112,23 +112,23 @@ defmodule Peridio.RAT.Network do
end

# Number is outside range
defp do_split_range(start..stop, [head | _tail], acc)
defp do_split_range(start..stop//_, [head | _tail], acc)
when start > stop or head > stop do
do_split_range(start..stop, [], acc)
end

# Remove first in range
defp do_split_range(start..stop, [start | tail], acc) do
defp do_split_range(start..stop//_, [start | tail], acc) do
do_split_range((start + 1)..stop, tail, acc)
end

# Remove last in range
defp do_split_range(start..stop, [stop | _tail], acc) do
defp do_split_range(start..stop//_, [stop | _tail], acc) do
do_split_range(start..(stop - 1), [], acc)
end

# In range
defp do_split_range(start..stop, [head | tail], acc) do
defp do_split_range(start..stop//_, [head | tail], acc) do
new_range = start..(head - 1)
do_split_range((head + 1)..stop, tail, [new_range | acc])
end
Expand Down
12 changes: 6 additions & 6 deletions lib/peridio/rat/network/cidr.ex
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ defmodule Peridio.RAT.Network.CIDR do
end

def from_ip_range(_, acc \\ [])
def from_ip_range(s_ip..e_ip, acc) when s_ip >= e_ip, do: acc
def from_ip_range(s_ip..e_ip//_, acc) when s_ip >= e_ip, do: acc

def from_ip_range(ip_start..ip_end = range, acc) do
def from_ip_range(ip_start..ip_end//_ = range, acc) do
max_range_prefix =
Range.size(range)
|> :math.log2()
Expand Down Expand Up @@ -148,31 +148,31 @@ defmodule Peridio.RAT.Network.CIDR do
# l: [####]
# r: [##]
# ret: []
def difference(%__MODULE__{range: l_start..l_end}, %__MODULE__{range: r_start..r_end})
def difference(%__MODULE__{range: l_start..l_end//_}, %__MODULE__{range: r_start..r_end//_})
when l_start < r_start and l_end > r_end do
[]
end

# l: [###]
# r: [###]
# ret: [#]
def difference(%__MODULE__{range: l_start..l_end}, %__MODULE__{range: r_start..r_end})
def difference(%__MODULE__{range: l_start..l_end//_}, %__MODULE__{range: r_start..r_end//_})
when l_end < r_end and l_start <= r_start do
[(l_end + 1)..r_end] |> Enum.map(&from_ip_range/1) |> List.flatten()
end

# l: [###]
# r: [###]
# ret: [#]
def difference(%__MODULE__{range: l_start..l_end}, %__MODULE__{range: r_start..r_end})
def difference(%__MODULE__{range: l_start..l_end//_}, %__MODULE__{range: r_start..r_end//_})
when l_end > r_end and l_start >= r_start do
[(r_end + 1)..l_end] |> Enum.map(&from_ip_range/1) |> List.flatten()
end

# l: [##]
# r: [####]
# ret: [#][#]
def difference(%__MODULE__{range: l_start..l_end}, %__MODULE__{range: r_start..r_end})
def difference(%__MODULE__{range: l_start..l_end//_}, %__MODULE__{range: r_start..r_end//_})
when l_start > r_start and l_end < r_end do
[r_start..(l_start - 1), (l_end + 1)..r_end] |> Enum.map(&from_ip_range/1) |> List.flatten()
end
Expand Down