X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fcommon%2Floader.c;h=74b3c76ed63ddb44a84e70662b414df7ad81a8b0;hp=009871d3109ee348f5704bd530bc0e4422903382;hb=e01ca9726e5ce96605cb57595999885fde18884b;hpb=604a1ccf072f9f33326fb6dc919c1b6233d40866 diff --git a/ui/common/loader.c b/ui/common/loader.c index 009871d..74b3c76 100644 --- a/ui/common/loader.c +++ b/ui/common/loader.c @@ -94,7 +94,7 @@ static char *pb_load_nfs(void *ctx, struct pb_url *url) *p++ = local; /* 7 */ *p++ = NULL; /* 8 */ - result = pb_run_cmd(argv, 1); + result = pb_run_cmd(argv, 1, 0); talloc_free(opts); @@ -122,7 +122,7 @@ fail: static char *pb_load_sftp(void *ctx, struct pb_url __attribute__((unused)) *url) { int result; - const char *argv[5]; + const char *argv[4]; const char **p; char *local; @@ -132,13 +132,12 @@ static char *pb_load_sftp(void *ctx, struct pb_url __attribute__((unused)) *url) return NULL; p = argv; - *p++ = pb_system_apps.sftp; /* 1 */ - *p++ = url->host; /* 2 */ - *p++ = url->path; /* 3 */ - *p++ = local; /* 4 */ - *p++ = NULL; /* 5 */ + *p++ = pb_system_apps.sftp; /* 1 */ + *p++ = talloc_asprintf(local, "%s:%s", url->host, url->path); /* 2 */ + *p++ = local; /* 3 */ + *p++ = NULL; /* 4 */ - result = pb_run_cmd(argv, 1); + result = pb_run_cmd(argv, 1, 0); if (result) goto fail; @@ -183,7 +182,7 @@ static char *pb_load_tftp(void *ctx, struct pb_url *url) *p++ = url->port; /* 8 */ *p++ = NULL; /* 9 */ - result = pb_run_cmd(argv, 1); + result = pb_run_cmd(argv, 1, 0); if (!result) return local; @@ -203,7 +202,7 @@ static char *pb_load_tftp(void *ctx, struct pb_url *url) *p++ = local; /* 9 */ *p++ = NULL; /* 10 */ - result = pb_run_cmd(argv, 1); + result = pb_run_cmd(argv, 1, 0); if (!result) return local; @@ -248,7 +247,7 @@ static char *pb_load_wget(void *ctx, struct pb_url *url, enum wget_flags flags) *p++ = "--no-check-certificate"; /* 6 */ *p++ = NULL; /* 7 */ - result = pb_run_cmd(argv, 1); + result = pb_run_cmd(argv, 1, 0); if (result) goto fail;