1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00

systemctl: style fixes for the previous patch

Use the usual indentation, bracketing style, and no assignments in ifs.
Since check_listening_sockets provides just optional hints for the user,
don't pass its DBusErrors to the caller.
This commit is contained in:
Michal Schmidt 2012-06-13 15:52:27 +02:00
parent 701cdcb9ee
commit e61a3135e9

View File

@ -1502,20 +1502,19 @@ finish:
static int get_unit_path(
DBusConnection *bus,
DBusError *error,
const char *name,
char **unit_path) {
DBusError error;
DBusMessage *m = NULL, *reply = NULL;
char *path;
int r = 0;
assert(bus);
assert(error);
assert(name);
assert(unit_path);
*unit_path = NULL;
dbus_error_init(&error);
m = dbus_message_new_method_call("org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
@ -1528,34 +1527,33 @@ static int get_unit_path(
}
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &name,
DBUS_TYPE_INVALID)) {
DBUS_TYPE_STRING, &name,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
r = -ENOMEM;
goto finish;
}
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, error);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
if (streq(error->name, BUS_ERROR_NO_SUCH_UNIT)) {
dbus_error_free(error);
if (streq(error.name, BUS_ERROR_NO_SUCH_UNIT))
r = -EINVAL;
} else {
log_error("Failed to issue method call: %s", bus_error_message(error));
else {
log_error("Failed to issue method call: %s", bus_error_message(&error));
r = -EIO;
}
goto finish;
}
if (!dbus_message_get_args(reply, error,
DBUS_TYPE_OBJECT_PATH, unit_path,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(error));
if (!dbus_message_get_args(reply, &error,
DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID)) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
r = -EIO;
goto finish;
}
*unit_path = strdup(*unit_path);
*unit_path = strdup(path);
if (!(*unit_path)) {
log_error("Failed to duplicate unit path");
r = -ENOMEM;
@ -1565,14 +1563,17 @@ finish:
dbus_message_unref(m);
if (reply)
dbus_message_unref(reply);
dbus_error_free(&error);
return r;
}
static int is_socket_listening(
DBusConnection *bus,
DBusError *error,
const char *socket_name) {
DBusError error;
DBusMessage *m = NULL, *reply = NULL;
DBusMessageIter iter, sub;
char *socket_object_path = NULL;
@ -1582,12 +1583,14 @@ static int is_socket_listening(
int r = 0;
assert(bus);
assert(error);
assert(socket_name);
if ((r = get_unit_path(bus, error, socket_name, &socket_object_path)) < 0) {
dbus_error_init(&error);
r = get_unit_path(bus, socket_name, &socket_object_path);
if (r < 0)
goto finish;
}
m = dbus_message_new_method_call("org.freedesktop.systemd1",
socket_object_path,
"org.freedesktop.DBus.Properties",
@ -1599,17 +1602,17 @@ static int is_socket_listening(
}
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID)) {
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &property,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
r = -ENOMEM;
goto finish;
}
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, error);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
log_error("Failed to issue method call: %s", bus_error_message(error));
log_error("Failed to issue method call: %s", bus_error_message(&error));
r = -EIO;
goto finish;
}
@ -1618,7 +1621,7 @@ static int is_socket_listening(
dbus_message_iter_recurse(&iter, &sub);
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply: %s", bus_error_message(error));
log_error("Failed to parse reply: %s", bus_error_message(&error));
r = -EIO;
goto finish;
}
@ -1631,15 +1634,17 @@ finish:
if (reply)
dbus_message_unref(reply);
dbus_error_free(&error);
free(socket_object_path);
return r;
}
static void check_listening_sockets(
DBusConnection *bus,
DBusError *error,
const char *unit_name) {
DBusError error;
DBusMessage *m = NULL, *reply = NULL;
DBusMessageIter iter, sub;
const char *service_trigger = NULL,
@ -1647,11 +1652,12 @@ static void check_listening_sockets(
*triggered_by_property = "TriggeredBy";
char *unit_path = NULL;
int print_warning_label = 1;
bool print_warning_label = true;
if ((get_unit_path(bus, error, unit_name, &unit_path) < 0)) {
dbus_error_init(&error);
if (get_unit_path(bus, unit_name, &unit_path) < 0)
goto finish;
}
m = dbus_message_new_method_call("org.freedesktop.systemd1",
unit_path,
@ -1663,22 +1669,22 @@ static void check_listening_sockets(
}
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &triggered_by_property,
DBUS_TYPE_INVALID)) {
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &triggered_by_property,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
goto finish;
}
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, error);
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
log_error("Failed to issue method call: %s", bus_error_message(error));
log_error("Failed to issue method call: %s", bus_error_message(&error));
goto finish;
}
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply: %s", bus_error_message(error));
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply: %s", bus_error_message(&error));
goto finish;
}
@ -1688,33 +1694,29 @@ static void check_listening_sockets(
sub = iter;
while (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_INVALID) {
int r = 0;
int r;
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply: %s", bus_error_message(error));
log_error("Failed to parse reply: %s", bus_error_message(&error));
goto finish;
}
dbus_message_iter_get_basic(&sub, &service_trigger);
if (endswith(service_trigger, ".socket")) {
r = is_socket_listening(bus, error, service_trigger);
} else {
dbus_message_iter_recurse(&iter, &sub);
iter = sub;
continue;
}
if (!endswith(service_trigger, ".socket"))
goto next;
r = is_socket_listening(bus, service_trigger);
if (r < 0)
goto finish;
if (r == 1) {
if (print_warning_label) {
log_warning("There are listening sockets associated with %s :", unit_name);
print_warning_label = 0;
print_warning_label = false;
}
log_warning("%s",service_trigger);
} else if (r < 0) {
log_error("Failed to issue function call: %s", bus_error_message(error));
goto finish;
log_warning("%s", service_trigger);
}
next:
dbus_message_iter_recurse(&iter, &sub);
iter = sub;
}
@ -1725,6 +1727,8 @@ finish:
if (reply)
dbus_message_unref(reply);
dbus_error_free(&error);
free(unit_path);
}
@ -1809,9 +1813,8 @@ static int start_unit_one(
}
/* When stopping unit check if we have some listening sockets active */
if (streq(method, "StopUnit") && !arg_quiet) {
check_listening_sockets(bus, error, name);
}
if (streq(method, "StopUnit") && !arg_quiet)
check_listening_sockets(bus, name);
r = 0;