diff options
Diffstat (limited to 'plugins/sudoers/sudoreplay.c')
-rw-r--r-- | plugins/sudoers/sudoreplay.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/plugins/sudoers/sudoreplay.c b/plugins/sudoers/sudoreplay.c index 5b8ebe501..f7c3743c3 100644 --- a/plugins/sudoers/sudoreplay.c +++ b/plugins/sudoers/sudoreplay.c @@ -175,12 +175,12 @@ extern time_t get_date(char *); static int list_sessions(int, char **, const char *, const char *, const char *); static int parse_expr(struct search_node_list *, char **, bool); static void read_keyboard(int fd, int what, void *v); -static void help(void) __attribute__((__noreturn__)); +static sudo_noreturn void help(void); +static sudo_noreturn void usage(void); static int replay_session(int iolog_dir_fd, const char *iolog_dir, struct timespec *offset, struct timespec *max_wait, const char *decimal, bool interactive, bool suspend_wait); static void sudoreplay_cleanup(void); -static void usage(int); static void write_output(int fd, int what, void *v); static void restore_terminal_size(void); static void setup_terminal(struct eventlog *evlog, bool interactive, bool resize); @@ -302,7 +302,7 @@ main(int argc, char *argv[]) exitcode = EXIT_SUCCESS; goto done; default: - usage(1); + usage(); /* NOTREACHED */ } @@ -316,7 +316,7 @@ main(int argc, char *argv[]) } if (argc != 1) - usage(1); + usage(); /* By default we replay stdout, stderr and ttyout. */ if (def_filter) { @@ -1129,7 +1129,7 @@ write_output(int fd, int what, void *v) if ((nl == iov[0].iov_base && iobuf->lastc != '\r') || (nl != iov[0].iov_base && nl[-1] != '\r')) { iov[0].iov_len = len; - iov[1].iov_base = "\r\n"; + iov[1].iov_base = (char *)"\r\n"; iov[1].iov_len = 2; iovcnt = 2; nbytes = iov[0].iov_len + iov[1].iov_len; @@ -1645,23 +1645,26 @@ read_keyboard(int fd, int what, void *v) } static void -usage(int fatal) +print_usage(FILE *fp) { - fprintf(fatal ? stderr : stdout, - _("usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"), + fprintf(fp, _("usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"), getprogname()); - fprintf(fatal ? stderr : stdout, - _("usage: %s [-h] [-d dir] -l [search expression]\n"), + fprintf(fp, _("usage: %s [-h] [-d dir] -l [search expression]\n"), getprogname()); - if (fatal) - exit(EXIT_FAILURE); +} + +static void +usage(void) +{ + print_usage(stderr); + exit(EXIT_FAILURE); } static void help(void) { (void) printf(_("%s - replay sudo session logs\n\n"), getprogname()); - usage(0); + print_usage(stdout); (void) puts(_("\nOptions:\n" " -d, --directory=dir specify directory for session logs\n" " -f, --filter=filter specify which I/O type(s) to display\n" |