diff options
author | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-04-18 15:37:56 +0000 |
---|---|---|
committer | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-04-18 15:37:56 +0000 |
commit | 8a7e1b1a832eb25fa9bf3ba8eeb7e2cfaad7839f (patch) | |
tree | 3e1c7f920800670516b46c59ae481a71ee0b2574 /src/pcre2_jit_match.c | |
parent | c1380a97c8830a473b48e815569d4a6b0d48acb8 (diff) | |
download | pcre2-8a7e1b1a832eb25fa9bf3ba8eeb7e2cfaad7839f.tar.gz |
Refactor the framework for revised API.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@6 6239d852-aaf2-0410-a92c-79f79f948069
Diffstat (limited to 'src/pcre2_jit_match.c')
-rw-r--r-- | src/pcre2_jit_match.c | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/pcre2_jit_match.c b/src/pcre2_jit_match.c new file mode 100644 index 0000000..5a74ad8 --- /dev/null +++ b/src/pcre2_jit_match.c @@ -0,0 +1,98 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2014 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +----------------------------------------------------------------------------- +*/ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "pcre2_internal.h" + + +/************************************************* +* Do a JIT pattern match * +*************************************************/ + +/* This function runs a JIT pattern match. + +Arguments: + code points to the compiled expression + subject points to the subject string + length length of subject string (may contain binary zeros) + start_offset where to start in the subject string + options option bits + match_data points to a match_data block + jit_stack points to a JIT stack + +Returns: > 0 => success; value is the number of ovector pairs filled + = 0 => success, but ovector is not big enough + -1 => failed to match (PCRE_ERROR_NOMATCH) + < -1 => some kind of unexpected problem +*/ + +/* FIXME: this is currently a placeholder function */ + +PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION +pcre2_jit_match(const pcre2_code *code, PCRE2_SPTR subject, int length, + size_t start_offset, uint32_t options, pcre2_match_data *match_data, + pcre2_jit_stack *jit_stack) +{ +#ifndef SUPPORT_JIT +(void)code; +(void)subject; +(void)length; +(void)start_offset; +(void)options; +(void)match_data; +(void)jit_stack; +return PCRE2_ERROR_NOMATCH; +#else /* SUPPORT_JIT */ + + +/* Dummy code */ +code=code;subject=subject;length=length; +start_offset=start_offset; options=options; match_data=match_data; +jit_stack=jit_stack; +return PCRE2_ERROR_NOMATCH; + +#endif /* SUPPORT_JIT */ +} + +/* End of pcre2_jit_match.c */ |