X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fpaths.c;h=54774cf3b6135cb9ffdac41b0f3f731e7699d1b0;hp=64b218e820d2f06ec508584a7b4a2fddea0fc5b6;hb=d8d61e648ebf6a3336820db94244c4251361cf2f;hpb=8c8fd93738a5d589b52a3791cd231e6661322b76 diff --git a/discover/paths.c b/discover/paths.c index 64b218e..54774cf 100644 --- a/discover/paths.c +++ b/discover/paths.c @@ -1,4 +1,6 @@ -#define _GNU_SOURCE +#if defined(HAVE_CONFIG_H) +#include "config.h" +#endif #include #include @@ -84,7 +86,7 @@ static void load_url_process_exit(struct process *process) if (result->status == LOAD_CANCELLED) { load_url_result_cleanup_local(result); - } else if (process->exit_status == 0) { + } else if (process_exit_ok(process)) { result->status = LOAD_OK; } else { result->status = LOAD_ERROR; @@ -129,7 +131,10 @@ static void load_process_to_local_file(struct load_task *task, task->result->status = rc ? LOAD_ERROR : LOAD_ASYNC; } else { rc = process_run_sync(task->process); - task->result->status = rc ? LOAD_ERROR : LOAD_OK; + if (rc || !process_exit_ok(task->process)) + task->result->status = LOAD_ERROR; + else + task->result->status = LOAD_OK; process_release(task->process); task->process = NULL; } @@ -220,6 +225,7 @@ static enum tftp_type check_tftp_type(void *ctx) process->path = pb_system_apps.tftp; process->argv = argv; process->keep_stdout = true; + process->add_stderr = true; process_run_sync(process); if (!process->stdout_buf || process->stdout_len == 0) {