From: Karel Zak Date: Thu, 14 May 2026 09:38:27 +0000 (+0200) Subject: agetty: move parse_speeds() to utils.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=176671cc5eadaafe8de31d0772500e61e126b605;p=thirdparty%2Futil-linux.git agetty: move parse_speeds() to utils.c Rename to agetty_parse_speeds() and move to utils.c alongside the other parsing helpers. Signed-off-by: Karel Zak --- diff --git a/agetty-cmd/agetty.c b/agetty-cmd/agetty.c index 00c06ab1f..7dcbe0cb2 100644 --- a/agetty-cmd/agetty.c +++ b/agetty-cmd/agetty.c @@ -105,7 +105,6 @@ static int inotify_fd = AGETTY_RELOAD_FDNONE; (((opt)->flags & (F_VCONSOLE|(flag))) == (flag)) static void parse_args(int argc, char **argv, struct agetty_options *op); -static void parse_speeds(struct agetty_options *op, char *arg); static int wait_for_term_input(struct agetty_issue *ie, int fd); static void do_prompt(struct agetty_issue *ie, struct agetty_options *op, struct termios *tp); static char *get_logname(struct agetty_issue *ie, struct agetty_options *op, @@ -692,7 +691,7 @@ static void parse_args(int argc, char **argv, struct agetty_options *op) /* Accept "tty", "baudrate tty", and "tty baudrate". */ if (is_speed(argv[optind])) { /* Assume BSD style speed. */ - parse_speeds(op, argv[optind++]); + agetty_parse_speeds(op, argv[optind++]); if (argc < optind + 1) { agetty_log_warn(_("not enough arguments")); errx(EXIT_FAILURE, _("not enough arguments")); @@ -703,7 +702,7 @@ static void parse_args(int argc, char **argv, struct agetty_options *op) if (argc > optind) { char *v = argv[optind]; if (is_speed(v)) { - parse_speeds(op, v); + agetty_parse_speeds(op, v); optind++; } } @@ -733,25 +732,6 @@ static void parse_args(int argc, char **argv, struct agetty_options *op) debug("exiting parseargs\n"); } -/* Parse alternate baud rates. */ -static void parse_speeds(struct agetty_options *op, char *arg) -{ - char *cp; - char *str = strdup(arg); - - if (!str) - agetty_log_err(_("failed to allocate memory: %m")); - - debug("entered parse_speeds:\n"); - for (cp = strtok(str, ","); cp != NULL; cp = strtok((char *)0, ",")) { - if ((op->speeds[op->numspeed++] = agetty_bcode(cp)) <= 0) - agetty_log_err(_("bad speed: %s"), cp); - if (op->numspeed >= MAX_SPEED) - agetty_log_err(_("too many alternate speeds")); - } - debug("exiting parsespeeds\n"); - free(str); -} /* Show login prompt, optionally preceded by /etc/issue contents. */ diff --git a/agetty-cmd/agetty.h b/agetty-cmd/agetty.h index d584b2d43..7df992f06 100644 --- a/agetty-cmd/agetty.h +++ b/agetty-cmd/agetty.h @@ -112,6 +112,7 @@ extern void agetty_load_credentials(struct agetty_options *op); extern char *agetty_xgethostname(void); extern char *agetty_xgetdomainname(void); extern void agetty_update_utmp(struct agetty_options *op, const char *fakehost); +extern void agetty_parse_speeds(struct agetty_options *op, char *arg); extern char *agetty_parse_initstring(const char *arg); enum { diff --git a/agetty-cmd/utils.c b/agetty-cmd/utils.c index 493ba6407..0344e9a1e 100644 --- a/agetty-cmd/utils.c +++ b/agetty-cmd/utils.c @@ -156,6 +156,23 @@ void agetty_update_utmp(struct agetty_options *op, const char *fakehost) } #endif +void agetty_parse_speeds(struct agetty_options *op, char *arg) +{ + char *cp; + char *str = strdup(arg); + + if (!str) + agetty_log_err(_("failed to allocate memory: %m")); + + for (cp = strtok(str, ","); cp != NULL; cp = strtok(NULL, ",")) { + if ((op->speeds[op->numspeed++] = agetty_bcode(cp)) <= 0) + agetty_log_err(_("bad speed: %s"), cp); + if (op->numspeed >= MAX_SPEED) + agetty_log_err(_("too many alternate speeds")); + } + free(str); +} + char *agetty_parse_initstring(const char *arg) { char ch, *str, *p, *q;