[CRIU] [PATCH 3/7] mount: use add_to_string() in attach_option()

Pavel Emelyanov xemul at parallels.com
Wed Dec 16 09:45:23 PST 2015


On 12/16/2015 06:33 PM, Stanislav Kinsburskiy wrote:
> Signed-off-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
> ---
>  mount.c |   23 +++++------------------
>  1 file changed, 5 insertions(+), 18 deletions(-)
> 
> diff --git a/mount.c b/mount.c
> index 0c3192a..bcb8a77 100644
> --- a/mount.c
> +++ b/mount.c
> @@ -1163,24 +1163,11 @@ out:
>  
>  static int attach_option(struct mount_info *pm, char *opt)
>  {
> -	char *buf;
> -	int len, olen;
> -
> -	len = strlen(pm->options);
> -	olen = strlen(opt);
> -	buf = xrealloc(pm->options, len + olen + 2);
> -	if (buf == NULL)
> -		return -1;
> -
> -	if (len && buf[len - 1] != ',') {
> -		buf[len] = ',';
> -		len++;
> -	}
> -
> -	memcpy(buf + len, opt, olen + 1);
> -	pm->options = buf;
> -
> -	return 0;
> +	if (pm->options[strlen(pm->options)-1] == ',')

Isn't it faster to check for pm->options[0] != '\0'?

> +		pm->options = add_to_string(pm->options, "%s", opt);
> +	else
> +		pm->options = add_to_string(pm->options, ",%s", opt);
> +	return pm->options ? 0 : -1;
>  }
>  
>  /* Is it mounted w or w/o the newinstance option */
> 
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
> .
> 



More information about the CRIU mailing list