$(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la \
$(top_builddir)/src/lib-dcrypt/libdcrypt.la \
$(top_builddir)/src/lib-json/libjson.la \
+ $(top_builddir)/src/lib-regex/libdregex.la \
$(top_builddir)/src/lib-test/libtest.la \
$(top_builddir)/src/lib/liblib.la'
# This is used in dovecot-config, which is grepped in dovecot.m4,
if test "$want_shared_libs" = "yes"; then
LIBDOVECOT_DEPS='$(top_builddir)/src/lib-dovecot/libdovecot.la'
- LIBDOVECOT="$LIBDOVECOT_DEPS \$(MODULE_LIBS)"
+ LIBDOVECOT="$LIBDOVECOT_DEPS \$(MODULE_LIBS) \$(LIBPCRE_LIBS)"
LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libdovecot-storage.la $(top_builddir)/src/lib-imap-storage/libimap-storage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/libdovecot-lda.la'
fi
else
LIBDOVECOT_DEPS="$LIBDOVECOT_LA_LIBS"
- LIBDOVECOT="$LIBDOVECOT_DEPS \$(MODULE_LIBS)"
+ LIBDOVECOT="$LIBDOVECOT_DEPS \$(MODULE_LIBS) \$(LIBPCRE_LIBS)"
LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libstorage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/liblda.la'
LIBDOVECOT_SUBDIRS = \
lib-test \
lib \
+ lib-regex \
lib-var-expand \
lib-dns \
lib-settings \
lib-dovecot \
$(LIB_LDAP) \
$(LIB_LUA) \
- lib-regex \
lib-language \
lib-imap-client \
lib-imap-urlauth \
LIBDOVECOT_TEST_DEPS = \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-ssl-iostream/libssl_iostream.la \
../lib-json/libjson.la \
../lib-settings/libsettings.la \
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib/liblib.la
test_dict_fs_SOURCES = test-dict-fs.c
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-dns/libdns.la \
../lib-test/libtest.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib/liblib.la
test_dns_lookup_SOURCES = test-dns-lookup.c
libdovecot_la_LIBADD = \
$(LIBDOVECOT_LA_LIBS) \
$(MODULE_LIBS) \
+ $(LIBPCRE_LIBS) \
$(RELRO_LDFLAGS)
libdovecot_la_DEPENDENCIES = $(LIBDOVECOT_LA_LIBS)
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la \
$(MODULE_LIBS)
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib/liblib.la
test_http_url_SOURCES = test-http-url.c
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la \
$(MODULE_LIBS)
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib-dns-client/libdns-client.la \
../lib-dns/libdns.la \
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la \
$(MODULE_LIBS)
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-dns/libdns.la \
../lib-charset/libcharset.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib/liblib.la \
$(MODULE_LIBS)
MATCH_CASE("^.{2,3}$", "hel"),
MATCH_CASE("^.+$", "hello"),
MATCH_CASE_FULL("^.+$", "", NULL, 0, 0),
+ /* Groups */
+ MATCH_CASE(
+ "the (.*) jumped over a (.*) dog",
+ "the fox jumped over a lazy dog"
+ ),
+ MATCH_CASE("the (a) of (b)", "the a of b"),
+ MATCH_CASE("the \\(a\\) of \\(b\\)", "the (a) of (b)"),
/* Alternation and grouping */
MATCH_CASE("^(hello|world)$", "hello"),
MATCH_CASE("^(hello|world)$", "world"),
0,
0
),
+ {
+ .pattern = "the (.*) jumps off the (.*)",
+ .subject = "the cat jumps off the table",
+ .error = NULL,
+ .flags = (DREGEX_ICASE|DREGEX_ASCII_ONLY),
+ .compile_ret = 0,
+ .match_ret = 1,
+ },
MATCH_CASE("<(.*)@", "<simple-list@test.invalid>"),
MATCH_CASE("^\\[(.*)\\] (.*)$", "[acme-users] [fwd]: hello, world"),
MATCH_CASE_END
test_libs = \
libsettings.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-dns/libdns.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-otp/libotp.la \
../lib-json/libjson.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la \
$(MODULE_LIBS)
../lib-auth/libauth.la \
../lib-json/libjson.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la
$(module_LTLIBRARIES) \
../lib-dcrypt/libdcrypt.la \
../lib-var-expand/libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-json/libjson.la \
../lib-settings/libsettings.la \
../lib-dns/libdns.la \
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-I$(top_srcdir)/src/lib-test \
+ -I$(top_srcdir)/src/lib-regex \
-Wno-error=unused-function \
-DVAR_EXPAND_MODULE_DIR=\"$(moduledir)\"
test_libs = \
libvar_expand.la \
+ ../lib-regex/libdregex.la \
../lib-test/libtest.la \
../lib/liblib.la \
$(MODULE_LIBS)