_cleanup_free_ char *format_str = NULL;
MountImage *mount_images = NULL;
size_t n_mount_images = 0;
- char *source, *destination;
- int permissive;
CLEANUP_ARRAY(mount_images, n_mount_images, mount_image_free_many);
for (;;) {
_cleanup_(mount_options_free_allp) MountOptions *options = NULL;
_cleanup_free_ char *source_escaped = NULL, *destination_escaped = NULL;
- char *tuple;
+ char *source, *destination;
+ int permissive;
r = sd_bus_message_enter_container(message, 'r', "ssba(ss)");
if (r < 0)
if (!destination_escaped)
return -ENOMEM;
- tuple = strjoin(format_str,
- format_str ? " " : "",
- permissive ? "-" : "",
- source_escaped,
- ":",
- destination_escaped);
- if (!tuple)
- return -ENOMEM;
- free_and_replace(format_str, tuple);
+ r = strextendf_with_separator(&format_str, " ", "%s%s:%s",
+ permissive ? "-" : "",
+ source_escaped,
+ destination_escaped);
+ if (r < 0)
+ return r;
r = bus_read_mount_options(message, reterr_error, &options, &format_str, ":");
if (r < 0)
for (;;) {
_cleanup_(mount_options_free_allp) MountOptions *options = NULL;
_cleanup_free_ char *source_escaped = NULL;
- char *source, *tuple;
+ char *source;
int permissive;
r = sd_bus_message_enter_container(message, 'r', "sba(ss)");
if (!source_escaped)
return -ENOMEM;
- tuple = strjoin(format_str,
- format_str ? " " : "",
- permissive ? "-" : "",
- source_escaped);
- if (!tuple)
- return -ENOMEM;
- free_and_replace(format_str, tuple);
+ r = strextendf_with_separator(&format_str, " ", "%s%s",
+ permissive ? "-" : "", source_escaped);
+ if (r < 0)
+ return r;
r = bus_read_mount_options(message, reterr_error, &options, &format_str, ":");
if (r < 0)