s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

commit 94d5ea5f6b6fea693d1c4a2ed3e81abd10220fe5
parent 2051574efa08de08488810669b21d15f387aa3e8
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Sat, 11 May 2019 06:23:30 +0000

 Accept empty regexes even on BSDs

Diffstat:
Msrc/daemontools-extras/s6-log.c | 2+-
Msrc/fdholder/s6-fdholderd.c | 5+++--
Msrc/libs6/s6-ftrigrd.c | 3++-
3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/daemontools-extras/s6-log.c b/src/daemontools-extras/s6-log.c @@ -786,7 +786,7 @@ static inline void script_secondpass (char const *const *argv, scriptelem_t *scr sel_t selitem = { .type = (*argv)[0] != 'f' ? (*argv)[0] == '+' ? SELTYPE_PLUS : SELTYPE_MINUS : SELTYPE_DEFAULT } ; if ((*argv)[0] != 'f') { - int r = regcomp(&selitem.re, *argv + 1, REG_EXTENDED | REG_NOSUB | REG_NEWLINE) ; + int r = skalibs_regcomp(&selitem.re, *argv + 1, REG_EXTENDED | REG_NOSUB | REG_NEWLINE) ; if (r == REG_ESPACE) { errno = ENOMEM ; diff --git a/src/fdholder/s6-fdholderd.c b/src/fdholder/s6-fdholderd.c @@ -11,6 +11,7 @@ #include <signal.h> #include <regex.h> +#include <skalibs/posixplz.h> #include <skalibs/posixishard.h> #include <skalibs/types.h> #include <skalibs/allreadwrite.h> @@ -528,7 +529,7 @@ static int makere (regex_t *re, char const *s, char const *var) size_t varlen = strlen(var) ; if (str_start(s, var) && (s[varlen] == '=')) { - int r = regcomp(re, s + varlen + 1, REG_EXTENDED | REG_NOSUB) ; + int r = skalibs_regcomp(re, s + varlen + 1, REG_EXTENDED | REG_NOSUB) ; if (r) { if (verbosity) @@ -546,7 +547,7 @@ static int makere (regex_t *re, char const *s, char const *var) static void defaultre (regex_t *re) { - int r = regcomp(re, ".^", REG_EXTENDED | REG_NOSUB) ; + int r = skalibs_regcomp(re, ".^", REG_EXTENDED | REG_NOSUB) ; if (r) { char buf[256] ; diff --git a/src/libs6/s6-ftrigrd.c b/src/libs6/s6-ftrigrd.c @@ -7,6 +7,7 @@ #include <signal.h> #include <regex.h> +#include <skalibs/posixplz.h> #include <skalibs/posixishard.h> #include <skalibs/types.h> #include <skalibs/allreadwrite.h> @@ -160,7 +161,7 @@ static int parse_protocol (struct iovec const *v, void *context) answer(ENFILE) ; break ; } - r = regcomp(&a[n].re, s + 16 + pathlen, REG_EXTENDED) ; + r = skalibs_regcomp(&a[n].re, s + 16 + pathlen, REG_EXTENDED) ; if (r) { answer(r == REG_ESPACE ? ENOMEM : EINVAL) ;