}
unit_times_hashmap = h;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
puts("The time when unit became active or started is printed after the \"@\" character.\n"
"The time the unit took to start is printed after the \"+\" character.\n");
return table_log_add_error(r);
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return table_print(table, NULL);
}
if (r < 0)
return bus_log_connect_error(r);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (!sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD))
return dump_fallback(bus);
char **arg, **list;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
list = strv_skip(argv, 1);
STRV_FOREACH(arg, list) {
return table_log_add_error(r);
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return table_print(table, NULL);
}
(void) table_set_sort(table, (size_t) 1);
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return table_print(table, NULL);
}
static int dump_syscall_filters(int argc, char *argv[], void *userdata) {
bool first = true;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (strv_isempty(strv_skip(argv, 1))) {
_cleanup_set_free_ Set *kernel = NULL, *known = NULL;
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Not compiled with libbpf support, sorry.");
#endif
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (strv_isempty(strv_skip(argv, 1))) {
_cleanup_set_free_ Set *kernel = NULL, *known = NULL;
if (r < 0)
return bus_log_connect_error(r);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_security_policy) {
r = json_parse_file(/*f=*/ NULL, arg_security_policy, /*flags=*/ 0, &policy, &line, &column);
_cleanup_free_ char *link = NULL, *dot_link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("systemd-analyze", "1", &link);
if (r < 0)
return log_error_errno(r, "Failed to enumerate binfmt.d files: %m");
if (arg_cat_config) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return cat_files(NULL, files, 0);
}
r = 0; /* If we couldn't determine the path, then don't consider that a problem from here on, just show what we
* can show */
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (is_efi_boot()) {
static const struct {
if (config.n_entries == 0)
log_info("No boot loader entries found.");
else {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
printf("Boot Loader Entries:\n");
return log_oom();
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
l = set_get_strv(done);
if (!l)
if (r < 0)
return log_error_errno(r, "Failed to get name list: %m");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
STRV_FOREACH(i, names) {
int q;
printf("\n");
if (argv[2]) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
printf("Service %s%s%s:\n", ansi_highlight(), *i, ansi_normal());
}
if (arg_xml_interface) {
/* Just dump the received XML and finish */
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
puts(xml);
return 0;
}
typesafe_qsort(sorted, k, member_compare_funcp);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_legend)
printf("%-*s %-*s %-*s %-*s %s\n",
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (!isempty(argv[1])) {
r = parse_pid(argv[1], &pid);
_cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
if (arg_json_format_flags & (JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO))
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = json_transform_message(reply, &v);
if (r < 0)
json_variant_dump(v, arg_json_format_flags, NULL, NULL);
} else if (arg_verbose) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = sd_bus_message_dump(reply, stdout, 0);
if (r < 0)
_cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
if (arg_json_format_flags & (JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO))
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = json_transform_variant(reply, contents, &v);
if (r < 0)
json_variant_dump(v, arg_json_format_flags, NULL, NULL);
} else if (arg_verbose) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = sd_bus_message_dump(reply, stdout, SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY);
if (r < 0)
if (r < 0)
return log_oom();
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
printf("%s [OPTIONS...] COMMAND ...\n\n"
"%sIntrospect the D-Bus IPC bus.%s\n"
if (r <= 0)
return r;
- r = pager_open(arg_pager_flags);
- if (r > 0 && arg_full < 0)
+ pager_open(arg_pager_flags);
+ if (arg_full < 0 && pager_have())
arg_full = true;
if (arg_full > 0)
goto finish;
if (IN_SET(arg_action, ACTION_TEST, ACTION_HELP, ACTION_DUMP_CONFIGURATION_ITEMS, ACTION_DUMP_BUS_PROPERTIES, ACTION_BUS_INTROSPECT))
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_action != ACTION_RUN)
skip_setup = true;
(void) table_set_empty_string(t, "-");
} else
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
/* "info" without pattern implies "-1" */
if ((arg_rows_max == 1 && arg_reverse) || (verb_is_info && argc == 1)) {
else if (arg_diff)
arg_flags |= SHOW_OVERRIDDEN;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (optind < argc) {
int i;
assert(d);
if (arg_json_format_flags & (JSON_FORMAT_OFF|JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO))
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_json_format_flags & JSON_FORMAT_OFF)
printf(" Name: %s\n", basename(arg_image));
int r, ret = 0;
char **items, **i;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = acquire_bus(&bus);
if (r < 0)
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("homectl", "1", &link);
if (r < 0)
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("journalctl", "1", &link);
if (r < 0)
if (count == 0)
return count;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
/* numbers are one less, but we need an extra char for the sign */
w = DECIMAL_STR_WIDTH(count - 1) + 1;
} else {
bool oneline = arg_action == ACTION_LIST_CATALOG;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (optind < argc)
r = catalog_list_items(stdout, database, oneline, argv + optind);
need_seek = true;
if (!arg_follow)
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (!arg_quiet && (arg_lines != 0 || arg_follow)) {
usec_t start, end;
if (r < 0)
return log_error_errno(r, "Failed to read list of locales: %m");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
strv_print(l);
return 0;
if (r < 0)
return log_error_errno(r, "Failed to read list of keymaps: %m");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
strv_print(l);
strv_sort(list);
strv_uniq(list);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
strv_print(list);
return 0;
_cleanup_(table_unrefp) Table *table = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = sd_bus_call_method(
bus,
assert(bus);
assert(argv);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_login_mgr, "ListSessions", &error, &reply, NULL);
if (r < 0)
assert(bus);
assert(argv);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_login_mgr, "ListUsers", &error, &reply, NULL);
if (r < 0)
assert(bus);
assert(argv);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_login_mgr, "ListSeats", &error, &reply, NULL);
if (r < 0)
properties = !strstr(argv[0], "status");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (argc <= 1) {
/* If no argument is specified inspect the manager itself */
properties = !strstr(argv[0], "status");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (argc <= 1) {
/* If no argument is specified inspect the manager itself */
properties = !strstr(argv[0], "status");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (argc <= 1) {
/* If no argument is specified inspect the manager itself */
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("loginctl", "1", &link);
if (r < 0)
assert(bus);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_machine_mgr, "ListMachines", &error, &reply, NULL);
if (r < 0)
assert(bus);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_machine_mgr, "ListImages", &error, &reply, NULL);
if (r < 0)
properties = !strstr(argv[0], "status");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (properties && argc <= 1) {
properties = !strstr(argv[0], "status");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (argc <= 1) {
double progress;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_call_method(bus, bus_import_mgr, "ListTransfers", &error, &reply, NULL);
if (r < 0)
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("machinectl", "1", &link);
if (r < 0)
}
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = table_print(table, NULL);
if (r < 0)
if (c < 0)
return c;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
table = table_new("idx", "link", "type", "operational", "setup");
if (!table)
return dump_link_description(strv_skip(argv, 1));
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = sd_bus_open_system(&bus);
if (r < 0)
if (c < 0)
return c;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
table = table_new("link",
"chassis id",
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("systemd-nspawn", "1", &link);
if (r < 0)
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("oomctl", "1", &link);
if (r < 0)
if (r < 0)
return log_error_errno(r, "Failed to connect system bus: %m");
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = sd_bus_call_method(
bus,
if (r < 0)
return bus_log_parse_error(r);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_cat) {
printf("%s-- OS Release: --%s\n", ansi_highlight(), ansi_normal());
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("portablectl", "1", &link);
if (r < 0)
if (r < 0)
return log_error_errno(r, "Failed to get link data for %i: %s", ifindex, bus_error_message(&error, r));
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (mode == STATUS_DNS)
return status_print_strv_ifindex(ifindex, name, link_info.dns_ex ?: link_info.dns);
if (r < 0)
return log_error_errno(r, "Failed to get global data: %s", bus_error_message(&error, r));
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (mode == STATUS_DNS)
return status_print_strv_global(global_info.dns_ex ?: global_info.dns);
* the table header and logs about any error. */
if (json_format_flags & (JSON_FORMAT_OFF|JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO))
- (void) pager_open(pager_flags);
+ pager_open(pager_flags);
saved_header = t->header;
t->header = show_header;
return r;
}
-int pager_open(PagerFlags flags) {
+void pager_open(PagerFlags flags) {
_cleanup_close_pair_ int fd[2] = { -1, -1 }, exe_name_pipe[2] = { -1, -1 };
_cleanup_strv_free_ char **pager_args = NULL;
const char *pager, *less_opts;
int r;
if (flags & PAGER_DISABLE)
- return 0;
+ return;
if (pager_pid > 0)
- return 1;
+ return;
if (terminal_is_dumb())
- return 0;
+ return;
if (!is_main_thread())
- return log_error_errno(SYNTHETIC_ERRNO(EPERM), "Pager invoked from wrong thread.");
+ return (void) log_error_errno(SYNTHETIC_ERRNO(EPERM), "Pager invoked from wrong thread.");
pager = getenv("SYSTEMD_PAGER");
if (!pager)
if (pager) {
pager_args = strv_split(pager, WHITESPACE);
if (!pager_args)
- return log_oom();
+ return (void) log_oom();
/* If the pager is explicitly turned off, honour it */
if (strv_isempty(pager_args) || strv_equal(pager_args, STRV_MAKE("cat")))
- return 0;
+ return;
}
/* Determine and cache number of columns/lines before we spawn the pager so that we get the value from the
(void) lines();
if (pipe2(fd, O_CLOEXEC) < 0)
- return log_error_errno(errno, "Failed to create pager pipe: %m");
+ return (void) log_error_errno(errno, "Failed to create pager pipe: %m");
/* This is a pipe to feed the name of the executed pager binary into the parent */
if (pipe2(exe_name_pipe, O_CLOEXEC) < 0)
- return log_error_errno(errno, "Failed to create exe_name pipe: %m");
+ return (void) log_error_errno(errno, "Failed to create exe_name pipe: %m");
/* Initialize a good set of less options */
less_opts = getenv("SYSTEMD_LESS");
/* We set SIGINT as PR_DEATHSIG signal here, to match the "K" parameter we set in $LESS, which enables SIGINT behaviour. */
r = safe_fork("(pager)", FORK_RESET_SIGNALS|FORK_DEATHSIG_SIGINT|FORK_RLIMIT_NOFILE_SAFE|FORK_LOG, &pager_pid);
if (r < 0)
- return r;
+ return;
if (r == 0) {
const char *less_charset, *exe;
stored_stdout = fcntl(STDOUT_FILENO, F_DUPFD_CLOEXEC, 3);
if (dup2(fd[1], STDOUT_FILENO) < 0) {
stored_stdout = safe_close(stored_stdout);
- return log_error_errno(errno, "Failed to duplicate pager pipe: %m");
+ return (void) log_error_errno(errno, "Failed to duplicate pager pipe: %m");
}
stdout_redirected = true;
stored_stderr = fcntl(STDERR_FILENO, F_DUPFD_CLOEXEC, 3);
if (dup2(fd[1], STDERR_FILENO) < 0) {
stored_stderr = safe_close(stored_stderr);
- return log_error_errno(errno, "Failed to duplicate pager pipe: %m");
+ return (void) log_error_errno(errno, "Failed to duplicate pager pipe: %m");
}
stderr_redirected = true;
exe_name_pipe[1] = safe_close(exe_name_pipe[1]);
r = no_quit_on_interrupt(TAKE_FD(exe_name_pipe[0]), less_opts);
- if (r < 0)
- return r;
if (r > 0)
(void) ignore_signals(SIGINT);
-
- return 1;
}
void pager_close(void) {
PAGER_JUMP_TO_END = 1 << 1,
} PagerFlags;
-int pager_open(PagerFlags flags);
+void pager_open(PagerFlags flags);
void pager_close(void);
bool pager_have(void) _pure_;
return log_error_errno(r, "Failed to enumerate sysctl.d files: %m");
if (arg_cat_config) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return cat_files(NULL, files, 0);
}
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
STRV_FOREACH(name, names) {
_cleanup_free_ char *fragment_path = NULL;
return log_error_errno(r, "Failed to expand names: %m");
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
STRV_FOREACH(u, units) {
if (u != units)
return 0;
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
table = table_new("job", "unit", "type", "state");
if (!table)
if (r < 0)
return bus_log_parse_error(r);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return output_jobs_list(bus, jobs, c, skipped);
}
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
typesafe_qsort(machine_infos, r, compare_machine_info);
rc = output_machines_list(machine_infos, r);
return bus_log_parse_error(r);
}
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
typesafe_qsort(units, c, compare_unit_file_list);
r = output_unit_file_list(units, c);
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
if (arg_with_dependencies) {
_cleanup_strv_free_ char **names = NULL;
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = expand_unit_names(bus, strv_skip(argv, 1), ".socket", &sockets_with_suffix, NULL);
if (r < 0)
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = expand_unit_names(bus, strv_skip(argv, 1), ".timer", &timers_with_suffix, NULL);
if (r < 0)
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = bus_get_property(bus, bus_systemd_mgr, "Environment", &error, &reply, "as");
if (r < 0)
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
c = (unsigned) r;
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
/* If no argument is specified inspect the manager itself */
if (show_mode == SYSTEMCTL_SHOW_PROPERTIES && argc <= 1)
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("systemctl", "1", &link);
if (r < 0)
if (r < 0)
return r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return cat_files(NULL, files, 0);
}
if (r < 0)
return bus_log_parse_error(r);
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
strv_print(zones);
return 0;
}
if (arg_cat_config) {
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
return cat_config(config_dirs, argv + optind);
}
_cleanup_free_ char *link = NULL;
int r;
- (void) pager_open(arg_pager_flags);
+ pager_open(arg_pager_flags);
r = terminal_urlify_man("userdbctl", "1", &link);
if (r < 0)