From b3d241164a7e34eed56159f4e0a8a2821b7ebf4d Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 24 Sep 2013 10:39:03 +0800 Subject: [PATCH 1/1] discover: load_url_async callback should take an int status We don't need a pointer here, just the status value. Signed-off-by: Jeremy Kerr --- discover/boot.c | 13 +++---------- discover/paths.c | 5 +---- discover/paths.h | 2 +- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/discover/boot.c b/discover/boot.c index a1e20e6..18bca58 100644 --- a/discover/boot.c +++ b/discover/boot.c @@ -287,7 +287,7 @@ static void run_boot_hooks(struct boot_task *task) free(hooks); } -static void boot_process(void *ctx, int *status) +static void boot_process(void *ctx, int status __attribute__((unused))) { struct boot_task *task = ctx; unsigned int clean_image = 0; @@ -307,7 +307,6 @@ static void boot_process(void *ctx, int *status) goto no_load; } else { task->state = BOOT_STATE_IMAGE_LOADING; - *status = 0; return; } } @@ -325,7 +324,6 @@ static void boot_process(void *ctx, int *status) goto no_load; } else { task->state = BOOT_STATE_INITRD_LOADING; - *status = 0; return; } } else { @@ -347,7 +345,6 @@ static void boot_process(void *ctx, int *status) goto no_load; } else { task->state = BOOT_STATE_FINISH; - *status = 0; return; } } else { @@ -357,7 +354,6 @@ static void boot_process(void *ctx, int *status) if (task->state != BOOT_STATE_FINISH) { task->state = BOOT_STATE_UNKNOWN; - *status = -1; return; } @@ -396,8 +392,6 @@ no_load: } talloc_free(task); - - *status = result; } int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd, @@ -406,7 +400,6 @@ int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd, struct boot_task *boot_task; struct pb_url *image = NULL; const char *boot_desc; - int result; if (opt && opt->option->name) boot_desc = opt->option->name; @@ -457,7 +450,7 @@ int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd, boot_task->args = NULL; } - boot_process(boot_task, &result); + boot_process(boot_task, 0); - return result; + return 0; } diff --git a/discover/paths.c b/discover/paths.c index a1f65ec..dbdf16e 100644 --- a/discover/paths.c +++ b/discover/paths.c @@ -17,7 +17,6 @@ struct load_url_async_data { load_url_callback url_cb; void *ctx; - int status; }; const char *mount_base(void) @@ -62,8 +61,7 @@ static void load_url_exit_cb(struct process *process) pb_log("The download client '%s' [pid %d] exited, rc %d\n", process->path, process->pid, process->exit_status); - if (!url_data->status) - url_data->url_cb(url_data->ctx, &(url_data->status)); + url_data->url_cb(url_data->ctx, process->exit_status); process_release(process); } @@ -362,7 +360,6 @@ char *load_url_async(void *ctx, struct pb_url *url, unsigned int *tempfile, url_data = talloc_zero(ctx, struct load_url_async_data); url_data->url_cb = url_cb; url_data->ctx = ctx; - url_data->status = 0; } switch (url->scheme) { diff --git a/discover/paths.h b/discover/paths.h index 93788e9..2f52e82 100644 --- a/discover/paths.h +++ b/discover/paths.h @@ -16,7 +16,7 @@ char *join_paths(void *alloc_ctx, const char *a, const char *b); */ const char *mount_base(void); -typedef void (*load_url_callback)(void *data, int *status); +typedef void (*load_url_callback)(void *data, int status); /* Load a (potentially remote) file, and return a guaranteed-local name */ char *load_url_async(void *ctx, struct pb_url *url, unsigned int *tempfile, -- 2.39.2