diff options
author | Patrik Nyblom <[email protected]> | 2013-07-15 11:08:18 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2013-07-19 18:06:02 +0200 |
commit | d0898734b7ae62572579a0ecd0b03ab451b233bb (patch) | |
tree | 48fd4a2aef87accf9d3c12d3a0c2c411f7f8f150 /erts/emulator/pcre/pcre_refcount.c | |
parent | 712f2cad96a941d68a2f9ad092badd5bc60e8cdd (diff) | |
download | otp-d0898734b7ae62572579a0ecd0b03ab451b233bb.tar.gz otp-d0898734b7ae62572579a0ecd0b03ab451b233bb.tar.bz2 otp-d0898734b7ae62572579a0ecd0b03ab451b233bb.zip |
Update to PCRE 8.33, w/o the erts_ prefix added
Diffstat (limited to 'erts/emulator/pcre/pcre_refcount.c')
-rw-r--r-- | erts/emulator/pcre/pcre_refcount.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/erts/emulator/pcre/pcre_refcount.c b/erts/emulator/pcre/pcre_refcount.c index a2077b9d52..5b2af2f47b 100644 --- a/erts/emulator/pcre/pcre_refcount.c +++ b/erts/emulator/pcre/pcre_refcount.c @@ -6,7 +6,7 @@ and semantics are as close as possible to those of the Perl 5 language. Written by Philip Hazel - Copyright (c) 1997-2008 University of Cambridge + Copyright (c) 1997-2012 University of Cambridge ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without @@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. */ -/* This module contains the external function erts_pcre_refcount(), which is an +/* This module contains the external function pcre_refcount(), which is an auxiliary function that can be used to maintain a reference count in a compiled pattern data block. This might be helpful in applications where the block is shared by different users. */ @@ -69,11 +69,21 @@ Returns: the (possibly updated) count value (a non-negative number), or a negative error number */ -PCRE_EXP_DEFN int -erts_pcre_refcount(pcre *argument_re, int adjust) +#if defined COMPILE_PCRE8 +PCRE_EXP_DEFN int PCRE_CALL_CONVENTION +pcre_refcount(pcre *argument_re, int adjust) +#elif defined COMPILE_PCRE16 +PCRE_EXP_DEFN int PCRE_CALL_CONVENTION +pcre16_refcount(pcre16 *argument_re, int adjust) +#elif defined COMPILE_PCRE32 +PCRE_EXP_DEFN int PCRE_CALL_CONVENTION +pcre32_refcount(pcre32 *argument_re, int adjust) +#endif { -real_pcre *re = (real_pcre *)argument_re; +REAL_PCRE *re = (REAL_PCRE *)argument_re; if (re == NULL) return PCRE_ERROR_NULL; +if (re->magic_number != MAGIC_NUMBER) return PCRE_ERROR_BADMAGIC; +if ((re->flags & PCRE_MODE) == 0) return PCRE_ERROR_BADMODE; re->ref_count = (-adjust > re->ref_count)? 0 : (adjust + re->ref_count > 65535)? 65535 : re->ref_count + adjust; |