From d55f9dce9f5f48f7a1a5e1c51ace5e2def59f46a Mon Sep 17 00:00:00 2001 From: Rafael Garcia-Suarez Date: Wed, 23 Jun 2004 06:47:50 +0000 Subject: Clarify error message when a synthesis file can't be read or gunzipped --- URPM.xs | 6 ++++-- t/fatal.t | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/URPM.xs b/URPM.xs index 6f0be1b..7b18190 100644 --- a/URPM.xs +++ b/URPM.xs @@ -3326,9 +3326,11 @@ Urpm_parse_synthesis(urpm, filename, ...) } } else { SV **nofatal = hv_fetch((HV*)SvRV(urpm), "nofatal", 7, 0); - errno = ENOENT; + if (!errno) errno = EINVAL; /* zlib error */ if (!nofatal || !SvIV(*nofatal)) - croak("unable to uncompress synthesis file %s", filename); + croak(errno == ENOENT + ? "unable to read synthesis file %s" + : "unable to uncompress synthesis file %s", filename); } } else croak("first argument should contain a depslist ARRAY reference"); } else croak("first argument should be a reference to a HASH"); diff --git a/t/fatal.t b/t/fatal.t index 5a98286..0cfeafa 100644 --- a/t/fatal.t +++ b/t/fatal.t @@ -10,7 +10,7 @@ eval { $u->parse_hdlist('non-existent'); }; like( $@, qr/^cannot open hdlist file non-existent/, 'fatal error on hdlist not found' ); is( $! + 0, $!{EBADF}, '$! is EBADF' ); eval { $u->parse_synthesis('non-existent'); }; -like( $@, qr/^unable to uncompress synthesis file non-existent/, 'fatal error on synthesis not found' ); +like( $@, qr/^unable to read synthesis file non-existent/, 'fatal error on synthesis not found' ); is( $! + 0, $!{ENOENT}, '$! is ENOENT' ); my $v = new URPM( nofatal => 1 ); -- cgit v1.2.1