.flags = flags,
};
- r = free_and_strdup(&m->interface, interface);
+ r = strdup_to(&m->interface, interface);
if (r < 0)
return log_oom();
- r = set_put(members, m);
+ r = set_consume(members, TAKE_PTR(m));
+ if (r < 0)
+ return log_oom();
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
"Invalid introspection data: duplicate interface '%s'.", interface);
- if (r < 0)
- return log_oom();
- m = NULL;
return 0;
}
.flags = flags,
};
- r = free_and_strdup(&m->interface, interface);
+ r = strdup_to(&m->interface, interface);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->name, name);
+ r = strdup_to(&m->name, name);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->signature, signature);
+ r = strdup_to(&m->signature, signature);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->result, result);
+ r = strdup_to(&m->result, result);
if (r < 0)
return log_oom();
- r = set_put(members, m);
+ r = set_consume(members, TAKE_PTR(m));
+ if (r < 0)
+ return log_oom();
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
"Invalid introspection data: duplicate method '%s' on interface '%s'.", name, interface);
- if (r < 0)
- return log_oom();
- m = NULL;
return 0;
}
.flags = flags,
};
- r = free_and_strdup(&m->interface, interface);
+ r = strdup_to(&m->interface, interface);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->name, name);
+ r = strdup_to(&m->name, name);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->signature, signature);
+ r = strdup_to(&m->signature, signature);
if (r < 0)
return log_oom();
- r = set_put(members, m);
+ r = set_consume(members, TAKE_PTR(m));
+ if (r < 0)
+ return log_oom();
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
"Invalid introspection data: duplicate signal '%s' on interface '%s'.", name, interface);
- if (r < 0)
- return log_oom();
- m = NULL;
return 0;
}
.writable = writable,
};
- r = free_and_strdup(&m->interface, interface);
+ r = strdup_to(&m->interface, interface);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->name, name);
+ r = strdup_to(&m->name, name);
if (r < 0)
return log_oom();
- r = free_and_strdup(&m->signature, signature);
+ r = strdup_to(&m->signature, signature);
if (r < 0)
return log_oom();
- r = set_put(members, m);
+ r = set_consume(members, TAKE_PTR(m));
+ if (r < 0)
+ return log_oom();
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
"Invalid introspection data: duplicate property '%s' on interface '%s'.", name, interface);
- if (r < 0)
- return log_oom();
- m = NULL;
return 0;
}