[bug#73438] Better error message in checkStoreName
Commit Message
When trying to pass a local-file beginning with a dot to something like
home-files-service-type, one gets an error message like:
guix home: error: invalid name: `.vimrc'
which does not explain what went wrong. This update should make it more clear.
Change-Id: I045a663bc6cd9844677c65b38a31d3941cf212b5
---
nix/libstore/store-api.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
base-commit: 6ea75bb9bcc52521f0bb3f121799745fdc17f1c9
Comments
Brennan Vincent <brennan@umanwizard.com> skribis:
> When trying to pass a local-file beginning with a dot to something like
> home-files-service-type, one gets an error message like:
>
> guix home: error: invalid name: `.vimrc'
>
> which does not explain what went wrong. This update should make it more clear.
>
> Change-Id: I045a663bc6cd9844677c65b38a31d3941cf212b5
I tweaked the commit log to match our conventions and applied it,
thanks!
Ludo’.
@@ -61,7 +61,7 @@ void checkStoreName(const string & name)
/* Disallow names starting with a dot for possible security
reasons (e.g., "." and ".."). */
if (string(name, 0, 1) == ".")
- throw Error(format("invalid name: `%1%'") % name);
+ throw Error(format("invalid name: `%1%' (can't begin with dot)") % name);
foreach (string::const_iterator, i, name)
if (!((*i >= 'A' && *i <= 'Z') ||
(*i >= 'a' && *i <= 'z') ||