mirror of
https://github.com/systemd/systemd.git
synced 2024-11-06 16:59:03 +03:00
sd-bus: use free_and_strdup()
This commit is contained in:
parent
9d728570e7
commit
1ab436e314
@ -262,19 +262,13 @@ _public_ int sd_bus_new(sd_bus **ret) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_public_ int sd_bus_set_address(sd_bus *bus, const char *address) {
|
_public_ int sd_bus_set_address(sd_bus *bus, const char *address) {
|
||||||
char *a;
|
|
||||||
|
|
||||||
assert_return(bus, -EINVAL);
|
assert_return(bus, -EINVAL);
|
||||||
assert_return(bus = bus_resolve(bus), -ENOPKG);
|
assert_return(bus = bus_resolve(bus), -ENOPKG);
|
||||||
assert_return(bus->state == BUS_UNSET, -EPERM);
|
assert_return(bus->state == BUS_UNSET, -EPERM);
|
||||||
assert_return(address, -EINVAL);
|
assert_return(address, -EINVAL);
|
||||||
assert_return(!bus_pid_changed(bus), -ECHILD);
|
assert_return(!bus_pid_changed(bus), -ECHILD);
|
||||||
|
|
||||||
a = strdup(address);
|
return free_and_strdup(&bus->address, address);
|
||||||
if (!a)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
return free_and_replace(bus->address, a);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
|
_public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
|
||||||
@ -291,8 +285,8 @@ _public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
|
_public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
|
||||||
_cleanup_free_ char *p = NULL;
|
_cleanup_strv_free_ char **a = NULL;
|
||||||
char **a;
|
int r;
|
||||||
|
|
||||||
assert_return(bus, -EINVAL);
|
assert_return(bus, -EINVAL);
|
||||||
assert_return(bus = bus_resolve(bus), -ENOPKG);
|
assert_return(bus = bus_resolve(bus), -ENOPKG);
|
||||||
@ -301,17 +295,15 @@ _public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[])
|
|||||||
assert_return(!strv_isempty(argv), -EINVAL);
|
assert_return(!strv_isempty(argv), -EINVAL);
|
||||||
assert_return(!bus_pid_changed(bus), -ECHILD);
|
assert_return(!bus_pid_changed(bus), -ECHILD);
|
||||||
|
|
||||||
p = strdup(path);
|
|
||||||
if (!p)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
a = strv_copy(argv);
|
a = strv_copy(argv);
|
||||||
if (!a)
|
if (!a)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
free_and_replace(bus->exec_path, p);
|
r = free_and_strdup(&bus->exec_path, path);
|
||||||
strv_free_and_replace(bus->exec_argv, a);
|
if (r < 0)
|
||||||
return 0;
|
return r;
|
||||||
|
|
||||||
|
return strv_free_and_replace(bus->exec_argv, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
_public_ int sd_bus_set_bus_client(sd_bus *bus, int b) {
|
_public_ int sd_bus_set_bus_client(sd_bus *bus, int b) {
|
||||||
@ -535,7 +527,6 @@ void bus_set_state(sd_bus *bus, enum bus_state state) {
|
|||||||
|
|
||||||
static int hello_callback(sd_bus_message *reply, void *userdata, sd_bus_error *error) {
|
static int hello_callback(sd_bus_message *reply, void *userdata, sd_bus_error *error) {
|
||||||
const char *s;
|
const char *s;
|
||||||
char *t;
|
|
||||||
sd_bus *bus;
|
sd_bus *bus;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@ -555,11 +546,9 @@ static int hello_callback(sd_bus_message *reply, void *userdata, sd_bus_error *e
|
|||||||
if (!service_name_is_valid(s) || s[0] != ':')
|
if (!service_name_is_valid(s) || s[0] != ':')
|
||||||
return -EBADMSG;
|
return -EBADMSG;
|
||||||
|
|
||||||
t = strdup(s);
|
r = free_and_strdup(&bus->unique_name, s);
|
||||||
if (!t)
|
if (r < 0)
|
||||||
return -ENOMEM;
|
return r;
|
||||||
|
|
||||||
free_and_replace(bus->unique_name, t);
|
|
||||||
|
|
||||||
if (bus->state == BUS_HELLO) {
|
if (bus->state == BUS_HELLO) {
|
||||||
bus_set_state(bus, BUS_RUNNING);
|
bus_set_state(bus, BUS_RUNNING);
|
||||||
|
Loading…
Reference in New Issue
Block a user