diff options
author | tv <tv@krebsco.de> | 2016-06-12 18:13:05 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2016-06-12 18:13:05 +0200 |
commit | 29442eda7c864265ccf23df0b350572d5527dd86 (patch) | |
tree | 0d59aace409a141afb7442146f95c45cf67d8249 /krebs/4lib | |
parent | 66bcbc56ea270eec5fb362eac0fc4725a946ee08 (diff) |
krebs {absolute,}-pathname: admit harder
Diffstat (limited to 'krebs/4lib')
-rw-r--r-- | krebs/4lib/types.nix | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/krebs/4lib/types.nix b/krebs/4lib/types.nix index 678ae7a60..4742877a7 100644 --- a/krebs/4lib/types.nix +++ b/krebs/4lib/types.nix @@ -334,7 +334,8 @@ types // rec { # TODO two slashes absolute-pathname = mkOptionType { name = "POSIX absolute pathname"; - check = s: s == "/" || (pathname.check s && substring 0 1 s == "/"); + check = x: let xs = splitString "/" x; xa = head xs; in + xa == "/" || (xa == "" && all filename.check (tail xs)); merge = mergeOneOption; }; @@ -342,7 +343,8 @@ types // rec { # TODO normalize slashes pathname = mkOptionType { name = "POSIX pathname"; - check = s: isString s && all filename.check (splitString "/" s); + check = x: let xs = splitString "/" x; in + all filename.check (if head xs == "" then tail xs else xs); merge = mergeOneOption; }; |