mirror of
https://github.com/morgan9e/systemd
synced 2026-04-15 00:47:10 +09:00
run: various modernizations and smaller fixes
Including a fix for properly freeing a calendarspec object after use.
This commit is contained in:
@@ -63,7 +63,7 @@ static usec_t arg_on_boot = 0;
|
||||
static usec_t arg_on_startup = 0;
|
||||
static usec_t arg_on_unit_active = 0;
|
||||
static usec_t arg_on_unit_inactive = 0;
|
||||
static char *arg_on_calendar = NULL;
|
||||
static const char *arg_on_calendar = NULL;
|
||||
static char **arg_timer_property = NULL;
|
||||
static bool arg_quiet = false;
|
||||
|
||||
@@ -182,7 +182,6 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
};
|
||||
|
||||
int r, c;
|
||||
CalendarSpec *spec = NULL;
|
||||
|
||||
assert(argc >= 0);
|
||||
assert(argv);
|
||||
@@ -336,16 +335,19 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
break;
|
||||
|
||||
case ARG_ON_CALENDAR:
|
||||
case ARG_ON_CALENDAR: {
|
||||
CalendarSpec *spec = NULL;
|
||||
|
||||
r = calendar_spec_from_string(optarg, &spec);
|
||||
if (r < 0) {
|
||||
log_error("Invalid calendar spec: %s", optarg);
|
||||
return r;
|
||||
}
|
||||
free(spec);
|
||||
|
||||
calendar_spec_free(spec);
|
||||
arg_on_calendar = optarg;
|
||||
break;
|
||||
}
|
||||
|
||||
case ARG_TIMER_PROPERTY:
|
||||
|
||||
@@ -390,6 +392,11 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (arg_pty && arg_transport == BUS_TRANSPORT_REMOTE) {
|
||||
log_error("--pty is only supported when connecting to the local system or containers.");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (arg_scope && with_timer()) {
|
||||
log_error("Timer options are not supported in --scope mode.");
|
||||
return -EINVAL;
|
||||
@@ -708,9 +715,9 @@ static int start_transient_service(
|
||||
_cleanup_bus_unref_ sd_bus *system_bus = NULL;
|
||||
const char *s;
|
||||
|
||||
r = sd_bus_open_system(&system_bus);
|
||||
r = sd_bus_default_system(&system_bus);
|
||||
if (r < 0)
|
||||
log_error_errno(r, "Failed to connect to system bus: %m");
|
||||
return log_error_errno(r, "Failed to connect to system bus: %m");
|
||||
|
||||
r = sd_bus_call_method(system_bus,
|
||||
"org.freedesktop.machine1",
|
||||
@@ -795,10 +802,8 @@ static int start_transient_service(
|
||||
polkit_agent_open_if_enabled();
|
||||
|
||||
r = sd_bus_call(bus, m, 0, &error, &reply);
|
||||
if (r < 0) {
|
||||
log_error("Failed to start transient service unit: %s", bus_error_message(&error, -r));
|
||||
return r;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to start transient service unit: %s", bus_error_message(&error, r));
|
||||
|
||||
if (w) {
|
||||
const char *object;
|
||||
|
||||
Reference in New Issue
Block a user