[lxc-devel] [PATCH] utils: Drop trailing / in lxcpath

Serge Hallyn serge.hallyn at ubuntu.com
Tue Jan 21 03:36:08 UTC 2014


Quoting Stéphane Graber (stgraber at ubuntu.com):
> This fixes command line tools and functions which use
> lxc_global_config_value o get lxcpath but don't strip the trailing /
> leading to mismatching command path (as lxc_container_new does strip the
> path).
> 
> As lxcpath is typically a const and so can't easily be changed by the
> caller, add the trick directly into lxc_global_config_value (having to
> juggle a bit in there too to avoid trying to alter a const).
> 
> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  src/lxc/utils.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/src/lxc/utils.c b/src/lxc/utils.c
> index 3746adb..2f9e08b 100644
> --- a/src/lxc/utils.c
> +++ b/src/lxc/utils.c
> @@ -332,14 +332,25 @@ const char *lxc_global_config_value(const char *option_name)
>  			while (*p && (*p == ' ' || *p == '\t')) p++;
>  			if (!*p)
>  				continue;
> -			values[i] = copy_global_config_value(p);
> +
>  			free(user_default_config_path);
> +
> +			if (strcmp(option_name, "lxc.lxcpath") == 0) {
> +				free(user_lxc_path);
> +				user_lxc_path = copy_global_config_value(p);
> +				remove_trailing_slashes(user_lxc_path);
> +				values[i] = user_lxc_path;
> +				goto out;
> +			}
> +
> +			values[i] = copy_global_config_value(p);
>  			free(user_lxc_path);
>  			goto out;
>  		}
>  	}
>  	/* could not find value, use default */
>  	if (strcmp(option_name, "lxc.lxcpath") == 0) {
> +		remove_trailing_slashes(user_lxc_path);
>  		values[i] = user_lxc_path;
>  		free(user_default_config_path);
>  	}
> -- 
> 1.8.5.3
> 
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel


More information about the lxc-devel mailing list