diff --git a/lib/port.c b/lib/port.c index 0bea2ef4..90eb1498 100644 --- a/lib/port.c +++ b/lib/port.c @@ -130,8 +130,8 @@ static struct port *getportent (void) again: /* - * Get the next line and remove the last character, which - * is a '\n'. Lines which begin with '#' are all ignored. + * Get the next line and remove optional trailing '\n'. + * Lines which begin with '#' are all ignored. */ if (fgets (buf, (int) sizeof buf, ports) == 0) { @@ -149,7 +149,7 @@ static struct port *getportent (void) * TTY devices. */ - buf[strlen (buf) - 1] = 0; + buf[strcspn (buf, "\n")] = 0; port.pt_names = ttys; for (cp = buf, j = 0; j < PORT_TTY; j++) { diff --git a/libmisc/console.c b/libmisc/console.c index bc024eba..63d3ceb3 100644 --- a/libmisc/console.c +++ b/libmisc/console.c @@ -71,7 +71,8 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) */ while (fgets (buf, (int) sizeof (buf), fp) != NULL) { - buf[strlen (buf) - 1] = '\0'; + /* Remove optional trailing '\n'. */ + buf[strcspn (buf, "\n")] = '\0'; if (strcmp (buf, tty) == 0) { (void) fclose (fp); return true;