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:
c75a803
)
logind: treat an empty wall message like a NULL one
author
Lennart Poettering
<lennart@poettering.net>
Fri, 4 Sep 2015 08:34:47 +0000
(10:34 +0200)
committer
Sven Eden
<yamakuzure@gmx.net>
Tue, 14 Mar 2017 09:19:06 +0000
(10:19 +0100)
src/login/logind-dbus.c
patch
|
blob
|
history
diff --git
a/src/login/logind-dbus.c
b/src/login/logind-dbus.c
index 768aa1a3190607f14a67465316c834453b04d6a2..0dfc96c18f0b76a264df45e3ca79cc2b6885d4b9 100644
(file)
--- a/
src/login/logind-dbus.c
+++ b/
src/login/logind-dbus.c
@@
-1340,8
+1340,7
@@
static int bus_manager_log_shutdown(
InhibitWhat w,
const char *unit_name) {
InhibitWhat w,
const char *unit_name) {
- const char *p;
- const char *q;
+ const char *p, *q;
assert(m);
assert(unit_name);
assert(m);
assert(unit_name);
@@
-1366,8
+1365,8
@@
static int bus_manager_log_shutdown(
q = NULL;
}
q = NULL;
}
- if (
m->wall_message
)
- p = strjoina(p, " (", m->wall_message, ")"
, NULL
);
+ if (
!isempty(m->wall_message)
)
+ p = strjoina(p, " (", m->wall_message, ")");
return log_struct(LOG_NOTICE,
LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
return log_struct(LOG_NOTICE,
LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
@@
-2292,15
+2291,19
@@
static int method_set_wall_message(
UID_INVALID,
&m->polkit_registry,
error);
UID_INVALID,
&m->polkit_registry,
error);
-
if (r < 0)
return r;
if (r == 0)
return 1; /* Will call us back */
if (r < 0)
return r;
if (r == 0)
return 1; /* Will call us back */
- r = free_and_strdup(&m->wall_message, wall_message);
- if (r < 0)
- return log_oom();
+ if (isempty(wall_message))
+ m->wall_message = mfree(m->wall_message);
+ else {
+ r = free_and_strdup(&m->wall_message, wall_message);
+ if (r < 0)
+ return log_oom();
+ }
+
m->enable_wall_messages = enable_wall_messages;
return sd_bus_reply_method_return(message, NULL);
m->enable_wall_messages = enable_wall_messages;
return sd_bus_reply_method_return(message, NULL);