From fd98e9c7189a18b27935f92449dea58962e6cbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Fri, 24 Apr 2015 09:31:28 +0300 Subject: modifications for the previous commit in error message handling forgot to --amend my changes --- src/apk_defines.h | 3 ++- src/database.c | 2 ++ src/print.c | 6 +++--- src/url.c | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/apk_defines.h b/src/apk_defines.h index 6bf4624d06..1867b82c8e 100644 --- a/src/apk_defines.h +++ b/src/apk_defines.h @@ -32,7 +32,8 @@ #define NULL 0L #endif -#define EAPKSTALEINDEX 1024 +#define EAPKBADURL 1024 +#define EAPKSTALEINDEX 1025 static inline void *ERR_PTR(long error) { return (void*) error; } static inline void *ERR_CAST(const void *ptr) { return (void*) ptr; } diff --git a/src/database.c b/src/database.c index 0b26bb2873..0f0496b04d 100644 --- a/src/database.c +++ b/src/database.c @@ -2591,6 +2591,8 @@ static int apk_db_unpack_pkg(struct apk_database *db, bs = apk_bstream_from_fd_url(filefd, file); if (IS_ERR_OR_NULL(bs)) { r = PTR_ERR(bs); + if (r == -ENOENT && pkg->filename == NULL) + r = -EAPKSTALEINDEX; goto err_msg; } if (need_copy) { diff --git a/src/print.c b/src/print.c index e0681eef29..3e2a57047a 100644 --- a/src/print.c +++ b/src/print.c @@ -143,15 +143,15 @@ const char *apk_error_str(int error) case ENXIO: return "DNS lookup error"; case EREMOTEIO: - return "error code returned by repo server (try 'apk update')"; + return "remote server returned error (try 'apk update')"; case ETIMEDOUT: return "operation timed out"; case EAGAIN: return "temporary error (try again later)"; - case EINVAL: + case EAPKBADURL: return "invalid URL (check your repositories file)"; case EAPKSTALEINDEX: - return "file not available from repo server (try 'apk update')"; + return "package mentioned in index not found (try 'apk update')"; default: return strerror(error); } diff --git a/src/url.c b/src/url.c index 2dc47c7ce4..b9fcc53116 100644 --- a/src/url.c +++ b/src/url.c @@ -58,7 +58,7 @@ static int fetch_maperror(int ec) [FETCH_TIMEOUT] = -ETIMEDOUT, [FETCH_UNAVAIL] = -ENOENT, [FETCH_UNKNOWN] = -EIO, - [FETCH_URL] = -EINVAL, + [FETCH_URL] = -EAPKBADURL, [FETCH_UNCHANGED] = -EALREADY, }; -- cgit v1.2.3