summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Spiers <stow@adamspiers.org>2012-07-09 01:06:13 +0100
committerAdam Spiers <stow@adamspiers.org>2012-07-09 01:06:13 +0100
commit8ccef0760156b1f394294e726462e683f1015904 (patch)
tree6c48bdf6e5ce3171f850c09254ef5ba55cecc8f2
parent67936bd7de13713a38d11880f685f6187c408dc4 (diff)
downloadstow-8ccef0760156b1f394294e726462e683f1015904.tar.gz
Only include $! in error messages for failed syscalls.
-rwxr-xr-xlib/Stow.pm.in26
-rw-r--r--lib/Stow/Util.pm2
2 files changed, 14 insertions, 14 deletions
diff --git a/lib/Stow.pm.in b/lib/Stow.pm.in
index fc24f4f..931740f 100755
--- a/lib/Stow.pm.in
+++ b/lib/Stow.pm.in
@@ -323,7 +323,7 @@ sub within_target_do {
my $cwd = getcwd();
chdir($self->{target})
- or error("Cannot chdir to target tree: $self->{target}");
+ or error("Cannot chdir to target tree: $self->{target} ($!)");
debug(3, "cwd now $self->{target}");
$self->$code();
@@ -367,7 +367,7 @@ sub stow_contents {
unless $self->is_a_node($target);
opendir my $DIR, $path
- or error("cannot read directory: $path");
+ or error("cannot read directory: $path ($!)");
my @listing = readdir $DIR;
closedir $DIR;
@@ -607,7 +607,7 @@ sub unstow_contents_orig {
unless -d $target;
opendir my $DIR, $target
- or error("cannot read directory: $target");
+ or error("cannot read directory: $target ($!)");
my @listing = readdir $DIR;
closedir $DIR;
@@ -734,7 +734,7 @@ sub unstow_contents {
unless $self->is_a_node($target);
opendir my $DIR, $path
- or error("cannot read directory: $path");
+ or error("cannot read directory: $path ($!)");
my @listing = readdir $DIR;
closedir $DIR;
@@ -960,7 +960,7 @@ sub cleanup_invalid_links {
}
opendir my $DIR, $dir
- or error("cannot read directory: $dir");
+ or error("cannot read directory: $dir ($!)");
my @listing = readdir $DIR;
closedir $DIR;
@@ -1449,13 +1449,13 @@ sub process_task {
if ($task->{action} eq 'create') {
if ($task->{type} eq 'dir') {
mkdir($task->{path}, 0777)
- or error(qq(Could not create directory: $task->{path}));
+ or error("Could not create directory: $task->{path} ($!)");
return;
}
elsif ($task->{type} eq 'link') {
symlink $task->{source}, $task->{path}
or error(
- q(Could not create symlink: %s => %s),
+ "Could not create symlink: %s => %s ($!)",
$task->{path},
$task->{source}
);
@@ -1465,12 +1465,12 @@ sub process_task {
elsif ($task->{action} eq 'remove') {
if ($task->{type} eq 'dir') {
rmdir $task->{path}
- or error(qq(Could not remove directory: $task->{path}));
+ or error("Could not remove directory: $task->{path} ($!)");
return;
}
elsif ($task->{type} eq 'link') {
unlink $task->{path}
- or error(qq(Could not remove link: $task->{path}));
+ or error("Could not remove link: $task->{path} ($!)");
return;
}
}
@@ -1479,13 +1479,13 @@ sub process_task {
# rename() not good enough, since the stow directory
# might be on a different filesystem to the target.
move $task->{path}, $task->{dest}
- or error(qq(Could not move $task->{path} -> $task->{dest}));
+ or error("Could not move $task->{path} -> $task->{dest} ($!)");
return;
}
}
# Should never happen.
- internal_error(qq(bad task action: $task->{action}));
+ internal_error("bad task action: $task->{action}");
}
#===== METHOD ===============================================================
@@ -1735,7 +1735,7 @@ sub read_a_link {
elsif (-l $path) {
debug(4, " read_a_link($path): real link");
return readlink $path
- or error("Could not read link: $path");
+ or error("Could not read link: $path ($!)");
}
internal_error("read_a_link() passed a non link path: $path\n");
}
@@ -1859,7 +1859,7 @@ sub do_unlink {
# Remove the link
debug(1, "UNLINK: $file");
- my $source = readlink $file or error("could not readlink $file");
+ my $source = readlink $file or error("could not readlink $file ($!)");
my $task = {
action => 'remove',
diff --git a/lib/Stow/Util.pm b/lib/Stow/Util.pm
index 173f1ec..2b5bbdb 100644
--- a/lib/Stow/Util.pm
+++ b/lib/Stow/Util.pm
@@ -43,7 +43,7 @@ Outputs an error message in a consistent form and then dies.
sub error {
my ($format, @args) = @_;
- die "$ProgramName: ERROR: " . sprintf($format, @args) . " ($!)\n";
+ die "$ProgramName: ERROR: " . sprintf($format, @args) . "\n";
}
=head2 set_debug_level($level)