X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-dbus.c;h=a605666429ce2fb00880a32a2be03abe1c717df7;hb=8622c1b84e198fb2d0626e622dfeaaa446e38f3a;hp=971b447a7cacef640fdac75a0eb4f59f59b4218c;hpb=ee3f331e539dc37e88e558583c8a9a7a2383f5e0;p=elogind.git diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 971b447a7..a60566642 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -1301,7 +1301,8 @@ static int flush_devices(Manager *m) { } else { struct dirent *de; - FOREACH_DIRENT_ALL(de, d, break) { + while ((de = readdir(d))) { + if (!dirent_is_file(de)) continue; @@ -1446,7 +1447,7 @@ static int bus_manager_log_shutdown( p = strjoina(p, " (", m->wall_message, ")."); return log_struct(LOG_NOTICE, - "MESSAGE_ID=" SD_MESSAGE_SHUTDOWN_STR, + LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN), p, q, NULL); @@ -2464,9 +2465,13 @@ static int method_set_wall_message( return 1; /* Will call us back */ #endif // 0 - r = free_and_strdup(&m->wall_message, empty_to_null(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;