* src/Makefile.am (libsearch_a_SOURCES): Add dfasearch.c, kwsearch.c, pcresearch.c. * src/esearch.c, src/fsearch.c, * src/gsearch.c: Only include search.h. * src/dfasearch.c (GEAcompile, EGexecute): Export. * src/kwsearch.c (Fcompile, Fexecute): Export. * src/pcresearch.c (Pcompile, Pexecute): Export. * src/search.h: Add new exported functions. --- src/Makefile.am | 4 ++-- src/dfasearch.c | 5 ++--- src/esearch.c | 2 +- src/fsearch.c | 2 +- src/gsearch.c | 4 +--- src/kwsearch.c | 4 ++-- src/pcresearch.c | 4 ++-- src/search.h | 14 ++++++++++++++ 8 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am index 7ebc126..6571529 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,7 +25,8 @@ fgrep_SOURCES = fgrep.c fsearch.c noinst_HEADERS = grep.h dfa.h kwset.h search.h system.h mbsupport.h noinst_LIBRARIES = libsearch.a -libsearch_a_SOURCES = kwset.c dfa.c searchutils.c +libsearch_a_SOURCES = kwset.c dfa.c searchutils.c dfasearch.c kwsearch.c \ + pcresearch.c LDADD = $(LIBINTL) libsearch.a ../lib/libgreputils.a grep_LDADD = $(LDADD) $(PCRE_LIBS) @@ -34,5 +35,4 @@ INCLUDES = -I$(top_srcdir)/lib -DLOCALEDIR=\"$(localedir)\" EXTRA_DIST = \ dosbuf.c \ - pcresearch.c dfasearch.c kwsearch.c \ vms_fab.c vms_fab.h diff --git a/src/dfasearch.c b/src/dfasearch.c index 791a5ed..d6e0fea 100644 --- a/src/dfasearch.c +++ b/src/dfasearch.c @@ -110,8 +110,7 @@ kwsmusts (void) } } -/* No __VA_ARGS__ in C89. So we have to do it this way. */ -static void +void GEAcompile (char const *pattern, size_t size, reg_syntax_t syntax_bits) { const char *err; @@ -195,7 +194,7 @@ GEAcompile (char const *pattern, size_t size, reg_syntax_t syntax_bits) free(motif); } -static size_t +size_t EGexecute (char const *buf, size_t size, size_t *match_size, char const *start_ptr) { char const *buflim, *beg, *end, *match, *best_match, *mb_start; diff --git a/src/esearch.c b/src/esearch.c index b1be2a7..734d31e 100644 --- a/src/esearch.c +++ b/src/esearch.c @@ -1,4 +1,4 @@ -#include "dfasearch.c" +#include "search.h" static void Ecompile (char const *pattern, size_t size) diff --git a/src/fsearch.c b/src/fsearch.c index b16e769..1c03a6f 100644 --- a/src/fsearch.c +++ b/src/fsearch.c @@ -1,4 +1,4 @@ -#include "kwsearch.c" +#include "search.h" struct matcher const matchers[] = { { "fgrep", Fcompile, Fexecute }, diff --git a/src/gsearch.c b/src/gsearch.c index 8eee952..9559fd8 100644 --- a/src/gsearch.c +++ b/src/gsearch.c @@ -1,6 +1,4 @@ -#include "dfasearch.c" -#include "pcresearch.c" -#include "kwsearch.c" +#include "search.h" static void Gcompile (char const *pattern, size_t size) diff --git a/src/kwsearch.c b/src/kwsearch.c index 0e0f3bf..abe4923 100644 --- a/src/kwsearch.c +++ b/src/kwsearch.c @@ -29,7 +29,7 @@ any string matching the regexp. */ static kwset_t kwset; -static void +void Fcompile (char const *pattern, size_t size) { char const *beg, *end, *lim, *err, *pat; @@ -74,7 +74,7 @@ Fcompile (char const *pattern, size_t size) error (EXIT_TROUBLE, 0, "%s", err); } -static size_t +size_t Fexecute (char const *buf, size_t size, size_t *match_size, char const *start_ptr) { char const *beg, *try, *end, *mb_start; diff --git a/src/pcresearch.c b/src/pcresearch.c index c3411b7..3b208a7 100644 --- a/src/pcresearch.c +++ b/src/pcresearch.c @@ -32,7 +32,7 @@ static pcre *cre; static pcre_extra *extra; #endif -static void +void Pcompile (char const *pattern, size_t size) { #if !HAVE_LIBPCRE @@ -99,7 +99,7 @@ Pcompile (char const *pattern, size_t size) #endif } -static size_t +size_t Pexecute (char const *buf, size_t size, size_t *match_size, char const *start_ptr) { #if !HAVE_LIBPCRE diff --git a/src/search.h b/src/search.h index cb3b535..10e4d5c 100644 --- a/src/search.h +++ b/src/search.h @@ -37,6 +37,7 @@ #include "kwset.h" #include "xalloc.h" +/* searchutils.c */ void kwsinit (kwset_t *); #ifdef MBS_SUPPORT @@ -44,4 +45,17 @@ char * mbtolower (const char *, size_t *); bool is_mb_middle(const char **, const char *, const char *); #endif +/* dfasearch.c */ +void GEAcompile (char const *, size_t, reg_syntax_t); +size_t EGexecute (char const *, size_t, size_t *, char const *); + +/* kwsearch.c */ +void Fcompile (char const *, size_t); +size_t Fexecute (char const *, size_t, size_t *, char const *); + +/* pcresearch.c */ +void Pcompile (char const *, size_t); +size_t Pexecute (char const *, size_t, size_t *, char const *); + + #endif /* GREP_SEARCH_H */ -- 1.6.6.1