The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=b00e65ff70a4613b3bf2fd2781d174fa437fbfbe

commit b00e65ff70a4613b3bf2fd2781d174fa437fbfbe
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2025-09-25 08:18:29 +0000
Commit:     Gleb Smirnoff <gleb...@freebsd.org>
CommitDate: 2025-09-25 08:18:29 +0000

    newsyslog: use str2sig() instead of own implementation
    
    Reviewed by:            bapt
    Differential Revision:  https://reviews.freebsd.org/D52697
---
 usr.sbin/newsyslog/newsyslog.c | 29 +----------------------------
 1 file changed, 1 insertion(+), 28 deletions(-)

diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c
index 0c8c2c85b893..e24e2db1155d 100644
--- a/usr.sbin/newsyslog/newsyslog.c
+++ b/usr.sbin/newsyslog/newsyslog.c
@@ -309,7 +309,6 @@ static int age_old_log(const char *file);
 static void savelog(char *from, char *to);
 static void createdir(const struct conf_entry *ent, char *dirpart);
 static void createlog(const struct conf_entry *ent);
-static int parse_signal(const char *str);
 
 /*
  * All the following take a parameter of 'int', but expect values in the
@@ -1485,8 +1484,7 @@ no_trimat:
                working->sig = SIGHUP;
                if (q && *q) {
 got_sig:
-                       working->sig = parse_signal(q);
-                       if (working->sig < 1 || working->sig >= sys_nsig) {
+                       if (str2sig(q, &working->sig) != 0) {
                                badline(
                                    "illegal signal in config file:\n%s",
                                    errline);
@@ -2884,28 +2882,3 @@ change_attrs(const char *fname, const struct conf_entry 
*ent)
                        warn("can't chflags %s NODUMP", fname);
        }
 }
-
-/*
- * Parse a signal number or signal name. Returns the signal number parsed or -1
- * on failure.
- */
-static int
-parse_signal(const char *str)
-{
-       int sig, i;
-       const char *errstr;
-
-       sig = strtonum(str, 1, sys_nsig - 1, &errstr);
-
-       if (errstr == NULL)
-               return (sig);
-       if (strncasecmp(str, "SIG", 3) == 0)
-               str += 3;
-
-       for (i = 1; i < sys_nsig; i++) {
-               if (strcasecmp(str, sys_signame[i]) == 0)
-                       return (i);
-       }
-
-       return (-1);
-}

Reply via email to