[PATCH 6/7] net/lwip: wget: put server_name and port into wget_ctx
Jerome Forissier
jerome.forissier at linaro.org
Thu Nov 7 12:21:24 CET 2024
On 11/6/24 13:04, Adriano Cordova wrote:
> 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 <adrianox at gmail.com>
> ---
> net/lwip/wget.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/net/lwip/wget.c b/net/lwip/wget.c
> index b495ebd1aa..4add520045 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;
Reviewed-by: Jerome Forissier <jerome.forissier at linaro.org>
Thanks,
--
Jerome
More information about the U-Boot
mailing list