diff options
author | H. Peter Anvin <hpa@zytor.com> | 2011-10-20 14:52:47 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2011-10-20 14:52:47 -0700 |
commit | 580bd93b8c6bdc95311f27f1dbf4e0b3f92ba22d (patch) | |
tree | 424901947e39ec53f66f4452e9cd7cb2dd5d21dd | |
parent | 42be33b9e69fd0d6aa508e9d5d42a7b55c52ef3f (diff) | |
download | kup-580bd93b8c6bdc95311f27f1dbf4e0b3f92ba22d.tar.gz |
kup: better error messages from canonicalize_path()
Keep the old string around so that we can print error messages
that actually make sense if canonicalize_path() fails.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rwxr-xr-x | kup | 25 |
1 files changed, 17 insertions, 8 deletions
@@ -387,9 +387,10 @@ sub cmd_put() usage(1); } + my $xrt = $remote_tree; $remote_tree = canonicalize_path($remote_tree); if (!is_valid_filename($remote_tree) || $remote_tree !~ /\.git$/) { - die "$0: invalid path name for git tree: $remote_tree\n"; + die "$0: invalid path name for git tree: $xrt\n"; } if (!is_clean_string($ref)) { die "$0: invalid ref: $ref\n"; @@ -409,9 +410,11 @@ sub cmd_put() if (!defined($ref2)) { usage(1); } + + my $xrt = $remote_tree; $remote_tree = canonicalize_path($remote_tree); if (!is_valid_filename($remote_tree) || $remote_tree !~ /\.git$/) { - die "$0: invalid path name for git tree: $remote_tree\n"; + die "$0: invalid path name for git tree: $xrt\n"; } if (!is_clean_string($ref1)) { die "$0: invalid ref: $ref1\n"; @@ -451,9 +454,10 @@ sub cmd_put() $remote .= $file_tail; } + my $xrt = $remote; $remote = canonicalize_path($remote); if (!is_valid_filename($remote)) { - die "$0: invalid pathname: $remote\n"; + die "$0: invalid pathname: $xrt\n"; } if ($remote =~ /\.sign$/) { @@ -476,9 +480,10 @@ sub cmd_mkdir() usage(1); } + my $xrt = $remote; $remote = canonicalize_path($remote); if (!is_valid_filename($remote)) { - die "$0: invalid pathname: $remote\n"; + die "$0: invalid pathname: $xrt\n"; } if ($remote =~ /\.(sign|gz|bz2|xz)$/) { @@ -497,9 +502,10 @@ sub cmd_delete() usage(1); } + my $xrt = $remote; $remote = canonicalize_path($remote); if (!is_valid_filename($remote)) { - die "$0: invalid pathname: $remote\n"; + die "$0: invalid pathname: $xrt\n"; } if ($remote =~ /\.sign$/) { @@ -524,14 +530,16 @@ sub cmd_move_link($) usage(1); } + my $xrt = $from; $from = canonicalize_path($from); if (!is_valid_filename($from)) { - die "$0: invalid pathname: $from\n"; + die "$0: invalid pathname: $xrt\n"; } + $xrt = $to; $to = canonicalize_path($to, $from); if (!is_valid_filename($to)) { - die "$0: invalid pathname: $to\n"; + die "$0: invalid pathname: $xrt\n"; } if ($from =~ /\.sign$/ || $to =~ /\.sign$/) { @@ -558,9 +566,10 @@ sub cmd_dir() my $d = shift @args; $d =~ s:/$::g; if ($d ne '') { + my $xrt = $d; $d = canonicalize_path($d); if (!is_valid_filename($d)) { - die "$0: invalid pathname: $d\n"; + die "$0: invalid pathname: $xrt\n"; } } $d .= '/'; |