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

Stanislav Kinsburskiy skinsbursky at virtuozzo.com
Wed Dec 16 07:33:16 PST 2015


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] == ',')
+		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 */



More information about the CRIU mailing list