From 5ddd2aa439b1ce23b4322cf0abd89a49a8533606 Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 16 Feb 2024 03:25:19 +0000 Subject: driver: internals: allows storing a distinct argument vector for each tool. --- src/driver/slbt_host_params.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/driver') diff --git a/src/driver/slbt_host_params.c b/src/driver/slbt_host_params.c index 690ca30..9fe8153 100644 --- a/src/driver/slbt_host_params.c +++ b/src/driver/slbt_host_params.c @@ -485,6 +485,18 @@ int slbt_init_host_params( return 0; } +static void slbt_free_host_tool_argv(char ** argv) +{ + char ** parg; + + if (!argv) + return; + + for (parg=argv; *parg; parg++) + free(*parg); + + free(argv); +} void slbt_free_host_params(struct slbt_host_strs * host) { @@ -515,6 +527,13 @@ void slbt_free_host_params(struct slbt_host_strs * host) if (host->mdso) free(host->mdso); + slbt_free_host_tool_argv(host->ar_argv); + slbt_free_host_tool_argv(host->as_argv); + slbt_free_host_tool_argv(host->ranlib_argv); + slbt_free_host_tool_argv(host->windres_argv); + slbt_free_host_tool_argv(host->dlltool_argv); + slbt_free_host_tool_argv(host->mdso_argv); + memset(host,0,sizeof(*host)); } -- cgit v1.2.3