Fix invalid regular expression #156861
Empty parantheses are not supported in regular expressions on Darwin/macOS. The old regular expression produces an error during evaluation. This commit fixes that. Nix‘s `builtins.match` works with extend POSIX regular expressions. The specification for these regular expression states[^1] that the result for a left paranthesis immediately followed by a right paranthesis outside of a bracket expression is undefined. [^1]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04_03
This commit is contained in:
parent
a14bb132b5
commit
6a96992fe0
@ -9,7 +9,7 @@ let
|
|||||||
# On Nix level we don't attempt to precisely validate the address specifications.
|
# On Nix level we don't attempt to precisely validate the address specifications.
|
||||||
# The optional IPv6 scope spec comes *after* port, perhaps surprisingly.
|
# The optional IPv6 scope spec comes *after* port, perhaps surprisingly.
|
||||||
mkListen = kind: addr: let
|
mkListen = kind: addr: let
|
||||||
al_v4 = builtins.match "([0-9.]+):([0-9]+)()" addr;
|
al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr;
|
||||||
al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr;
|
al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr;
|
||||||
al_portOnly = builtins.match "([0-9]+)" addr;
|
al_portOnly = builtins.match "([0-9]+)" addr;
|
||||||
al = findFirst (a: a != null)
|
al = findFirst (a: a != null)
|
||||||
|
Loading…
Reference in New Issue
Block a user