From d22f7168e078d95390f36234c4922fbed2744486 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Sun, 19 Jan 2020 10:30:25 +0100 Subject: [PATCH] Revert "syslogd: cfopts(): reinit strtok() so both OPT1,OPT2 are found" This reverts commit d758581 since it breaks unit tests by missing the first option after ; Signed-off-by: Joachim Nilsson --- src/syslogd.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/syslogd.c b/src/syslogd.c index 080d9df..a217b2d 100644 --- a/src/syslogd.c +++ b/src/syslogd.c @@ -2335,7 +2335,7 @@ static int cfopt(char **ptr, const char *opt) */ static void cfopts(char *ptr, struct filed *f) { - char *opt, *origptr; + char *opt; /* First locate any whitespace between action and option */ ptr = strpbrk(ptr, "\t ;"); @@ -2346,17 +2346,11 @@ static void cfopts(char *ptr, struct filed *f) if (*ptr != ';') *ptr++ = 0; - origptr = ptr; - ptr = strtok(ptr, ";"); - if (!ptr) + opt = strtok(ptr, ";"); + if (!opt) return; - for (;;) { - opt = strtok(ptr, ","); - if (!opt) - break; - ptr = NULL; - + while (opt) { if (cfopt(&opt, "RFC5424")) { f->f_flags |= RFC5424; f->f_flags &= ~RFC3164; @@ -2366,7 +2360,9 @@ static void cfopts(char *ptr, struct filed *f) } else if (cfopt(&opt, "rotate=")) cfrot(opt, f); else - cfrot(origptr, f); /* Compat v1.6 syntax */ + cfrot(ptr, f); /* Compat v1.6 syntax */ + + opt = strtok(NULL, ","); } }