summaryrefslogtreecommitdiffstats
path: root/discover/parser.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-09-24 11:03:11 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-09-26 15:13:16 +0800
commit227620704107a19c03824ae146249fff4a939839 (patch)
treea1c92aab5aa9d46eab9c79b168e168b26e2efa34 /discover/parser.c
parentca5a62c1d04a3eea1d1c307d4fa4f0b1559140d2 (diff)
downloadtalos-petitboot-227620704107a19c03824ae146249fff4a939839.tar.gz
talos-petitboot-227620704107a19c03824ae146249fff4a939839.zip
discover: Add struct load_url_result and load_task
Currently, load_url and load_url_async return a filename parameter and a tempfile flag (indicating whether the file needs to be cleaned after use). Instead, encapsulate this data in a struct load_url_result, which the caller (and async callbacks) can read the status, filename and clean parameters. For internal use in load_url and helpers, we add a struct load_task to hold a pointer to the load_url_result and async data. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/parser.c')
-rw-r--r--discover/parser.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/discover/parser.c b/discover/parser.c
index 7d9cd0d..a304f0c 100644
--- a/discover/parser.c
+++ b/discover/parser.c
@@ -29,23 +29,22 @@ static char *local_path(struct discover_context *ctx,
static int download_config(struct discover_context *ctx, char **buf, int *len)
{
- unsigned tempfile;
- const char *file;
+ struct load_url_result *result;
int rc;
- file = load_url(ctx, ctx->conf_url, &tempfile);
- if (!file)
+ result = load_url(ctx, ctx->conf_url);
+ if (!result)
return -1;
- rc = read_file(ctx, file, buf, len);
+ rc = read_file(ctx, result->local, buf, len);
if (rc)
goto out_clean;
return 0;
out_clean:
- if (tempfile)
- unlink(file);
+ if (result->cleanup_local)
+ unlink(result->local);
return -1;
}
OpenPOWER on IntegriCloud