projects
/
petitboot
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove union in pb_opt_data
[petitboot]
/
ui
/
common
/
loader.c
diff --git
a/ui/common/loader.c
b/ui/common/loader.c
index 0fe62a0a6cfc715d403dda5bf7890d6448a7757c..5c69533ff3cc821f96bbc313259bcb29d0cedf0f 100644
(file)
--- a/
ui/common/loader.c
+++ b/
ui/common/loader.c
@@
-263,16
+263,22
@@
fail:
/**
* pb_load_file - Loads a remote file and returns the local file path.
* @ctx: The talloc context to associate with the returned string.
/**
* pb_load_file - Loads a remote file and returns the local file path.
* @ctx: The talloc context to associate with the returned string.
+ * @remote: The remote file URL.
+ * @tempfile: An optional variable pointer to be set when a temporary local
+ * file is created.
*
* Returns the local file path in a talloc'ed character string on success,
* or NULL on error.
*/
*
* Returns the local file path in a talloc'ed character string on success,
* or NULL on error.
*/
-char *pb_load_file(void *ctx, const char *remote)
+char *pb_load_file(void *ctx, const char *remote
, unsigned int *tempfile
)
{
char *local;
struct pb_url *url = pb_url_parse(NULL, remote);
{
char *local;
struct pb_url *url = pb_url_parse(NULL, remote);
+ if (tempfile)
+ *tempfile = 0;
+
if (!url)
return NULL;
if (!url)
return NULL;
@@
-280,19
+286,28
@@
char *pb_load_file(void *ctx, const char *remote)
case pb_url_ftp:
case pb_url_http:
local = pb_load_wget(ctx, url, 0);
case pb_url_ftp:
case pb_url_http:
local = pb_load_wget(ctx, url, 0);
+ if (tempfile && local)
+ *tempfile = 1;
break;
case pb_url_https:
break;
case pb_url_https:
- local = pb_load_wget(ctx, url,
- wget_no_check_certificate);
+ local = pb_load_wget(ctx, url, wget_no_check_certificate);
+ if (tempfile && local)
+ *tempfile = 1;
break;
case pb_url_nfs:
local = pb_load_nfs(ctx, url);
break;
case pb_url_nfs:
local = pb_load_nfs(ctx, url);
+ if (tempfile && local)
+ *tempfile = 1;
break;
case pb_url_sftp:
local = pb_load_sftp(ctx, url);
break;
case pb_url_sftp:
local = pb_load_sftp(ctx, url);
+ if (tempfile && local)
+ *tempfile = 1;
break;
case pb_url_tftp:
local = pb_load_tftp(ctx, url);
break;
case pb_url_tftp:
local = pb_load_tftp(ctx, url);
+ if (tempfile && local)
+ *tempfile = 1;
break;
default:
local = talloc_strdup(ctx, url->full);
break;
default:
local = talloc_strdup(ctx, url->full);