X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibrewrite%2Frewrite-int.h;h=ca8873b06af622c219e893e0d8774ea8fc74773f;hb=c3e28a5488a8011ef0352f48fca85c48679205ba;hp=bf17fb3e20015930d2cb37d12001c89e55036cfb;hpb=3c598e89fb34a892d369a138daa8c3314294493c;p=openldap diff --git a/libraries/librewrite/rewrite-int.h b/libraries/librewrite/rewrite-int.h index bf17fb3e20..ca8873b06a 100644 --- a/libraries/librewrite/rewrite-int.h +++ b/libraries/librewrite/rewrite-int.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2004 The OpenLDAP Foundation. + * Copyright 2000-2007 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ #include #include #include "../libldap/ldap-int.h" - +#include #include #include @@ -55,7 +55,10 @@ */ /* the '\' conflicts with slapd.conf parsing */ /* #define REWRITE_SUBMATCH_ESCAPE '\\' */ -#define REWRITE_SUBMATCH_ESCAPE '%' +#define REWRITE_SUBMATCH_ESCAPE_ORIG '%' +#define REWRITE_SUBMATCH_ESCAPE '$' +#define IS_REWRITE_SUBMATCH_ESCAPE(c) \ + ((c) == REWRITE_SUBMATCH_ESCAPE || (c) == REWRITE_SUBMATCH_ESCAPE_ORIG) /* * REGEX flags @@ -154,10 +157,11 @@ struct rewrite_map { * Builtin maps */ struct rewrite_builtin_map { -#define REWRITE_BUILTIN_MAP_LDAP 0x0201 +#define REWRITE_BUILTIN_MAP 0x0200 int lb_type; char *lb_name; void *lb_private; + const rewrite_mapper *lb_mapper; #ifdef USE_REWRITE_LDAP_PVT_THREADS ldap_pvt_thread_mutex_t lb_mutex; @@ -203,7 +207,7 @@ struct rewrite_rule { char *lr_pattern; char *lr_subststring; char *lr_flagstring; - regex_t lr_regex; + regex_t lr_regex; /* * I was thinking about some kind of per-rule mutex, but there's