summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-05-11 06:24:06 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-05-11 06:24:06 +0000
commit43a219678923cafa11940c83fc8a8389db38bb3e (patch)
tree99f0eca346a03c45468a921b03ac271477c369ba
parent2ba557fc0740ffd6d6da2ce96b01bb28016eb365 (diff)
downloadskabus-43a219678923cafa11940c83fc8a8389db38bb3e.tar.xz
Accept empty regexes
-rw-r--r--src/rpc/skabus-rpcd.c7
-rw-r--r--src/rpc/skabus_rpcd_interface.c4
2 files changed, 7 insertions, 4 deletions
diff --git a/src/rpc/skabus-rpcd.c b/src/rpc/skabus-rpcd.c
index 014f48e..cab9e49 100644
--- a/src/rpc/skabus-rpcd.c
+++ b/src/rpc/skabus-rpcd.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <signal.h>
+#include <skalibs/posixplz.h>
#include <skalibs/posixishard.h>
#include <skalibs/uint32.h>
#include <skalibs/uint64.h>
@@ -261,7 +262,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)
@@ -279,8 +280,8 @@ static int makere (regex_t *re, char const *s, char const *var)
static void defaultre (regex_t *re, unsigned int pubflag)
{
- char const *s = pubflag ? ".*" : ".^" ;
- int r = regcomp(re, s, REG_EXTENDED | REG_NOSUB) ;
+ char const *s = pubflag ? "" : ".^" ;
+ int r = skalibs_regcomp(re, s, REG_EXTENDED | REG_NOSUB) ;
if (r)
{
char buf[256] ;
diff --git a/src/rpc/skabus_rpcd_interface.c b/src/rpc/skabus_rpcd_interface.c
index 458b2d8..bf5c7e0 100644
--- a/src/rpc/skabus_rpcd_interface.c
+++ b/src/rpc/skabus_rpcd_interface.c
@@ -4,6 +4,8 @@
#include <stdint.h>
#include <errno.h>
#include <regex.h>
+
+#include <skalibs/posixplz.h>
#include <skalibs/strerr2.h>
#include <skalibs/genalloc.h>
#include <skalibs/gensetdyn.h>
@@ -83,7 +85,7 @@ int interface_add (uint32_t *d, char const *name, size_t namelen, uint32_t clien
if (!gensetdyn_new(&interfaces, &yy)) return 0 ;
{
interface_t *y = INTERFACE(yy) ;
- int r = regcomp(&y->re, re, REG_EXTENDED | REG_NOSUB) ;
+ int r = skalibs_regcomp(&y->re, re, REG_EXTENDED | REG_NOSUB) ;
if (r)
{
e = r == REG_ESPACE ? ENOMEM : EINVAL ;