summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriano Cordova <[email protected]>2024-11-11 18:09:00 -0300
committerHeinrich Schuchardt <[email protected]>2024-11-16 21:35:05 +0100
commit6cc4d0492b2fb231c163e3a06918be3cde381506 (patch)
tree4b84359638a04d085fd05a2efd2ffc7207c2881b
parentde28a2a5f2ad93b156b39c2aee24cb5d01c7e619 (diff)
net/lwip: wget: put server_name and port into wget_ctx
Currently server_name and port are local variables in wget_loop. This commit puts them inside ctx, so that they are accessible from the http callbacks. Signed-off-by: Adriano Cordova <[email protected]>
-rw-r--r--net/lwip/wget.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/lwip/wget.c b/net/lwip/wget.c
index b495ebd1aa9..4add520045f 100644
--- a/net/lwip/wget.c
+++ b/net/lwip/wget.c
@@ -23,6 +23,8 @@ enum done_state {
};
struct wget_ctx {
+ char server_name[SERVER_NAME_SIZE];
+ u16 port;
char *path;
ulong daddr;
ulong saved_daddr;
@@ -209,13 +211,11 @@ static void httpc_result_cb(void *arg, httpc_result_t httpc_result,
static int wget_loop(struct udevice *udev, ulong dst_addr, char *uri)
{
- char server_name[SERVER_NAME_SIZE];
httpc_connection_t conn;
httpc_state_t *state;
struct netif *netif;
struct wget_ctx ctx;
char *path;
- u16 port;
ctx.daddr = dst_addr;
ctx.saved_daddr = dst_addr;
@@ -224,7 +224,7 @@ static int wget_loop(struct udevice *udev, ulong dst_addr, char *uri)
ctx.prevsize = 0;
ctx.start_time = 0;
- if (parse_url(uri, server_name, &port, &path))
+ if (parse_url(uri, ctx.server_name, &ctx.port, &path))
return CMD_RET_USAGE;
netif = net_lwip_new_netif(udev);
@@ -234,7 +234,7 @@ static int wget_loop(struct udevice *udev, ulong dst_addr, char *uri)
memset(&conn, 0, sizeof(conn));
conn.result_fn = httpc_result_cb;
ctx.path = path;
- if (httpc_get_file_dns(server_name, port, path, &conn, httpc_recv_cb,
+ if (httpc_get_file_dns(ctx.server_name, ctx.port, path, &conn, httpc_recv_cb,
&ctx, &state)) {
net_lwip_remove_netif(netif);
return CMD_RET_FAILURE;