chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
713e95b
)
sd-bus: use free_and_strdup()
author
Yu Watanabe
<watanabe.yu+github@gmail.com>
Mon, 14 May 2018 05:09:03 +0000
(14:09 +0900)
committer
Sven Eden
<yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000
(16:47 +0200)
src/libelogind/sd-bus/sd-bus.c
patch
|
blob
|
history
diff --git
a/src/libelogind/sd-bus/sd-bus.c
b/src/libelogind/sd-bus/sd-bus.c
index 22a7c99eaa36782e2d7928616c07e7e44ffb432a..2b72b6b56aee389fe423a625b6b0dd0f65faf127 100644
(file)
--- a/
src/libelogind/sd-bus/sd-bus.c
+++ b/
src/libelogind/sd-bus/sd-bus.c
@@
-265,19
+265,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 = bus_resolve(bus), -ENOPKG);
assert_return(bus->state == BUS_UNSET, -EPERM);
assert_return(address, -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(bus, -EINVAL);
assert_return(bus = bus_resolve(bus), -ENOPKG);
assert_return(bus->state == BUS_UNSET, -EPERM);
assert_return(address, -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
- a = strdup(address);
- if (!a)
- return -ENOMEM;
-
- return free_and_replace(bus->address, a);
+ return free_and_strdup(&bus->address, address);
}
_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) {
@@
-294,8
+288,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;
-
char **a
;
+ _cleanup_
strv_free_ char **a
= NULL;
+
int r
;
assert_return(bus, -EINVAL);
assert_return(bus = bus_resolve(bus), -ENOPKG);
assert_return(bus, -EINVAL);
assert_return(bus = bus_resolve(bus), -ENOPKG);
@@
-304,17
+298,15
@@
_public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[])
assert_return(!strv_isempty(argv), -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!strv_isempty(argv), -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
- p = strdup(path);
- if (!p)
- return -ENOMEM;
-
a = strv_copy(argv);
if (!a)
return -ENOMEM;
a = strv_copy(argv);
if (!a)
return -ENOMEM;
- free_and_replace(bus->exec_path, p);
- strv_free_and_replace(bus->exec_argv, a);
- return 0;
+ r = free_and_strdup(&bus->exec_path, path);
+ if (r < 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) {
@@
-538,7
+530,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) {
const char *s;
static int hello_callback(sd_bus_message *reply, void *userdata, sd_bus_error *error) {
const char *s;
- char *t;
sd_bus *bus;
int r;
sd_bus *bus;
int r;
@@
-558,11
+549,9
@@
static int hello_callback(sd_bus_message *reply, void *userdata, sd_bus_error *e
if (!service_name_is_valid(s) || s[0] != ':')
return -EBADMSG;
if (!service_name_is_valid(s) || s[0] != ':')
return -EBADMSG;
- t = strdup(s);
- if (!t)
- return -ENOMEM;
-
- free_and_replace(bus->unique_name, t);
+ r = free_and_strdup(&bus->unique_name, s);
+ if (r < 0)
+ return r;
if (bus->state == BUS_HELLO) {
bus_set_state(bus, BUS_RUNNING);
if (bus->state == BUS_HELLO) {
bus_set_state(bus, BUS_RUNNING);