hrev51465 adds 1 changeset to branch 'master'
old head: 1f424b6ac87a54971b29222a8ac73ff0207a8ba2
new head: a00bd28a9bb524e4bd2fa12d3f0c45835ecea36b
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=a00bd28a9bb5+%5E1f424b6ac87a
----------------------------------------------------------------------------
a00bd28a9bb5: Package Kit: map some curl errors to Be error codes
Trying to get something more useful than "aborted: no error" in case of
network errors in pkgman.
[ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51465
Commit: a00bd28a9bb524e4bd2fa12d3f0c45835ecea36b
URL: http://cgit.haiku-os.org/haiku/commit/?id=a00bd28a9bb5
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sat Oct 7 20:05:47 2017 UTC
----------------------------------------------------------------------------
1 file changed, 34 insertions(+), 4 deletions(-)
src/kits/package/FetchFileJob.cpp | 38 +++++++++++++++++++++++++++++++----
----------------------------------------------------------------------------
diff --git a/src/kits/package/FetchFileJob.cpp
b/src/kits/package/FetchFileJob.cpp
index 1c88cc1..fa55dcd 100644
--- a/src/kits/package/FetchFileJob.cpp
+++ b/src/kits/package/FetchFileJob.cpp
@@ -120,11 +120,41 @@ FetchFileJob::Execute()
result = curl_easy_perform(handle);
curl_easy_cleanup(handle);
- if (result != CURLE_OK) {
- // TODO: map more curl error codes to ours for more
- // precise error reporting
- return B_ERROR;
+
+ switch (result) {
+ case CURLE_OK:
+ return B_OK;
+ case CURLE_UNSUPPORTED_PROTOCOL:
+ return EPROTONOSUPPORT;
+ case CURLE_FAILED_INIT:
+ return B_NO_INIT;
+ case CURLE_URL_MALFORMAT:
+ return B_BAD_VALUE;
+ case CURLE_NOT_BUILT_IN:
+ return B_NOT_SUPPORTED;
+ case CURLE_COULDNT_RESOLVE_PROXY:
+ case CURLE_COULDNT_RESOLVE_HOST:
+ return B_NAME_NOT_FOUND;
+ case CURLE_COULDNT_CONNECT:
+ return ECONNREFUSED;
+ case CURLE_FTP_WEIRD_SERVER_REPLY:
+ return B_BAD_DATA;
+ case CURLE_REMOTE_ACCESS_DENIED:
+ return B_NOT_ALLOWED;
+ case CURLE_PARTIAL_FILE:
+ return B_PARTIAL_READ;
+ case CURLE_OUT_OF_MEMORY:
+ return B_NO_MEMORY;
+ case CURLE_OPERATION_TIMEDOUT:
+ return B_TIMED_OUT;
+ case CURLE_SSL_CONNECT_ERROR:
+ return B_BAD_REPLY;
+ default:
+ // TODO: map more curl error codes to ours for more
+ // precise error reporting
+ return B_ERROR;
}
+
#endif /* !HAIKU_BOOTSTRAP_BUILD */
return B_OK;