From c65f0017e86515ca2aad517133b56a89cf3b6717 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Sun, 7 Jan 2007 21:14:26 +0000 Subject: [PATCH] =?UTF-8?q?=20=20*=20Factor=20regex=20stuff=20into=20fd.c,?= =?UTF-8?q?=20so=20that=20=20isn=E2=80=99t=20needed=20otherwhere.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fd.c | 27 +++++++++++++++++++++++++-- src/fd.h | 5 ++--- src/fuzz.c | 1 - src/libzzuf.c | 11 ++--------- src/load-fd.c | 1 - src/load-signal.c | 1 - src/load-stream.c | 1 - 7 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/fd.c b/src/fd.c index f77fc4f..9108f52 100644 --- a/src/fd.c +++ b/src/fd.c @@ -30,8 +30,9 @@ #include "libzzuf.h" #include "fd.h" -regex_t * re_include = NULL; -regex_t * re_exclude = NULL; +/* Regex stuff */ +static regex_t * re_include = NULL; +static regex_t * re_exclude = NULL; /* File descriptor stuff */ static struct files @@ -46,6 +47,28 @@ static struct files static int *fds; static int maxfd, nfiles; +void _zz_include(char const *regex) +{ + re_include = malloc(sizeof(*re_include)); + + if(regcomp(re_include, regex, REG_EXTENDED) != 0) + { + free(re_include); + re_include = NULL; + } +} + +void _zz_exclude(char const *regex) +{ + re_exclude = malloc(sizeof(*re_exclude)); + + if(regcomp(re_exclude, regex, REG_EXTENDED) != 0) + { + free(re_exclude); + re_exclude = NULL; + } +} + void _zz_fd_init(void) { files = NULL; diff --git a/src/fd.h b/src/fd.h index 9cf5c9c..a079ee9 100644 --- a/src/fd.h +++ b/src/fd.h @@ -16,12 +16,11 @@ * fd.h: file descriptor functions */ +extern void _zz_include(char const *); +extern void _zz_exclude(char const *); extern void _zz_fd_init(void); extern void _zz_fd_fini(void); -extern regex_t * re_include; -extern regex_t * re_exclude; - extern int _zz_mustwatch(char const *); extern int _zz_iswatched(int); extern void _zz_register(int); diff --git a/src/fuzz.c b/src/fuzz.c index 7cd01cf..6b305fb 100644 --- a/src/fuzz.c +++ b/src/fuzz.c @@ -25,7 +25,6 @@ #endif #include #include -#include #include "libzzuf.h" #include "debug.h" diff --git a/src/libzzuf.c b/src/libzzuf.c index f839953..3c9d370 100644 --- a/src/libzzuf.c +++ b/src/libzzuf.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include @@ -74,17 +73,11 @@ void _zz_init(void) tmp = getenv("ZZUF_INCLUDE"); if(tmp && *tmp) - { - re_include = malloc(sizeof(*re_include)); - regcomp(re_include, tmp, REG_EXTENDED); - } + _zz_include(tmp); tmp = getenv("ZZUF_EXCLUDE"); if(tmp && *tmp) - { - re_exclude = malloc(sizeof(*re_exclude)); - regcomp(re_exclude, tmp, REG_EXTENDED); - } + _zz_exclude(tmp); tmp = getenv("ZZUF_SIGNAL"); if(tmp && *tmp == '1') diff --git a/src/load-fd.c b/src/load-fd.c index 47837de..0deabd9 100644 --- a/src/load-fd.c +++ b/src/load-fd.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include diff --git a/src/load-signal.c b/src/load-signal.c index bed2037..1eeb3b6 100644 --- a/src/load-signal.c +++ b/src/load-signal.c @@ -28,7 +28,6 @@ #endif #include #include -#include #include #include diff --git a/src/load-stream.c b/src/load-stream.c index 5fe2785..3fca4a8 100644 --- a/src/load-stream.c +++ b/src/load-stream.c @@ -27,7 +27,6 @@ #endif #include #include -#include #include #include