chiark / gitweb /
log: also set errno to the passed error code before processing format string in log_s...
[elogind.git] / src / run / run.c
index f8f0ea2832851f8f0fdb48d105eab70f1010e58e..dcefb5c376e61373c48b52ba91ba0b33db6b95bd 100644 (file)
@@ -562,7 +562,7 @@ static int start_transient_scope(
 
 int main(int argc, char* argv[]) {
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
-        _cleanup_bus_unref_ sd_bus *bus = NULL;
+        _cleanup_bus_close_unref_ sd_bus *bus = NULL;
         _cleanup_free_ char *description = NULL, *command = NULL;
         int r;
 
@@ -573,9 +573,12 @@ int main(int argc, char* argv[]) {
         if (r <= 0)
                 goto finish;
 
-        r = find_binary(argv[optind], &command);
+        r = find_binary(argv[optind], arg_transport == BUS_TRANSPORT_LOCAL, &command);
         if (r < 0) {
-                log_error("Failed to find executable %s: %s", argv[optind], strerror(-r));
+                log_error("Failed to find executable %s%s: %s",
+                          argv[optind],
+                          arg_transport == BUS_TRANSPORT_LOCAL ? "" : " on local system",
+                          strerror(-r));
                 goto finish;
         }
         argv[optind] = command;