summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdan Bedrik <3d4nb3@gmail.com>2018-05-08 21:39:16 +0300
committerTimo Teräs <timo.teras@iki.fi>2018-05-08 22:44:23 +0300
commitdafbb1c4f4c1266b31eafa967c024d6f79789842 (patch)
treedf7c418878c042c3a660422d382d6e397a10f9f8
parent258519b1cd32e285060fa4758c123b55ebfe3ef3 (diff)
downloadapk-tools-dafbb1c4f4c1266b31eafa967c024d6f79789842.tar.gz
apk-tools-dafbb1c4f4c1266b31eafa967c024d6f79789842.tar.bz2
apk-tools-dafbb1c4f4c1266b31eafa967c024d6f79789842.tar.xz
apk-tools-dafbb1c4f4c1266b31eafa967c024d6f79789842.zip
url: return relevant error value from apk_istream_fetch
-rw-r--r--src/url.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/url.c b/src/url.c
index 18a7b9d..414a109 100644
--- a/src/url.c
+++ b/src/url.c
@@ -110,14 +110,21 @@ static const struct apk_istream_ops fetch_istream_ops = {
static struct apk_istream *apk_istream_fetch(const char *url, time_t since)
{
- struct apk_fetch_istream *fis;
+ struct apk_fetch_istream *fis = NULL;
struct url *u;
fetchIO *io = NULL;
- int rc = -ENOMEM;
+ int rc = -EIO;
u = fetchParseURL(url);
+ if (!u) {
+ rc = -EAPKBADURL;
+ goto err;
+ }
fis = malloc(sizeof(*fis));
- if (!fis || !u) goto err;
+ if (!fis) {
+ rc = -ENOMEM;
+ goto err;
+ }
u->last_modified = since;
io = fetchXGet(u, &fis->urlstat, (apk_force & APK_FORCE_REFRESH) ? "Ci" : "i");