├── .gitignore ├── .gitmodules ├── .vscode └── settings.json ├── .whitesource ├── CMakeLists.txt ├── LICENSE ├── README.md ├── appveyor.yml ├── pcre2 ├── 132html ├── AUTHORS ├── CMakeLists.txt ├── COPYING ├── ChangeLog ├── CheckMan ├── CleanTxt ├── Detrail ├── HACKING ├── INSTALL ├── LICENCE ├── Makefile.am ├── Makefile.in ├── NEWS ├── NON-AUTOTOOLS-BUILD ├── PrepareRelease ├── README ├── RunGrepTest ├── RunGrepTest.bat ├── RunTest ├── RunTest.bat ├── aclocal.m4 ├── ar-lib ├── cmake │ ├── COPYING-CMAKE-SCRIPTS │ ├── FindEditline.cmake │ ├── FindPackageHandleStandardArgs.cmake │ └── FindReadline.cmake ├── compile ├── config-cmake.h.in ├── config.guess ├── config.sub ├── configure ├── configure.ac ├── depcomp ├── doc │ ├── html │ │ ├── NON-AUTOTOOLS-BUILD.txt │ │ ├── README.txt │ │ ├── index.html │ │ ├── pcre2-config.html │ │ ├── pcre2.html │ │ ├── pcre2_callout_enumerate.html │ │ ├── pcre2_code_copy.html │ │ ├── pcre2_code_copy_with_tables.html │ │ ├── pcre2_code_free.html │ │ ├── pcre2_compile.html │ │ ├── pcre2_compile_context_copy.html │ │ ├── pcre2_compile_context_create.html │ │ ├── pcre2_compile_context_free.html │ │ ├── pcre2_config.html │ │ ├── pcre2_convert_context_copy.html │ │ ├── pcre2_convert_context_create.html │ │ ├── pcre2_convert_context_free.html │ │ ├── pcre2_converted_pattern_free.html │ │ ├── pcre2_dfa_match.html │ │ ├── pcre2_general_context_copy.html │ │ ├── pcre2_general_context_create.html │ │ ├── pcre2_general_context_free.html │ │ ├── pcre2_get_error_message.html │ │ ├── pcre2_get_mark.html │ │ ├── pcre2_get_match_data_size.html │ │ ├── pcre2_get_ovector_count.html │ │ ├── pcre2_get_ovector_pointer.html │ │ ├── pcre2_get_startchar.html │ │ ├── pcre2_jit_compile.html │ │ ├── pcre2_jit_free_unused_memory.html │ │ ├── pcre2_jit_match.html │ │ ├── pcre2_jit_stack_assign.html │ │ ├── pcre2_jit_stack_create.html │ │ ├── pcre2_jit_stack_free.html │ │ ├── pcre2_maketables.html │ │ ├── pcre2_maketables_free.html │ │ ├── pcre2_match.html │ │ ├── pcre2_match_context_copy.html │ │ ├── pcre2_match_context_create.html │ │ ├── pcre2_match_context_free.html │ │ ├── pcre2_match_data_create.html │ │ ├── pcre2_match_data_create_from_pattern.html │ │ ├── pcre2_match_data_free.html │ │ ├── pcre2_pattern_convert.html │ │ ├── pcre2_pattern_info.html │ │ ├── pcre2_serialize_decode.html │ │ ├── pcre2_serialize_encode.html │ │ ├── pcre2_serialize_free.html │ │ ├── pcre2_serialize_get_number_of_codes.html │ │ ├── pcre2_set_bsr.html │ │ ├── pcre2_set_callout.html │ │ ├── pcre2_set_character_tables.html │ │ ├── pcre2_set_compile_extra_options.html │ │ ├── pcre2_set_compile_recursion_guard.html │ │ ├── pcre2_set_depth_limit.html │ │ ├── pcre2_set_glob_escape.html │ │ ├── pcre2_set_glob_separator.html │ │ ├── pcre2_set_heap_limit.html │ │ ├── pcre2_set_match_limit.html │ │ ├── pcre2_set_max_pattern_length.html │ │ ├── pcre2_set_newline.html │ │ ├── pcre2_set_offset_limit.html │ │ ├── pcre2_set_parens_nest_limit.html │ │ ├── pcre2_set_recursion_limit.html │ │ ├── pcre2_set_recursion_memory_management.html │ │ ├── pcre2_set_substitute_callout.html │ │ ├── pcre2_substitute.html │ │ ├── pcre2_substring_copy_byname.html │ │ ├── pcre2_substring_copy_bynumber.html │ │ ├── pcre2_substring_free.html │ │ ├── pcre2_substring_get_byname.html │ │ ├── pcre2_substring_get_bynumber.html │ │ ├── pcre2_substring_length_byname.html │ │ ├── pcre2_substring_length_bynumber.html │ │ ├── pcre2_substring_list_free.html │ │ ├── pcre2_substring_list_get.html │ │ ├── pcre2_substring_nametable_scan.html │ │ ├── pcre2_substring_number_from_name.html │ │ ├── pcre2api.html │ │ ├── pcre2build.html │ │ ├── pcre2callout.html │ │ ├── pcre2compat.html │ │ ├── pcre2convert.html │ │ ├── pcre2demo.html │ │ ├── pcre2grep.html │ │ ├── pcre2jit.html │ │ ├── pcre2limits.html │ │ ├── pcre2matching.html │ │ ├── pcre2partial.html │ │ ├── pcre2pattern.html │ │ ├── pcre2perform.html │ │ ├── pcre2posix.html │ │ ├── pcre2sample.html │ │ ├── pcre2serialize.html │ │ ├── pcre2syntax.html │ │ ├── pcre2test.html │ │ └── pcre2unicode.html │ ├── index.html.src │ ├── pcre2-config.1 │ ├── pcre2-config.txt │ ├── pcre2.3 │ ├── pcre2.txt │ ├── pcre2_callout_enumerate.3 │ ├── pcre2_code_copy.3 │ ├── pcre2_code_copy_with_tables.3 │ ├── pcre2_code_free.3 │ ├── pcre2_compile.3 │ ├── pcre2_compile_context_copy.3 │ ├── pcre2_compile_context_create.3 │ ├── pcre2_compile_context_free.3 │ ├── pcre2_config.3 │ ├── pcre2_convert_context_copy.3 │ ├── pcre2_convert_context_create.3 │ ├── pcre2_convert_context_free.3 │ ├── pcre2_converted_pattern_free.3 │ ├── pcre2_dfa_match.3 │ ├── pcre2_general_context_copy.3 │ ├── pcre2_general_context_create.3 │ ├── pcre2_general_context_free.3 │ ├── pcre2_get_error_message.3 │ ├── pcre2_get_mark.3 │ ├── pcre2_get_match_data_size.3 │ ├── pcre2_get_ovector_count.3 │ ├── pcre2_get_ovector_pointer.3 │ ├── pcre2_get_startchar.3 │ ├── pcre2_jit_compile.3 │ ├── pcre2_jit_free_unused_memory.3 │ ├── pcre2_jit_match.3 │ ├── pcre2_jit_stack_assign.3 │ ├── pcre2_jit_stack_create.3 │ ├── pcre2_jit_stack_free.3 │ ├── pcre2_maketables.3 │ ├── pcre2_maketables_free.3 │ ├── pcre2_match.3 │ ├── pcre2_match_context_copy.3 │ ├── pcre2_match_context_create.3 │ ├── pcre2_match_context_free.3 │ ├── pcre2_match_data_create.3 │ ├── pcre2_match_data_create_from_pattern.3 │ ├── pcre2_match_data_free.3 │ ├── pcre2_pattern_convert.3 │ ├── pcre2_pattern_info.3 │ ├── pcre2_serialize_decode.3 │ ├── pcre2_serialize_encode.3 │ ├── pcre2_serialize_free.3 │ ├── pcre2_serialize_get_number_of_codes.3 │ ├── pcre2_set_bsr.3 │ ├── pcre2_set_callout.3 │ ├── pcre2_set_character_tables.3 │ ├── pcre2_set_compile_extra_options.3 │ ├── pcre2_set_compile_recursion_guard.3 │ ├── pcre2_set_depth_limit.3 │ ├── pcre2_set_glob_escape.3 │ ├── pcre2_set_glob_separator.3 │ ├── pcre2_set_heap_limit.3 │ ├── pcre2_set_match_limit.3 │ ├── pcre2_set_max_pattern_length.3 │ ├── pcre2_set_newline.3 │ ├── pcre2_set_offset_limit.3 │ ├── pcre2_set_parens_nest_limit.3 │ ├── pcre2_set_recursion_limit.3 │ ├── pcre2_set_recursion_memory_management.3 │ ├── pcre2_set_substitute_callout.3 │ ├── pcre2_substitute.3 │ ├── pcre2_substring_copy_byname.3 │ ├── pcre2_substring_copy_bynumber.3 │ ├── pcre2_substring_free.3 │ ├── pcre2_substring_get_byname.3 │ ├── pcre2_substring_get_bynumber.3 │ ├── pcre2_substring_length_byname.3 │ ├── pcre2_substring_length_bynumber.3 │ ├── pcre2_substring_list_free.3 │ ├── pcre2_substring_list_get.3 │ ├── pcre2_substring_nametable_scan.3 │ ├── pcre2_substring_number_from_name.3 │ ├── pcre2api.3 │ ├── pcre2build.3 │ ├── pcre2callout.3 │ ├── pcre2compat.3 │ ├── pcre2convert.3 │ ├── pcre2demo.3 │ ├── pcre2grep.1 │ ├── pcre2grep.txt │ ├── pcre2jit.3 │ ├── pcre2limits.3 │ ├── pcre2matching.3 │ ├── pcre2partial.3 │ ├── pcre2pattern.3 │ ├── pcre2perform.3 │ ├── pcre2posix.3 │ ├── pcre2sample.3 │ ├── pcre2serialize.3 │ ├── pcre2syntax.3 │ ├── pcre2test.1 │ ├── pcre2test.txt │ └── pcre2unicode.3 ├── install-sh ├── libpcre2-16.pc.in ├── libpcre2-32.pc.in ├── libpcre2-8.pc.in ├── libpcre2-posix.pc.in ├── ltmain.sh ├── m4 │ ├── ax_pthread.m4 │ ├── libtool.m4 │ ├── ltoptions.m4 │ ├── ltsugar.m4 │ ├── ltversion.m4 │ ├── lt~obsolete.m4 │ └── pcre2_visibility.m4 ├── missing ├── pcre2-config.in ├── perltest.sh ├── src │ ├── config.h.generic │ ├── config.h.in │ ├── dftables.c │ ├── pcre2.h.generic │ ├── pcre2.h.in │ ├── pcre2_auto_possess.c │ ├── pcre2_chartables.c.dist │ ├── pcre2_compile.c │ ├── pcre2_config.c │ ├── pcre2_context.c │ ├── pcre2_convert.c │ ├── pcre2_dfa_match.c │ ├── pcre2_error.c │ ├── pcre2_extuni.c │ ├── pcre2_find_bracket.c │ ├── pcre2_fuzzsupport.c │ ├── pcre2_internal.h │ ├── pcre2_intmodedep.h │ ├── pcre2_jit_compile.c │ ├── pcre2_jit_match.c │ ├── pcre2_jit_misc.c │ ├── pcre2_jit_neon_inc.h │ ├── pcre2_jit_simd_inc.h │ ├── pcre2_jit_test.c │ ├── pcre2_maketables.c │ ├── pcre2_match.c │ ├── pcre2_match_data.c │ ├── pcre2_newline.c │ ├── pcre2_ord2utf.c │ ├── pcre2_pattern_info.c │ ├── pcre2_printint.c │ ├── pcre2_script_run.c │ ├── pcre2_serialize.c │ ├── pcre2_string_utils.c │ ├── pcre2_study.c │ ├── pcre2_substitute.c │ ├── pcre2_substring.c │ ├── pcre2_tables.c │ ├── pcre2_ucd.c │ ├── pcre2_ucp.h │ ├── pcre2_valid_utf.c │ ├── pcre2_xclass.c │ ├── pcre2demo.c │ ├── pcre2grep.c │ ├── pcre2posix.c │ ├── pcre2posix.h │ ├── pcre2test.c │ └── sljit │ │ ├── sljitConfig.h │ │ ├── sljitConfigInternal.h │ │ ├── sljitExecAllocator.c │ │ ├── sljitLir.c │ │ ├── sljitLir.h │ │ ├── sljitNativeARM_32.c │ │ ├── sljitNativeARM_64.c │ │ ├── sljitNativeARM_T2_32.c │ │ ├── sljitNativeMIPS_32.c │ │ ├── sljitNativeMIPS_64.c │ │ ├── sljitNativeMIPS_common.c │ │ ├── sljitNativePPC_32.c │ │ ├── sljitNativePPC_64.c │ │ ├── sljitNativePPC_common.c │ │ ├── sljitNativeSPARC_32.c │ │ ├── sljitNativeSPARC_common.c │ │ ├── sljitNativeTILEGX-encoder.c │ │ ├── sljitNativeTILEGX_64.c │ │ ├── sljitNativeX86_32.c │ │ ├── sljitNativeX86_64.c │ │ ├── sljitNativeX86_common.c │ │ ├── sljitProtExecAllocator.c │ │ └── sljitUtils.c ├── test-driver └── testdata │ ├── grepbinary │ ├── grepfilelist │ ├── grepinput │ ├── grepinput3 │ ├── grepinput8 │ ├── grepinputM │ ├── grepinputv │ ├── grepinputx │ ├── greplist │ ├── grepoutput │ ├── grepoutput8 │ ├── grepoutputC │ ├── grepoutputCN │ ├── grepoutputN │ ├── greppatN4 │ ├── testinput1 │ ├── testinput10 │ ├── testinput11 │ ├── testinput12 │ ├── testinput13 │ ├── testinput14 │ ├── testinput15 │ ├── testinput16 │ ├── testinput17 │ ├── testinput18 │ ├── testinput19 │ ├── testinput2 │ ├── testinput20 │ ├── testinput21 │ ├── testinput22 │ ├── testinput23 │ ├── testinput24 │ ├── testinput25 │ ├── testinput3 │ ├── testinput4 │ ├── testinput5 │ ├── testinput6 │ ├── testinput7 │ ├── testinput8 │ ├── testinput9 │ ├── testinputEBC │ ├── testoutput1 │ ├── testoutput10 │ ├── testoutput11-16 │ ├── testoutput11-32 │ ├── testoutput12-16 │ ├── testoutput12-32 │ ├── testoutput13 │ ├── testoutput14-16 │ ├── testoutput14-32 │ ├── testoutput14-8 │ ├── testoutput15 │ ├── testoutput16 │ ├── testoutput17 │ ├── testoutput18 │ ├── testoutput19 │ ├── testoutput2 │ ├── testoutput20 │ ├── testoutput21 │ ├── testoutput22-16 │ ├── testoutput22-32 │ ├── testoutput22-8 │ ├── testoutput23 │ ├── testoutput24 │ ├── testoutput25 │ ├── testoutput3 │ ├── testoutput3A │ ├── testoutput3B │ ├── testoutput4 │ ├── testoutput5 │ ├── testoutput6 │ ├── testoutput7 │ ├── testoutput8-16-2 │ ├── testoutput8-16-3 │ ├── testoutput8-16-4 │ ├── testoutput8-32-2 │ ├── testoutput8-32-3 │ ├── testoutput8-32-4 │ ├── testoutput8-8-2 │ ├── testoutput8-8-3 │ ├── testoutput8-8-4 │ ├── testoutput9 │ ├── testoutputEBC │ ├── valgrind-jit.supp │ ├── wintestinput3 │ └── wintestoutput3 ├── pcre2posix.h └── win-headers ├── config.h ├── magic.def └── unistd.h /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Prerequisites 3 | *.d 4 | 5 | # Object files 6 | *.o 7 | *.ko 8 | *.obj 9 | *.elf 10 | 11 | # Linker output 12 | *.ilk 13 | *.map 14 | *.exp 15 | 16 | # Precompiled Headers 17 | *.gch 18 | *.pch 19 | 20 | # Libraries 21 | *.lib 22 | *.a 23 | *.la 24 | *.lo 25 | 26 | # Shared objects (inc. Windows DLLs) 27 | *.dll 28 | *.so 29 | *.so.* 30 | *.dylib 31 | 32 | # Executables 33 | *.exe 34 | *.out 35 | *.app 36 | *.i*86 37 | *.x86_64 38 | *.hex 39 | 40 | # Debug files 41 | *.dSYM/ 42 | *.su 43 | *.idb 44 | *.pdb 45 | 46 | # Kernel Module Compile Results 47 | *.mod* 48 | *.cmd 49 | .tmp_versions/ 50 | modules.order 51 | Module.symvers 52 | Mkfile.old 53 | dkms.conf 54 | 55 | .vscode/* 56 | !.vscode/settings.json 57 | !.vscode/tasks.json 58 | !.vscode/launch.json 59 | !.vscode/extensions.json 60 | 61 | # Windows thumbnail cache files 62 | Thumbs.db 63 | ehthumbs.db 64 | ehthumbs_vista.db 65 | 66 | # Dump file 67 | *.stackdump 68 | 69 | # Folder config file 70 | Desktop.ini 71 | 72 | # Recycle Bin used on file shares 73 | $RECYCLE.BIN/ 74 | 75 | # Windows Installer files 76 | *.cab 77 | *.msi 78 | *.msm 79 | *.msp 80 | 81 | # Windows shortcuts 82 | *.lnk 83 | x64/ 84 | CMakeFiles/ 85 | *.vcxproj 86 | *.filters 87 | *.cmake 88 | *.sln 89 | *.db 90 | *.user 91 | *.suo 92 | CMakeCache.txt 93 | magic 94 | magic.c 95 | magic.in 96 | magic.mgc 97 | readelf.c 98 | libmagic.dir/ 99 | file.dir/ 100 | file_test.dir/ 101 | pcre2/pcre2-8.dir/ 102 | pcre2/pcre2grep.dir/ 103 | pcre2/pcre2-posix.dir/ 104 | pcre2/pcre2test.dir/ 105 | *.opendb 106 | 107 | 108 | # ignore copied regex.h 109 | pcre2/src/regex.h 110 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "file"] 2 | path = file 3 | url = https://github.com/file/file.git 4 | [submodule "dirent"] 5 | path = dirent 6 | url = https://github.com/tronkko/dirent.git 7 | [submodule "getopt"] 8 | path = getopt 9 | url = https://github.com/skandhurkat/Getopt-for-Visual-Studio.git 10 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "mygetopt.h": "c" 4 | } 5 | } -------------------------------------------------------------------------------- /.whitesource: -------------------------------------------------------------------------------- 1 | { 2 | "scanSettings": { 3 | "baseBranches": [] 4 | }, 5 | "checkRunSettings": { 6 | "vulnerableCheckRunConclusionLevel": "failure", 7 | "displayMode": "diff" 8 | }, 9 | "issueSettings": { 10 | "minSeverityLevel": "LOW" 11 | } 12 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Julian David Rath 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build status](https://ci.appveyor.com/api/projects/status/9xwg49m6124xa2pp/branch/master?svg=true 2 | )](https://ci.appveyor.com/project/julian-r/file-windows) 3 | 4 | This aims to have everything one needs to build file on windows with visual studio. 5 | 6 | ## Checkout with submodules 7 | 8 | ```sh 9 | git submodule update --init --recursiv 10 | ``` 11 | 12 | ## External Dependencies 13 | 14 | - *regex*: I am using [PCRE2](http://www.pcre.org/) version 10.30. 15 | Unfortunately this is not available on github with tags, so I commited it in this repo. 16 | I copied `pcre2posix.h` to `regex.h`. 17 | - *dirent*: Dirent is not available on windows, so I used a implementation from [tronkko](https://github.com/tronkko/dirent). 18 | - *getopt*: A similar problem exists with getopt, so I used a implementation from [skandhurkat](https://github.com/skandhurkat/Getopt-for-Visual-Studio). 19 | 20 | ## Linking 21 | 22 | - all the dependencies are statically linked or compiled into the dll 23 | - There is a `.def` file in windows headers describing the exports for the linker 24 | - Since dirent defines some of the symbols used in files `readelf.c` and `magic.c` the include is "patched" into them in the `CMakeLists.txt` 25 | 26 | ## Updating file 27 | 28 | - Checkout the version in the `file` submodule. 29 | - Update `CMakeLists.txt` 30 | - Update `appveyor.yml` 31 | 32 | ## Updating pcre2 33 | 34 | - I disabled the test in the `CMakeFile.txt` manually, the rest is vanilla. 35 | -------------------------------------------------------------------------------- /pcre2/AUTHORS: -------------------------------------------------------------------------------- 1 | THE MAIN PCRE2 LIBRARY CODE 2 | --------------------------- 3 | 4 | Written by: Philip Hazel 5 | Email local part: ph10 6 | Email domain: cam.ac.uk 7 | 8 | University of Cambridge Computing Service, 9 | Cambridge, England. 10 | 11 | Copyright (c) 1997-2019 University of Cambridge 12 | All rights reserved 13 | 14 | 15 | PCRE2 JUST-IN-TIME COMPILATION SUPPORT 16 | -------------------------------------- 17 | 18 | Written by: Zoltan Herczeg 19 | Email local part: hzmester 20 | Emain domain: freemail.hu 21 | 22 | Copyright(c) 2010-2019 Zoltan Herczeg 23 | All rights reserved. 24 | 25 | 26 | STACK-LESS JUST-IN-TIME COMPILER 27 | -------------------------------- 28 | 29 | Written by: Zoltan Herczeg 30 | Email local part: hzmester 31 | Emain domain: freemail.hu 32 | 33 | Copyright(c) 2009-2019 Zoltan Herczeg 34 | All rights reserved. 35 | 36 | #### 37 | -------------------------------------------------------------------------------- /pcre2/COPYING: -------------------------------------------------------------------------------- 1 | PCRE2 LICENCE 2 | 3 | Please see the file LICENCE in the PCRE2 distribution for licensing details. 4 | 5 | End 6 | -------------------------------------------------------------------------------- /pcre2/CheckMan: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | 3 | # A script to scan PCRE2's man pages to check for typos in the control 4 | # sequences. I use only a small set of the available repertoire, so it is 5 | # straightforward to check that nothing else has slipped in by mistake. This 6 | # script should be called in the doc directory. 7 | 8 | $yield = 0; 9 | 10 | while (scalar(@ARGV) > 0) 11 | { 12 | $line = 0; 13 | $file = shift @ARGV; 14 | 15 | open (IN, $file) || die "Failed to open $file\n"; 16 | 17 | while () 18 | { 19 | $line++; 20 | if (/^\s*$/) 21 | { 22 | printf "Empty line $line of $file\n"; 23 | $yield = 1; 24 | } 25 | elsif (/^\./) 26 | { 27 | if (!/^\.\s*$| 28 | ^\.B\s+\S| 29 | ^\.TH\s\S| 30 | ^\.SH\s\S| 31 | ^\.SS\s\S| 32 | ^\.TP(?:\s?\d+)?\s*$| 33 | ^\.SM\s*$| 34 | ^\.br\s*$| 35 | ^\.rs\s*$| 36 | ^\.sp\s*$| 37 | ^\.nf\s*$| 38 | ^\.fi\s*$| 39 | ^\.P\s*$| 40 | ^\.PP\s*$| 41 | ^\.\\"(?:\ HREF)?\s*$| 42 | ^\.\\"\sHTML\s\s*$| 43 | ^\.\\"\sHTML\s<\/a>\s*$| 44 | ^\.\\"\s<\/a>\s*$| 45 | ^\.\\"\sJOINSH\s*$| 46 | ^\.\\"\sJOIN\s*$/x 47 | ) 48 | { 49 | printf "Bad control line $line of $file\n"; 50 | $yield = 1; 51 | } 52 | } 53 | else 54 | { 55 | if (/\\[^ef]|\\f[^IBP]/) 56 | { 57 | printf "Bad backslash in line $line of $file\n"; 58 | $yield = 1; 59 | } 60 | } 61 | } 62 | 63 | close(IN); 64 | } 65 | 66 | exit $yield; 67 | # End 68 | -------------------------------------------------------------------------------- /pcre2/Detrail: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | # This is a script for removing trailing whitespace from lines in files that 4 | # are listed on the command line. 5 | 6 | # This subroutine does the work for one file. 7 | 8 | sub detrail { 9 | my($file) = $_[0]; 10 | my($changed) = 0; 11 | open(IN, "$file") || die "Can't open $file for input"; 12 | @lines = ; 13 | close(IN); 14 | foreach (@lines) 15 | { 16 | if (/\s+\n$/) 17 | { 18 | s/\s+\n$/\n/; 19 | $changed = 1; 20 | } 21 | } 22 | if ($changed) 23 | { 24 | open(OUT, ">$file") || die "Can't open $file for output"; 25 | print OUT @lines; 26 | close(OUT); 27 | } 28 | } 29 | 30 | # This is the main program 31 | 32 | $, = ""; # Output field separator 33 | for ($i = 0; $i < @ARGV; $i++) { &detrail($ARGV[$i]); } 34 | 35 | # End 36 | -------------------------------------------------------------------------------- /pcre2/cmake/COPYING-CMAKE-SCRIPTS: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | 1. Redistributions of source code must retain the copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 2. Redistributions in binary form must reproduce the copyright 8 | notice, this list of conditions and the following disclaimer in the 9 | documentation and/or other materials provided with the distribution. 10 | 3. The name of the author may not be used to endorse or promote products 11 | derived from this software without specific prior written permission. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /pcre2/cmake/FindEditline.cmake: -------------------------------------------------------------------------------- 1 | # Modified from FindReadline.cmake (PH Feb 2012) 2 | 3 | if(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY) 4 | set(EDITLINE_FOUND TRUE) 5 | else(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY) 6 | FIND_PATH(EDITLINE_INCLUDE_DIR readline.h 7 | /usr/include/editline 8 | /usr/include/edit/readline 9 | /usr/include/readline 10 | ) 11 | 12 | FIND_LIBRARY(EDITLINE_LIBRARY NAMES edit) 13 | include(FindPackageHandleStandardArgs) 14 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Editline DEFAULT_MSG EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY ) 15 | 16 | MARK_AS_ADVANCED(EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY) 17 | endif(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY) 18 | -------------------------------------------------------------------------------- /pcre2/cmake/FindReadline.cmake: -------------------------------------------------------------------------------- 1 | # from http://websvn.kde.org/trunk/KDE/kdeedu/cmake/modules/FindReadline.cmake 2 | # http://websvn.kde.org/trunk/KDE/kdeedu/cmake/modules/COPYING-CMAKE-SCRIPTS 3 | # --> BSD licensed 4 | # 5 | # GNU Readline library finder 6 | if(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY) 7 | set(READLINE_FOUND TRUE) 8 | else(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY) 9 | FIND_PATH(READLINE_INCLUDE_DIR readline/readline.h 10 | /usr/include/readline 11 | ) 12 | 13 | # 2008-04-22 The next clause used to read like this: 14 | # 15 | # FIND_LIBRARY(READLINE_LIBRARY NAMES readline) 16 | # FIND_LIBRARY(NCURSES_LIBRARY NAMES ncurses ) 17 | # include(FindPackageHandleStandardArgs) 18 | # FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG NCURSES_LIBRARY READLINE_INCLUDE_DIR READLINE_LIBRARY ) 19 | # 20 | # I was advised to modify it such that it will find an ncurses library if 21 | # required, but not if one was explicitly given, that is, it allows the 22 | # default to be overridden. PH 23 | 24 | FIND_LIBRARY(READLINE_LIBRARY NAMES readline) 25 | include(FindPackageHandleStandardArgs) 26 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG READLINE_INCLUDE_DIR READLINE_LIBRARY ) 27 | 28 | MARK_AS_ADVANCED(READLINE_INCLUDE_DIR READLINE_LIBRARY) 29 | endif(READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NCURSES_LIBRARY) 30 | -------------------------------------------------------------------------------- /pcre2/config-cmake.h.in: -------------------------------------------------------------------------------- 1 | /* config.h for CMake builds */ 2 | 3 | #cmakedefine HAVE_DIRENT_H 1 4 | #cmakedefine HAVE_INTTYPES_H 1 5 | #cmakedefine HAVE_STDINT_H 1 6 | #cmakedefine HAVE_STRERROR 1 7 | #cmakedefine HAVE_SYS_STAT_H 1 8 | #cmakedefine HAVE_SYS_TYPES_H 1 9 | #cmakedefine HAVE_UNISTD_H 1 10 | #cmakedefine HAVE_WINDOWS_H 1 11 | 12 | #cmakedefine HAVE_BCOPY 1 13 | #cmakedefine HAVE_MEMMOVE 1 14 | 15 | #cmakedefine PCRE2_STATIC 1 16 | 17 | #cmakedefine SUPPORT_PCRE2_8 1 18 | #cmakedefine SUPPORT_PCRE2_16 1 19 | #cmakedefine SUPPORT_PCRE2_32 1 20 | #cmakedefine PCRE2_DEBUG 1 21 | #cmakedefine DISABLE_PERCENT_ZT 1 22 | 23 | #cmakedefine SUPPORT_LIBBZ2 1 24 | #cmakedefine SUPPORT_LIBEDIT 1 25 | #cmakedefine SUPPORT_LIBREADLINE 1 26 | #cmakedefine SUPPORT_LIBZ 1 27 | 28 | #cmakedefine SUPPORT_JIT 1 29 | #cmakedefine SLJIT_PROT_EXECUTABLE_ALLOCATOR 1 30 | #cmakedefine SUPPORT_PCRE2GREP_JIT 1 31 | #cmakedefine SUPPORT_PCRE2GREP_CALLOUT 1 32 | #cmakedefine SUPPORT_PCRE2GREP_CALLOUT_FORK 1 33 | #cmakedefine SUPPORT_UNICODE 1 34 | #cmakedefine SUPPORT_VALGRIND 1 35 | 36 | #cmakedefine BSR_ANYCRLF 1 37 | #cmakedefine EBCDIC 1 38 | #cmakedefine EBCDIC_NL25 1 39 | #cmakedefine HEAP_MATCH_RECURSE 1 40 | #cmakedefine NEVER_BACKSLASH_C 1 41 | 42 | #define LINK_SIZE @PCRE2_LINK_SIZE@ 43 | #define HEAP_LIMIT @PCRE2_HEAP_LIMIT@ 44 | #define MATCH_LIMIT @PCRE2_MATCH_LIMIT@ 45 | #define MATCH_LIMIT_DEPTH @PCRE2_MATCH_LIMIT_DEPTH@ 46 | #define NEWLINE_DEFAULT @NEWLINE_DEFAULT@ 47 | #define PARENS_NEST_LIMIT @PCRE2_PARENS_NEST_LIMIT@ 48 | #define PCRE2GREP_BUFSIZE @PCRE2GREP_BUFSIZE@ 49 | #define PCRE2GREP_MAX_BUFSIZE @PCRE2GREP_MAX_BUFSIZE@ 50 | 51 | #define MAX_NAME_SIZE 32 52 | #define MAX_NAME_COUNT 10000 53 | 54 | /* end config.h for CMake builds */ 55 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_code_copy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_code_copy specification 4 | 5 | 6 |

pcre2_code_copy man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_code *pcre2_code_copy(const pcre2_code *code); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function makes a copy of the memory used for a compiled pattern, excluding 29 | any memory used by the JIT compiler. Without a subsequent call to 30 | pcre2_jit_compile(), the copy can be used only for non-JIT matching. The 31 | pointer to the character tables is copied, not the tables themselves (see 32 | pcre2_code_copy_with_tables()). The yield of the function is NULL if 33 | code is NULL or if sufficient memory cannot be obtained. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_code_copy_with_tables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_code_copy_with_tables specification 4 | 5 | 6 |

pcre2_code_copy_with_tables man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_code *pcre2_code_copy_with_tables(const pcre2_code *code); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function makes a copy of the memory used for a compiled pattern, excluding 29 | any memory used by the JIT compiler. Without a subsequent call to 30 | pcre2_jit_compile(), the copy can be used only for non-JIT matching. 31 | Unlike pcre2_code_copy(), a separate copy of the character tables is also 32 | made, with the new code pointing to it. This memory will be automatically freed 33 | when pcre2_code_free() is called. The yield of the function is NULL if 34 | code is NULL or if sufficient memory cannot be obtained. 35 |

36 |

37 | There is a complete description of the PCRE2 native API in the 38 | pcre2api 39 | page and a description of the POSIX API in the 40 | pcre2posix 41 | page. 42 |

43 | Return to the PCRE2 index page. 44 |

45 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_code_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_code_free specification 4 | 5 | 6 |

pcre2_code_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_code_free(pcre2_code *code); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | If code is NULL, this function does nothing. Otherwise, code must 29 | point to a compiled pattern. This function frees its memory, including any 30 | memory used by the JIT compiler. If the compiled pattern was created by a call 31 | to pcre2_code_copy_with_tables(), the memory for the character tables is 32 | also freed. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_compile_context_copy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_compile_context_copy specification 4 | 5 | 6 |

pcre2_compile_context_copy man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_compile_context *pcre2_compile_context_copy( 23 | pcre2_compile_context *ccontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function makes a new copy of a compile context, using the memory 30 | allocation function that was used for the original context. The result is NULL 31 | if the memory cannot be obtained. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_compile_context_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_compile_context_create specification 4 | 5 | 6 |

pcre2_compile_context_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_compile_context *pcre2_compile_context_create( 23 | pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function creates and initializes a new compile context. If its argument is 30 | NULL, malloc() is used to get the necessary memory; otherwise the memory 31 | allocation function within the general context is used. The result is NULL if 32 | the memory could not be obtained. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_compile_context_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_compile_context_free specification 4 | 5 | 6 |

pcre2_compile_context_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_compile_context_free(pcre2_compile_context *ccontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function frees the memory occupied by a compile context, using the memory 29 | freeing function from the general context with which it was created, or 30 | free() if that was not set. If the argument is NULL, the function returns 31 | immediately without doing anything. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_convert_context_copy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_convert_context_copy specification 4 | 5 | 6 |

pcre2_convert_context_copy man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_convert_context *pcre2_convert_context_copy( 23 | pcre2_convert_context *cvcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is part of an experimental set of pattern conversion functions. 30 | It makes a new copy of a convert context, using the memory allocation function 31 | that was used for the original context. The result is NULL if the memory cannot 32 | be obtained. 33 |

34 |

35 | The pattern conversion functions are described in the 36 | pcre2convert 37 | documentation. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_convert_context_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_convert_context_create specification 4 | 5 | 6 |

pcre2_convert_context_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_convert_context *pcre2_convert_context_create( 23 | pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is part of an experimental set of pattern conversion functions. 30 | It creates and initializes a new convert context. If its argument is 31 | NULL, malloc() is used to get the necessary memory; otherwise the memory 32 | allocation function within the general context is used. The result is NULL if 33 | the memory could not be obtained. 34 |

35 |

36 | The pattern conversion functions are described in the 37 | pcre2convert 38 | documentation. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_convert_context_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_convert_context_free specification 4 | 5 | 6 |

pcre2_convert_context_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_convert_context_free(pcre2_convert_context *cvcontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function is part of an experimental set of pattern conversion functions. 29 | It frees the memory occupied by a convert context, using the memory 30 | freeing function from the general context with which it was created, or 31 | free() if that was not set. If the argument is NULL, the function returns 32 | immediately without doing anything. 33 |

34 |

35 | The pattern conversion functions are described in the 36 | pcre2convert 37 | documentation. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_converted_pattern_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_converted_pattern_free specification 4 | 5 | 6 |

pcre2_converted_pattern_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_converted_pattern_free(PCRE2_UCHAR *converted_pattern); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function is part of an experimental set of pattern conversion functions. 29 | It frees the memory occupied by a converted pattern that was obtained by 30 | calling pcre2_pattern_convert() with arguments that caused it to place 31 | the converted pattern into newly obtained heap memory. If the argument is NULL, 32 | the function returns immediately without doing anything. 33 |

34 |

35 | The pattern conversion functions are described in the 36 | pcre2convert 37 | documentation. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_general_context_copy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_general_context_copy specification 4 | 5 | 6 |

pcre2_general_context_copy man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_general_context *pcre2_general_context_copy( 23 | pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function makes a new copy of a general context, using the memory 30 | allocation functions in the context, if set, to get the necessary memory. 31 | Otherwise malloc() is used. The result is NULL if the memory cannot be 32 | obtained. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_general_context_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_general_context_create specification 4 | 5 | 6 |

pcre2_general_context_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_general_context *pcre2_general_context_create( 23 | void *(*private_malloc)(PCRE2_SIZE, void *), 24 | void (*private_free)(void *, void *), void *memory_data); 25 |

26 |
27 | DESCRIPTION 28 |
29 |

30 | This function creates and initializes a general context. The arguments define 31 | custom memory management functions and a data value that is passed to them when 32 | they are called. The private_malloc() function is used to get memory for 33 | the context. If either of the first two arguments is NULL, the system memory 34 | management function is used. The result is NULL if no memory could be obtained. 35 |

36 |

37 | There is a complete description of the PCRE2 native API in the 38 | pcre2api 39 | page and a description of the POSIX API in the 40 | pcre2posix 41 | page. 42 |

43 | Return to the PCRE2 index page. 44 |

45 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_general_context_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_general_context_free specification 4 | 5 | 6 |

pcre2_general_context_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_general_context_free(pcre2_general_context *gcontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function frees the memory occupied by a general context, using the memory 29 | freeing function within the context, if set. If the argument is NULL, the 30 | function returns immediately without doing anything. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_error_message.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_error_message specification 4 | 5 | 6 |

pcre2_get_error_message man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_get_error_message(int errorcode, PCRE2_UCHAR *buffer, 23 | PCRE2_SIZE bufflen); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function provides a textual error message for each PCRE2 error code. 30 | Compilation errors are positive numbers; UTF formatting errors and matching 31 | errors are negative numbers. The arguments are: 32 |

33 |   errorcode   an error code (positive or negative)
34 |   buffer      where to put the message
35 |   bufflen     the length of the buffer (code units)
36 | 
37 | The function returns the length of the message in code units, excluding the 38 | trailing zero, or the negative error code PCRE2_ERROR_NOMEMORY if the buffer is 39 | too small. In this case, the returned message is truncated (but still with a 40 | trailing zero). If errorcode does not contain a recognized error code 41 | number, the negative value PCRE2_ERROR_BADDATA is returned. 42 |

43 |

44 | There is a complete description of the PCRE2 native API in the 45 | pcre2api 46 | page and a description of the POSIX API in the 47 | pcre2posix 48 | page. 49 |

50 | Return to the PCRE2 index page. 51 |

52 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_mark.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_mark specification 4 | 5 | 6 |

pcre2_get_mark man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | PCRE2_SPTR pcre2_get_mark(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | After a call of pcre2_match() that was passed the match block that is 29 | this function's argument, this function returns a pointer to the last (*MARK), 30 | (*PRUNE), or (*THEN) name that was encountered during the matching process. The 31 | name is zero-terminated, and is within the compiled pattern. The length of the 32 | name is in the preceding code unit. If no name is available, NULL is returned. 33 |

34 |

35 | After a successful match, the name that is returned is the last one on the 36 | matching path. After a failed match or a partial match, the last encountered 37 | name is returned. 38 |

39 |

40 | There is a complete description of the PCRE2 native API in the 41 | pcre2api 42 | page and a description of the POSIX API in the 43 | pcre2posix 44 | page. 45 |

46 | Return to the PCRE2 index page. 47 |

48 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_match_data_size.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_match_data_size specification 4 | 5 | 6 |

pcre2_get_match_data_size man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | PCRE2_SIZE pcre2_get_match_data_size(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function returns the size, in bytes, of the match data block that is its 29 | argument. 30 |

31 |

32 | There is a complete description of the PCRE2 native API in the 33 | pcre2api 34 | page and a description of the POSIX API in the 35 | pcre2posix 36 | page. 37 |

38 | Return to the PCRE2 index page. 39 |

40 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_ovector_count.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_ovector_count specification 4 | 5 | 6 |

pcre2_get_ovector_count man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | uint32_t pcre2_get_ovector_count(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function returns the number of pairs of offsets in the ovector that forms 29 | part of the given match data block. 30 |

31 |

32 | There is a complete description of the PCRE2 native API in the 33 | pcre2api 34 | page and a description of the POSIX API in the 35 | pcre2posix 36 | page. 37 |

38 | Return to the PCRE2 index page. 39 |

40 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_ovector_pointer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_ovector_pointer specification 4 | 5 | 6 |

pcre2_get_ovector_pointer man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | PCRE2_SIZE *pcre2_get_ovector_pointer(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function returns a pointer to the vector of offsets that forms part of the 29 | given match data block. The number of pairs can be found by calling 30 | pcre2_get_ovector_count(). 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_get_startchar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_get_startchar specification 4 | 5 | 6 |

pcre2_get_startchar man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | PCRE2_SIZE pcre2_get_startchar(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | After a successful call of pcre2_match() that was passed the match block 29 | that is this function's argument, this function returns the code unit offset of 30 | the character at which the successful match started. For a non-partial match, 31 | this can be different to the value of ovector[0] if the pattern contains 32 | the \K escape sequence. After a partial match, however, this value is always 33 | the same as ovector[0] because \K does not affect the result of a 34 | partial match. 35 |

36 |

37 | There is a complete description of the PCRE2 native API in the 38 | pcre2api 39 | page and a description of the POSIX API in the 40 | pcre2posix 41 | page. 42 |

43 | Return to the PCRE2 index page. 44 |

45 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_jit_free_unused_memory.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_jit_free_unused_memory specification 4 | 5 | 6 |

pcre2_jit_free_unused_memory man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_jit_free_unused_memory(pcre2_general_context *gcontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function frees unused JIT executable memory. The argument is a general 29 | context, for custom memory management, or NULL for standard memory management. 30 | JIT memory allocation retains some memory in order to improve future JIT 31 | compilation speed. In low memory conditions, 32 | \fBpcre2_jit_free_unused_memory()\fB can be used to cause this memory to be 33 | freed. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_jit_match.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_jit_match specification 4 | 5 | 6 |

pcre2_jit_match man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_jit_match(const pcre2_code *code, PCRE2_SPTR subject, 23 | PCRE2_SIZE length, PCRE2_SIZE startoffset, 24 | uint32_t options, pcre2_match_data *match_data, 25 | pcre2_match_context *mcontext); 26 |

27 |
28 | DESCRIPTION 29 |
30 |

31 | This function matches a compiled regular expression that has been successfully 32 | processed by the JIT compiler against a given subject string, using a matching 33 | algorithm that is similar to Perl's. It is a "fast path" interface to JIT, and 34 | it bypasses some of the sanity checks that pcre2_match() applies. 35 | Its arguments are exactly the same as for 36 | pcre2_match(). 37 |

38 |

39 | The supported options are PCRE2_NOTBOL, PCRE2_NOTEOL, PCRE2_NOTEMPTY, 40 | PCRE2_NOTEMPTY_ATSTART, PCRE2_PARTIAL_HARD, and PCRE2_PARTIAL_SOFT. Unsupported 41 | options are ignored. The subject string is not checked for UTF validity. 42 |

43 |

44 | The return values are the same as for pcre2_match() plus 45 | PCRE2_ERROR_JIT_BADOPTION if a matching mode (partial or complete) is requested 46 | that was not compiled. For details of partial matching, see the 47 | pcre2partial 48 | page. 49 |

50 |

51 | There is a complete description of the PCRE2 native API in the 52 | pcre2api 53 | page and a description of the JIT API in the 54 | pcre2jit 55 | page. 56 |

57 | Return to the PCRE2 index page. 58 |

59 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_jit_stack_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_jit_stack_create specification 4 | 5 | 6 |

pcre2_jit_stack_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_jit_stack *pcre2_jit_stack_create(PCRE2_SIZE startsize, 23 | PCRE2_SIZE maxsize, pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is used to create a stack for use by the code compiled by the JIT 30 | compiler. The first two arguments are a starting size for the stack, and a 31 | maximum size to which it is allowed to grow. The final argument is a general 32 | context, for memory allocation functions, or NULL for standard memory 33 | allocation. The result can be passed to the JIT run-time code by calling 34 | pcre2_jit_stack_assign() to associate the stack with a compiled pattern, 35 | which can then be processed by pcre2_match() or pcre2_jit_match(). 36 | A maximum stack size of 512KiB to 1MiB should be more than enough for any 37 | pattern. For more details, see the 38 | pcre2jit 39 | page. 40 |

41 |

42 | There is a complete description of the PCRE2 native API in the 43 | pcre2api 44 | page and a description of the POSIX API in the 45 | pcre2posix 46 | page. 47 |

48 | Return to the PCRE2 index page. 49 |

50 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_jit_stack_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_jit_stack_free specification 4 | 5 | 6 |

pcre2_jit_stack_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_jit_stack_free(pcre2_jit_stack *jit_stack); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function is used to free a JIT stack that was created by 29 | pcre2_jit_stack_create() when it is no longer needed. If the argument is 30 | NULL, the function returns immediately without doing anything. For more 31 | details, see the 32 | pcre2jit 33 | page. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_maketables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_maketables specification 4 | 5 | 6 |

pcre2_maketables man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | const uint8_t *pcre2_maketables(pcre2_general_context *gcontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function builds a set of character tables for character code points that 29 | are less than 256. These can be passed to pcre2_compile() in a compile 30 | context in order to override the internal, built-in tables (which were either 31 | defaulted or made by pcre2_maketables() when PCRE2 was compiled). See the 32 | pcre2_set_character_tables() 33 | page. You might want to do this if you are using a non-standard locale. 34 |

35 |

36 | If the argument is NULL, malloc() is used to get memory for the tables. 37 | Otherwise it must point to a general context, which can supply pointers to a 38 | custom memory manager. The function yields a pointer to the tables. 39 |

40 |

41 | There is a complete description of the PCRE2 native API in the 42 | pcre2api 43 | page and a description of the POSIX API in the 44 | pcre2posix 45 | page. 46 |

47 | Return to the PCRE2 index page. 48 |

49 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_maketables_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_maketables_free specification 4 | 5 | 6 |

pcre2_maketables_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_maketables_free(pcre2_general_context *gcontext, 23 | const uint8_t *tables); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function discards a set of character tables that were created by a call 30 | to 31 | pcre2_maketables(). 32 |

33 |

34 | The gcontext parameter should match what was used in that call to 35 | account for any custom allocators that might be in use; if it is NULL 36 | the system free() is used. 37 |

38 |

39 | There is a complete description of the PCRE2 native API in the 40 | pcre2api 41 | page. 42 |

43 | Return to the PCRE2 index page. 44 |

45 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_context_copy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_context_copy specification 4 | 5 | 6 |

pcre2_match_context_copy man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_match_context *pcre2_match_context_copy( 23 | pcre2_match_context *mcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function makes a new copy of a match context, using the memory 30 | allocation function that was used for the original context. The result is NULL 31 | if the memory cannot be obtained. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_context_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_context_create specification 4 | 5 | 6 |

pcre2_match_context_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_match_context *pcre2_match_context_create( 23 | pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function creates and initializes a new match context. If its argument is 30 | NULL, malloc() is used to get the necessary memory; otherwise the memory 31 | allocation function within the general context is used. The result is NULL if 32 | the memory could not be obtained. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_context_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_context_free specification 4 | 5 | 6 |

pcre2_match_context_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_match_context_free(pcre2_match_context *mcontext); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function frees the memory occupied by a match context, using the memory 29 | freeing function from the general context with which it was created, or 30 | free() if that was not set. If the argument is NULL, the function returns 31 | immediately without doing anything. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_data_create.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_data_create specification 4 | 5 | 6 |

pcre2_match_data_create man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_match_data *pcre2_match_data_create(uint32_t ovecsize, 23 | pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function creates a new match data block, which is used for holding the 30 | result of a match. The first argument specifies the number of pairs of offsets 31 | that are required. These form the "output vector" (ovector) within the match 32 | data block, and are used to identify the matched string and any captured 33 | substrings. There is always one pair of offsets; if ovecsize is zero, it 34 | is treated as one. 35 |

36 |

37 | The second argument points to a general context, for custom memory management, 38 | or is NULL for system memory management. The result of the function is NULL if 39 | the memory for the block could not be obtained. 40 |

41 |

42 | There is a complete description of the PCRE2 native API in the 43 | pcre2api 44 | page and a description of the POSIX API in the 45 | pcre2posix 46 | page. 47 |

48 | Return to the PCRE2 index page. 49 |

50 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_data_create_from_pattern.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_data_create_from_pattern specification 4 | 5 | 6 |

pcre2_match_data_create_from_pattern man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | pcre2_match_data *pcre2_match_data_create_from_pattern( 23 | const pcre2_code *code, pcre2_general_context *gcontext); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function creates a new match data block, which is used for holding the 30 | result of a match. The first argument points to a compiled pattern. The number 31 | of capturing parentheses within the pattern is used to compute the number of 32 | pairs of offsets that are required in the match data block. These form the 33 | "output vector" (ovector) within the match data block, and are used to identify 34 | the matched string and any captured substrings. 35 |

36 |

37 | The second argument points to a general context, for custom memory management, 38 | or is NULL to use the same memory allocator as was used for the compiled 39 | pattern. The result of the function is NULL if the memory for the block could 40 | not be obtained. 41 |

42 |

43 | There is a complete description of the PCRE2 native API in the 44 | pcre2api 45 | page and a description of the POSIX API in the 46 | pcre2posix 47 | page. 48 |

49 | Return to the PCRE2 index page. 50 |

51 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_match_data_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_match_data_free specification 4 | 5 | 6 |

pcre2_match_data_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_match_data_free(pcre2_match_data *match_data); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | If match_data is NULL, this function does nothing. Otherwise, 29 | match_data must point to a match data block, which this function frees, 30 | using the memory freeing function from the general context or compiled pattern 31 | with which it was created, or free() if that was not set. 32 |

33 |

34 | If the PCRE2_COPY_MATCHED_SUBJECT was used for a successful match using this 35 | match data block, the copy of the subject that was remembered with the block is 36 | also freed. 37 |

38 |

39 | There is a complete description of the PCRE2 native API in the 40 | pcre2api 41 | page and a description of the POSIX API in the 42 | pcre2posix 43 | page. 44 |

45 | Return to the PCRE2 index page. 46 |

47 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_serialize_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_serialize_free specification 4 | 5 | 6 |

pcre2_serialize_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_serialize_free(uint8_t *bytes); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This function frees the memory that was obtained by 29 | pcre2_serialize_encode() to hold a serialized byte stream. The argument 30 | must point to such a byte stream or be NULL, in which case the function returns 31 | without doing anything. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the serialization functions in the 37 | pcre2serialize 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_serialize_get_number_of_codes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_serialize_get_number_of_codes specification 4 | 5 | 6 |

pcre2_serialize_get_number_of_codes man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int32_t pcre2_serialize_get_number_of_codes(const uint8_t *bytes); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | The bytes argument must point to a serialized byte stream that was 29 | originally created by pcre2_serialize_encode() (though it may have been 30 | saved on disc or elsewhere in the meantime). The function returns the number of 31 | serialized patterns in the byte stream, or one of the following negative error 32 | codes: 33 |

34 |   PCRE2_ERROR_BADMAGIC  mismatch of id bytes in bytes
35 |   PCRE2_ERROR_BADMODE   mismatch of variable unit size or PCRE version
36 |   PCRE2_ERROR_NULL      the argument is NULL
37 | 
38 | PCRE2_ERROR_BADMAGIC may mean that the data is corrupt, or that it was compiled 39 | on a system with different endianness. 40 |

41 |

42 | There is a complete description of the PCRE2 native API in the 43 | pcre2api 44 | page and a description of the serialization functions in the 45 | pcre2serialize 46 | page. 47 |

48 | Return to the PCRE2 index page. 49 |

50 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_bsr.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_bsr specification 4 | 5 | 6 |

pcre2_set_bsr man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_bsr(pcre2_compile_context *ccontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the convention for processing \R within a compile context. 30 | The second argument must be one of PCRE2_BSR_ANYCRLF or PCRE2_BSR_UNICODE. The 31 | result is zero for success or PCRE2_ERROR_BADDATA if the second argument is 32 | invalid. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_callout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_callout specification 4 | 5 | 6 |

pcre2_set_callout man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_callout(pcre2_match_context *mcontext, 23 | int (*callout_function)(pcre2_callout_block *), 24 | void *callout_data); 25 |

26 |
27 | DESCRIPTION 28 |
29 |

30 | This function sets the callout fields in a match context (the first argument). 31 | The second argument specifies a callout function, and the third argument is an 32 | opaque data item that is passed to it. The result of this function is always 33 | zero. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_character_tables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_character_tables specification 4 | 5 | 6 |

pcre2_set_character_tables man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_character_tables(pcre2_compile_context *ccontext, 23 | const uint8_t *tables); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets a pointer to custom character tables within a compile 30 | context. The second argument must be the result of a call to 31 | pcre2_maketables() or NULL to request the default tables. The result is 32 | always zero. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_compile_extra_options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_compile_extra_options specification 4 | 5 | 6 |

pcre2_set_compile_extra_options man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_compile_extra_options(pcre2_compile_context *ccontext, 23 | uint32_t extra_options); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets additional option bits for pcre2_compile() that are 30 | housed in a compile context. It completely replaces all the bits. The extra 31 | options are: 32 |

33 |   PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES  Allow \x{df800} to \x{dfff} in UTF-8 and UTF-32 modes
34 |   PCRE2_EXTRA_ALT_BSUX                 Extended alternate \u, \U, and \x handling
35 |   PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL    Treat all invalid escapes as a literal following character
36 |   PCRE2_EXTRA_ESCAPED_CR_IS_LF         Interpret \r as \n
37 |   PCRE2_EXTRA_MATCH_LINE               Pattern matches whole lines
38 |   PCRE2_EXTRA_MATCH_WORD               Pattern matches "words"
39 | 
40 | There is a complete description of the PCRE2 native API in the 41 | pcre2api 42 | page and a description of the POSIX API in the 43 | pcre2posix 44 | page. 45 |

46 | Return to the PCRE2 index page. 47 |

48 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_compile_recursion_guard.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_compile_recursion_guard specification 4 | 5 | 6 |

pcre2_set_compile_recursion_guard man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_compile_recursion_guard(pcre2_compile_context *ccontext, 23 | int (*guard_function)(uint32_t, void *), void *user_data); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function defines, within a compile context, a function that is called 30 | whenever pcre2_compile() starts to compile a parenthesized part of a 31 | pattern. The first argument to the function gives the current depth of 32 | parenthesis nesting, and the second is user data that is supplied when the 33 | function is set up. The callout function should return zero if all is well, or 34 | non-zero to force an error. This feature is provided so that applications can 35 | check the available system stack space, in order to avoid running out. The 36 | result of pcre2_set_compile_recursion_guard() is always zero. 37 |

38 |

39 | There is a complete description of the PCRE2 native API in the 40 | pcre2api 41 | page and a description of the POSIX API in the 42 | pcre2posix 43 | page. 44 |

45 | Return to the PCRE2 index page. 46 |

47 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_depth_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_depth_limit specification 4 | 5 | 6 |

pcre2_set_depth_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_depth_limit(pcre2_match_context *mcontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the backtracking depth limit field in a match context. The 30 | result is always zero. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_glob_escape.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_glob_escape specification 4 | 5 | 6 |

pcre2_set_glob_escape man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_glob_escape(pcre2_convert_context *cvcontext, 23 | uint32_t escape_char); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is part of an experimental set of pattern conversion functions. 30 | It sets the escape character that is used when converting globs. The second 31 | argument must either be zero (meaning there is no escape character) or a 32 | punctuation character whose code point is less than 256. The default is grave 33 | accent if running under Windows, otherwise backslash. The result of the 34 | function is zero for success or PCRE2_ERROR_BADDATA if the second argument is 35 | invalid. 36 |

37 |

38 | The pattern conversion functions are described in the 39 | pcre2convert 40 | documentation. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_glob_separator.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_glob_separator specification 4 | 5 | 6 |

pcre2_set_glob_separator man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_glob_separator(pcre2_convert_context *cvcontext, 23 | uint32_t separator_char); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is part of an experimental set of pattern conversion functions. 30 | It sets the component separator character that is used when converting globs. 31 | The second argument must be one of the characters forward slash, backslash, or 32 | dot. The default is backslash when running under Windows, otherwise forward 33 | slash. The result of the function is zero for success or PCRE2_ERROR_BADDATA if 34 | the second argument is invalid. 35 |

36 |

37 | The pattern conversion functions are described in the 38 | pcre2convert 39 | documentation. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_heap_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_heap_limit specification 4 | 5 | 6 |

pcre2_set_heap_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_heap_limit(pcre2_match_context *mcontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the backtracking heap limit field in a match context. The 30 | result is always zero. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_match_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_match_limit specification 4 | 5 | 6 |

pcre2_set_match_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_match_limit(pcre2_match_context *mcontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the match limit field in a match context. The result is 30 | always zero. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_max_pattern_length.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_max_pattern_length specification 4 | 5 | 6 |

pcre2_set_max_pattern_length man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_max_pattern_length(pcre2_compile_context *ccontext, 23 | PCRE2_SIZE value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets, in a compile context, the maximum text length (in code 30 | units) of the pattern that can be compiled. The result is always zero. If a 31 | longer pattern is passed to pcre2_compile() there is an immediate error 32 | return. The default is effectively unlimited, being the largest value a 33 | PCRE2_SIZE variable can hold. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_newline.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_newline specification 4 | 5 | 6 |

pcre2_set_newline man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_newline(pcre2_compile_context *ccontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the newline convention within a compile context. This 30 | specifies which character(s) are recognized as newlines when compiling and 31 | matching patterns. The second argument must be one of: 32 |

33 |   PCRE2_NEWLINE_CR        Carriage return only
34 |   PCRE2_NEWLINE_LF        Linefeed only
35 |   PCRE2_NEWLINE_CRLF      CR followed by LF only
36 |   PCRE2_NEWLINE_ANYCRLF   Any of the above
37 |   PCRE2_NEWLINE_ANY       Any Unicode newline sequence
38 |   PCRE2_NEWLINE_NUL       The NUL character (binary zero)
39 | 
40 | The result is zero for success or PCRE2_ERROR_BADDATA if the second argument is 41 | invalid. 42 |

43 |

44 | There is a complete description of the PCRE2 native API in the 45 | pcre2api 46 | page and a description of the POSIX API in the 47 | pcre2posix 48 | page. 49 |

50 | Return to the PCRE2 index page. 51 |

52 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_offset_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_offset_limit specification 4 | 5 | 6 |

pcre2_set_offset_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_offset_limit(pcre2_match_context *mcontext, 23 | PCRE2_SIZE value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets the offset limit field in a match context. The result is 30 | always zero. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_parens_nest_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_parens_nest_limit specification 4 | 5 | 6 |

pcre2_set_parens_nest_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_parens_nest_limit(pcre2_compile_context *ccontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function sets, in a compile context, the maximum depth of nested 30 | parentheses in a pattern. The result is always zero. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_recursion_limit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_recursion_limit specification 4 | 5 | 6 |

pcre2_set_recursion_limit man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_recursion_limit(pcre2_match_context *mcontext, 23 | uint32_t value); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function is obsolete and should not be used in new code. Use 30 | pcre2_set_depth_limit() instead. 31 |

32 |

33 | There is a complete description of the PCRE2 native API in the 34 | pcre2api 35 | page and a description of the POSIX API in the 36 | pcre2posix 37 | page. 38 |

39 | Return to the PCRE2 index page. 40 |

41 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_recursion_memory_management.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_recursion_memory_management specification 4 | 5 | 6 |

pcre2_set_recursion_memory_management man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_recursion_memory_management( 23 | pcre2_match_context *mcontext, 24 | void *(*private_malloc)(PCRE2_SIZE, void *), 25 | void (*private_free)(void *, void *), void *memory_data); 26 |

27 |
28 | DESCRIPTION 29 |
30 |

31 | From release 10.30 onwards, this function is obsolete and does nothing. The 32 | result is always zero. 33 |

34 |

35 | There is a complete description of the PCRE2 native API in the 36 | pcre2api 37 | page and a description of the POSIX API in the 38 | pcre2posix 39 | page. 40 |

41 | Return to the PCRE2 index page. 42 |

43 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_set_substitute_callout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_set_substitute_callout specification 4 | 5 | 6 |

pcre2_set_substitute_callout man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_set_substitute_callout(pcre2_match_context *mcontext, 23 | int (*callout_function)(pcre2_substitute_callout_block *), 24 | void *callout_data); 25 |

26 |
27 | DESCRIPTION 28 |
29 |

30 | This function sets the substitute callout fields in a match context (the first 31 | argument). The second argument specifies a callout function, and the third 32 | argument is an opaque data item that is passed to it. The result of this 33 | function is always zero. 34 |

35 |

36 | There is a complete description of the PCRE2 native API in the 37 | pcre2api 38 | page and a description of the POSIX API in the 39 | pcre2posix 40 | page. 41 |

42 | Return to the PCRE2 index page. 43 |

44 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_copy_byname.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_copy_byname specification 4 | 5 | 6 |

pcre2_substring_copy_byname man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_copy_byname(pcre2_match_data *match_data, 23 | PCRE2_SPTR name, PCRE2_UCHAR *buffer, PCRE2_SIZE *bufflen); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This is a convenience function for extracting a captured substring, identified 30 | by name, into a given buffer. The arguments are: 31 |

32 |   match_data    The match data block for the match
33 |   name          Name of the required substring
34 |   buffer        Buffer to receive the string
35 |   bufflen       Length of buffer (code units)
36 | 
37 | The bufflen variable is updated to contain the length of the extracted 38 | string, excluding the trailing zero. The yield of the function is zero for 39 | success or one of the following error numbers: 40 |
41 |   PCRE2_ERROR_NOSUBSTRING   there are no groups of that name
42 |   PCRE2_ERROR_UNAVAILBLE    the ovector was too small for that group
43 |   PCRE2_ERROR_UNSET         the group did not participate in the match
44 |   PCRE2_ERROR_NOMEMORY      the buffer is not big enough
45 | 
46 | If there is more than one group with the given name, the first one that is set 47 | is returned. In this situation PCRE2_ERROR_UNSET means that no group with the 48 | given name was set. 49 |

50 |

51 | There is a complete description of the PCRE2 native API in the 52 | pcre2api 53 | page and a description of the POSIX API in the 54 | pcre2posix 55 | page. 56 |

57 | Return to the PCRE2 index page. 58 |

59 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_copy_bynumber.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_copy_bynumber specification 4 | 5 | 6 |

pcre2_substring_copy_bynumber man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_copy_bynumber(pcre2_match_data *match_data, 23 | uint32_t number, PCRE2_UCHAR *buffer, 24 | PCRE2_SIZE *bufflen); 25 |

26 |
27 | DESCRIPTION 28 |
29 |

30 | This is a convenience function for extracting a captured substring into a given 31 | buffer. The arguments are: 32 |

33 |   match_data    The match data block for the match
34 |   number        Number of the required substring
35 |   buffer        Buffer to receive the string
36 |   bufflen       Length of buffer
37 | 
38 | The bufflen variable is updated with the length of the extracted string, 39 | excluding the terminating zero. The yield of the function is zero for success 40 | or one of the following error numbers: 41 |
42 |   PCRE2_ERROR_NOSUBSTRING   there are no groups of that number
43 |   PCRE2_ERROR_UNAVAILBLE    the ovector was too small for that group
44 |   PCRE2_ERROR_UNSET         the group did not participate in the match
45 |   PCRE2_ERROR_NOMEMORY      the buffer is too small
46 | 
47 | 
48 |

49 |

50 | There is a complete description of the PCRE2 native API in the 51 | pcre2api 52 | page and a description of the POSIX API in the 53 | pcre2posix 54 | page. 55 |

56 | Return to the PCRE2 index page. 57 |

58 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_free specification 4 | 5 | 6 |

pcre2_substring_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_substring_free(PCRE2_UCHAR *buffer); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This is a convenience function for freeing the memory obtained by a previous 29 | call to pcre2_substring_get_byname() or 30 | pcre2_substring_get_bynumber(). Its only argument is a pointer to the 31 | string. If the argument is NULL, the function does nothing. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_get_bynumber.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_get_bynumber specification 4 | 5 | 6 |

pcre2_substring_get_bynumber man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_get_bynumber(pcre2_match_data *match_data, 23 | uint32_t number, PCRE2_UCHAR **bufferptr, PCRE2_SIZE *bufflen); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This is a convenience function for extracting a captured substring by number 30 | into newly acquired memory. The arguments are: 31 |

32 |   match_data    The match data for the match
33 |   number        Number of the required substring
34 |   bufferptr     Where to put the string pointer
35 |   bufflen       Where to put the string length
36 | 
37 | The memory in which the substring is placed is obtained by calling the same 38 | memory allocation function that was used for the match data block. The 39 | convenience function pcre2_substring_free() can be used to free it when 40 | it is no longer needed. The yield of the function is zero for success or one of 41 | the following error numbers: 42 |
43 |   PCRE2_ERROR_NOSUBSTRING   there are no groups of that number
44 |   PCRE2_ERROR_UNAVAILBLE    the ovector was too small for that group
45 |   PCRE2_ERROR_UNSET         the group did not participate in the match
46 |   PCRE2_ERROR_NOMEMORY      memory could not be obtained
47 | 
48 | 
49 |

50 |

51 | There is a complete description of the PCRE2 native API in the 52 | pcre2api 53 | page and a description of the POSIX API in the 54 | pcre2posix 55 | page. 56 |

57 | Return to the PCRE2 index page. 58 |

59 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_length_byname.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_length_byname specification 4 | 5 | 6 |

pcre2_substring_length_byname man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_length_byname(pcre2_match_data *match_data, 23 | PCRE2_SPTR name, PCRE2_SIZE *length); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function returns the length of a matched substring, identified by name. 30 | The arguments are: 31 |

32 |   match_data   The match data block for the match
33 |   name         The substring name
34 |   length       Where to return the length
35 | 
36 | The yield is zero on success, or an error code if the substring is not found. 37 |

38 |

39 | There is a complete description of the PCRE2 native API in the 40 | pcre2api 41 | page and a description of the POSIX API in the 42 | pcre2posix 43 | page. 44 |

45 | Return to the PCRE2 index page. 46 |

47 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_length_bynumber.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_length_bynumber specification 4 | 5 | 6 |

pcre2_substring_length_bynumber man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_length_bynumber(pcre2_match_data *match_data, 23 | uint32_t number, PCRE2_SIZE *length); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This function returns the length of a matched substring, identified by number. 30 | The arguments are: 31 |

32 |   match_data   The match data block for the match
33 |   number       The substring number
34 |   length       Where to return the length, or NULL
35 | 
36 | The third argument may be NULL if all you want to know is whether or not a 37 | substring is set. The yield is zero on success, or a negative error code 38 | otherwise. After a partial match, only substring 0 is available. 39 |

40 |

41 | There is a complete description of the PCRE2 native API in the 42 | pcre2api 43 | page and a description of the POSIX API in the 44 | pcre2posix 45 | page. 46 |

47 | Return to the PCRE2 index page. 48 |

49 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_list_free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_list_free specification 4 | 5 | 6 |

pcre2_substring_list_free man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | void pcre2_substring_list_free(PCRE2_SPTR *list); 23 |

24 |
25 | DESCRIPTION 26 |
27 |

28 | This is a convenience function for freeing the store obtained by a previous 29 | call to pcre2substring_list_get(). Its only argument is a pointer to 30 | the list of string pointers. If the argument is NULL, the function returns 31 | immediately, without doing anything. 32 |

33 |

34 | There is a complete description of the PCRE2 native API in the 35 | pcre2api 36 | page and a description of the POSIX API in the 37 | pcre2posix 38 | page. 39 |

40 | Return to the PCRE2 index page. 41 |

42 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_nametable_scan.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_nametable_scan specification 4 | 5 | 6 |

pcre2_substring_nametable_scan man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_nametable_scan(const pcre2_code *code, 23 | PCRE2_SPTR name, PCRE2_SPTR *first, PCRE2_SPTR *last); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This convenience function finds, for a compiled pattern, the first and last 30 | entries for a given name in the table that translates capture group names into 31 | numbers. 32 |

33 |   code    Compiled regular expression
34 |   name    Name whose entries required
35 |   first   Where to return a pointer to the first entry
36 |   last    Where to return a pointer to the last entry
37 | 
38 | When the name is found in the table, if first is NULL, the function 39 | returns a group number, but if there is more than one matching entry, it is not 40 | defined which one. Otherwise, when both pointers have been set, the yield of 41 | the function is the length of each entry in code units. If the name is not 42 | found, PCRE2_ERROR_NOSUBSTRING is returned. 43 |

44 |

45 | There is a complete description of the PCRE2 native API, including the format of 46 | the table entries, in the 47 | pcre2api 48 | page, and a description of the POSIX API in the 49 | pcre2posix 50 | page. 51 |

52 | Return to the PCRE2 index page. 53 |

54 | -------------------------------------------------------------------------------- /pcre2/doc/html/pcre2_substring_number_from_name.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | pcre2_substring_number_from_name specification 4 | 5 | 6 |

pcre2_substring_number_from_name man page

7 |

8 | Return to the PCRE2 index page. 9 |

10 |

11 | This page is part of the PCRE2 HTML documentation. It was generated 12 | automatically from the original man page. If there is any nonsense in it, 13 | please consult the man page, in case the conversion went wrong. 14 |
15 |
16 | SYNOPSIS 17 |
18 |

19 | #include <pcre2.h> 20 |

21 |

22 | int pcre2_substring_number_from_name(const pcre2_code *code, 23 | PCRE2_SPTR name); 24 |

25 |
26 | DESCRIPTION 27 |
28 |

29 | This convenience function finds the number of a named substring capturing 30 | parenthesis in a compiled pattern, provided that it is a unique name. The 31 | function arguments are: 32 |

33 |   code    Compiled regular expression
34 |   name    Name whose number is required
35 | 
36 | The yield of the function is the number of the parenthesis if the name is 37 | found, or PCRE2_ERROR_NOSUBSTRING if it is not found. When duplicate names are 38 | allowed (PCRE2_DUPNAMES is set), if the name is not unique, 39 | PCRE2_ERROR_NOUNIQUESUBSTRING is returned. You can obtain the list of numbers 40 | with the same name by calling pcre2_substring_nametable_scan(). 41 |

42 |

43 | There is a complete description of the PCRE2 native API in the 44 | pcre2api 45 | page and a description of the POSIX API in the 46 | pcre2posix 47 | page. 48 |

49 | Return to the PCRE2 index page. 50 |

51 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_callout_enumerate.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_COMPILE 3 "23 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_callout_enumerate(const pcre2_code *\fIcode\fP, 11 | .B " int (*\fIcallback\fP)(pcre2_callout_enumerate_block *, void *)," 12 | .B " void *\fIcallout_data\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This function scans a compiled regular expression and calls the \fIcallback()\fP 19 | function for each callout within the pattern. The yield of the function is zero 20 | for success and non-zero otherwise. The arguments are: 21 | .sp 22 | \fIcode\fP Points to the compiled pattern 23 | \fIcallback\fP The callback function 24 | \fIcallout_data\fP User data that is passed to the callback 25 | .sp 26 | The \fIcallback()\fP function is passed a pointer to a data block containing 27 | the following fields (not necessarily in this order): 28 | .sp 29 | uint32_t \fIversion\fP Block version number 30 | uint32_t \fIcallout_number\fP Number for numbered callouts 31 | PCRE2_SIZE \fIpattern_position\fP Offset to next item in pattern 32 | PCRE2_SIZE \fInext_item_length\fP Length of next item in pattern 33 | PCRE2_SIZE \fIcallout_string_offset\fP Offset to string within pattern 34 | PCRE2_SIZE \fIcallout_string_length\fP Length of callout string 35 | PCRE2_SPTR \fIcallout_string\fP Points to callout string or is NULL 36 | .sp 37 | The second argument passed to the \fBcallback()\fP function is the callout data 38 | that was passed to \fBpcre2_callout_enumerate()\fP. The \fBcallback()\fP 39 | function must return zero for success. Any other value causes the pattern scan 40 | to stop, with the value being passed back as the result of 41 | \fBpcre2_callout_enumerate()\fP. 42 | .P 43 | There is a complete description of the PCRE2 native API in the 44 | .\" HREF 45 | \fBpcre2api\fP 46 | .\" 47 | page and a description of the POSIX API in the 48 | .\" HREF 49 | \fBpcre2posix\fP 50 | .\" 51 | page. 52 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_code_copy.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CODE_COPY 3 "22 November 2016" "PCRE2 10.23" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_code *pcre2_code_copy(const pcre2_code *\fIcode\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function makes a copy of the memory used for a compiled pattern, excluding 17 | any memory used by the JIT compiler. Without a subsequent call to 18 | \fBpcre2_jit_compile()\fP, the copy can be used only for non-JIT matching. The 19 | pointer to the character tables is copied, not the tables themselves (see 20 | \fBpcre2_code_copy_with_tables()\fP). The yield of the function is NULL if 21 | \fIcode\fP is NULL or if sufficient memory cannot be obtained. 22 | .P 23 | There is a complete description of the PCRE2 native API in the 24 | .\" HREF 25 | \fBpcre2api\fP 26 | .\" 27 | page and a description of the POSIX API in the 28 | .\" HREF 29 | \fBpcre2posix\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_code_copy_with_tables.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CODE_COPY 3 "22 November 2016" "PCRE2 10.23" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_code *pcre2_code_copy_with_tables(const pcre2_code *\fIcode\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function makes a copy of the memory used for a compiled pattern, excluding 17 | any memory used by the JIT compiler. Without a subsequent call to 18 | \fBpcre2_jit_compile()\fP, the copy can be used only for non-JIT matching. 19 | Unlike \fBpcre2_code_copy()\fP, a separate copy of the character tables is also 20 | made, with the new code pointing to it. This memory will be automatically freed 21 | when \fBpcre2_code_free()\fP is called. The yield of the function is NULL if 22 | \fIcode\fP is NULL or if sufficient memory cannot be obtained. 23 | .P 24 | There is a complete description of the PCRE2 native API in the 25 | .\" HREF 26 | \fBpcre2api\fP 27 | .\" 28 | page and a description of the POSIX API in the 29 | .\" HREF 30 | \fBpcre2posix\fP 31 | .\" 32 | page. 33 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_code_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CODE_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_code_free(pcre2_code *\fIcode\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | If \fIcode\fP is NULL, this function does nothing. Otherwise, \fIcode\fP must 17 | point to a compiled pattern. This function frees its memory, including any 18 | memory used by the JIT compiler. If the compiled pattern was created by a call 19 | to \fBpcre2_code_copy_with_tables()\fP, the memory for the character tables is 20 | also freed. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_compile_context_copy.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_COMPILE_CONTEXT_COPY 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_compile_context *pcre2_compile_context_copy( 11 | .B " pcre2_compile_context *\fIccontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function makes a new copy of a compile context, using the memory 18 | allocation function that was used for the original context. The result is NULL 19 | if the memory cannot be obtained. 20 | .P 21 | There is a complete description of the PCRE2 native API in the 22 | .\" HREF 23 | \fBpcre2api\fP 24 | .\" 25 | page and a description of the POSIX API in the 26 | .\" HREF 27 | \fBpcre2posix\fP 28 | .\" 29 | page. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_compile_context_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_COMPILE_CONTEXT_CREATE 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_compile_context *pcre2_compile_context_create( 11 | .B " pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function creates and initializes a new compile context. If its argument is 18 | NULL, \fBmalloc()\fP is used to get the necessary memory; otherwise the memory 19 | allocation function within the general context is used. The result is NULL if 20 | the memory could not be obtained. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_compile_context_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_COMPILE_CONTEXT_FREE 3 "29 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_compile_context_free(pcre2_compile_context *\fIccontext\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function frees the memory occupied by a compile context, using the memory 17 | freeing function from the general context with which it was created, or 18 | \fBfree()\fP if that was not set. If the argument is NULL, the function returns 19 | immediately without doing anything. 20 | .P 21 | There is a complete description of the PCRE2 native API in the 22 | .\" HREF 23 | \fBpcre2api\fP 24 | .\" 25 | page and a description of the POSIX API in the 26 | .\" HREF 27 | \fBpcre2posix\fP 28 | .\" 29 | page. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_convert_context_copy.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CONVERT_CONTEXT_COPY 3 "10 July 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_convert_context *pcre2_convert_context_copy( 11 | .B " pcre2_convert_context *\fIcvcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is part of an experimental set of pattern conversion functions. 18 | It makes a new copy of a convert context, using the memory allocation function 19 | that was used for the original context. The result is NULL if the memory cannot 20 | be obtained. 21 | .P 22 | The pattern conversion functions are described in the 23 | .\" HREF 24 | \fBpcre2convert\fP 25 | .\" 26 | documentation. 27 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_convert_context_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CONVERT_CONTEXT_CREATE 3 "10 July 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_convert_context *pcre2_convert_context_create( 11 | .B " pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is part of an experimental set of pattern conversion functions. 18 | It creates and initializes a new convert context. If its argument is 19 | NULL, \fBmalloc()\fP is used to get the necessary memory; otherwise the memory 20 | allocation function within the general context is used. The result is NULL if 21 | the memory could not be obtained. 22 | .P 23 | The pattern conversion functions are described in the 24 | .\" HREF 25 | \fBpcre2convert\fP 26 | .\" 27 | documentation. 28 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_convert_context_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CONVERT_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_convert_context_free(pcre2_convert_context *\fIcvcontext\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function is part of an experimental set of pattern conversion functions. 17 | It frees the memory occupied by a convert context, using the memory 18 | freeing function from the general context with which it was created, or 19 | \fBfree()\fP if that was not set. If the argument is NULL, the function returns 20 | immediately without doing anything. 21 | .P 22 | The pattern conversion functions are described in the 23 | .\" HREF 24 | \fBpcre2convert\fP 25 | .\" 26 | documentation. 27 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_converted_pattern_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_CONVERTED_PATTERN_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_converted_pattern_free(PCRE2_UCHAR *\fIconverted_pattern\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function is part of an experimental set of pattern conversion functions. 17 | It frees the memory occupied by a converted pattern that was obtained by 18 | calling \fBpcre2_pattern_convert()\fP with arguments that caused it to place 19 | the converted pattern into newly obtained heap memory. If the argument is NULL, 20 | the function returns immediately without doing anything. 21 | .P 22 | The pattern conversion functions are described in the 23 | .\" HREF 24 | \fBpcre2convert\fP 25 | .\" 26 | documentation. 27 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_general_context_copy.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GENERAL_CONTEXT_COPY 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_general_context *pcre2_general_context_copy( 11 | .B " pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function makes a new copy of a general context, using the memory 18 | allocation functions in the context, if set, to get the necessary memory. 19 | Otherwise \fBmalloc()\fP is used. The result is NULL if the memory cannot be 20 | obtained. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_general_context_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GENERAL_CONTEXT_CREATE 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_general_context *pcre2_general_context_create( 11 | .B " void *(*\fIprivate_malloc\fP)(PCRE2_SIZE, void *)," 12 | .B " void (*\fIprivate_free\fP)(void *, void *), void *\fImemory_data\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This function creates and initializes a general context. The arguments define 19 | custom memory management functions and a data value that is passed to them when 20 | they are called. The \fBprivate_malloc()\fP function is used to get memory for 21 | the context. If either of the first two arguments is NULL, the system memory 22 | management function is used. The result is NULL if no memory could be obtained. 23 | .P 24 | There is a complete description of the PCRE2 native API in the 25 | .\" HREF 26 | \fBpcre2api\fP 27 | .\" 28 | page and a description of the POSIX API in the 29 | .\" HREF 30 | \fBpcre2posix\fP 31 | .\" 32 | page. 33 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_general_context_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GENERAL_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_general_context_free(pcre2_general_context *\fIgcontext\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function frees the memory occupied by a general context, using the memory 17 | freeing function within the context, if set. If the argument is NULL, the 18 | function returns immediately without doing anything. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_error_message.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_ERROR_MESSAGE 3 "24 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_get_error_message(int \fIerrorcode\fP, PCRE2_UCHAR *\fIbuffer\fP, 11 | .B " PCRE2_SIZE \fIbufflen\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function provides a textual error message for each PCRE2 error code. 18 | Compilation errors are positive numbers; UTF formatting errors and matching 19 | errors are negative numbers. The arguments are: 20 | .sp 21 | \fIerrorcode\fP an error code (positive or negative) 22 | \fIbuffer\fP where to put the message 23 | \fIbufflen\fP the length of the buffer (code units) 24 | .sp 25 | The function returns the length of the message in code units, excluding the 26 | trailing zero, or the negative error code PCRE2_ERROR_NOMEMORY if the buffer is 27 | too small. In this case, the returned message is truncated (but still with a 28 | trailing zero). If \fIerrorcode\fP does not contain a recognized error code 29 | number, the negative value PCRE2_ERROR_BADDATA is returned. 30 | .P 31 | There is a complete description of the PCRE2 native API in the 32 | .\" HREF 33 | \fBpcre2api\fP 34 | .\" 35 | page and a description of the POSIX API in the 36 | .\" HREF 37 | \fBpcre2posix\fP 38 | .\" 39 | page. 40 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_mark.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_MARK 3 "13 October 2017" "PCRE2 10.31" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B PCRE2_SPTR pcre2_get_mark(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | After a call of \fBpcre2_match()\fP that was passed the match block that is 17 | this function's argument, this function returns a pointer to the last (*MARK), 18 | (*PRUNE), or (*THEN) name that was encountered during the matching process. The 19 | name is zero-terminated, and is within the compiled pattern. The length of the 20 | name is in the preceding code unit. If no name is available, NULL is returned. 21 | .P 22 | After a successful match, the name that is returned is the last one on the 23 | matching path. After a failed match or a partial match, the last encountered 24 | name is returned. 25 | .P 26 | There is a complete description of the PCRE2 native API in the 27 | .\" HREF 28 | \fBpcre2api\fP 29 | .\" 30 | page and a description of the POSIX API in the 31 | .\" HREF 32 | \fBpcre2posix\fP 33 | .\" 34 | page. 35 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_match_data_size.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_MATCH_DATA_SIZE 3 "16 July 2019" "PCRE2 10.34" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B PCRE2_SIZE pcre2_get_match_data_size(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function returns the size, in bytes, of the match data block that is its 17 | argument. 18 | .P 19 | There is a complete description of the PCRE2 native API in the 20 | .\" HREF 21 | \fBpcre2api\fP 22 | .\" 23 | page and a description of the POSIX API in the 24 | .\" HREF 25 | \fBpcre2posix\fP 26 | .\" 27 | page. 28 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_ovector_count.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_OVECTOR_COUNT 3 "24 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B uint32_t pcre2_get_ovector_count(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function returns the number of pairs of offsets in the ovector that forms 17 | part of the given match data block. 18 | .P 19 | There is a complete description of the PCRE2 native API in the 20 | .\" HREF 21 | \fBpcre2api\fP 22 | .\" 23 | page and a description of the POSIX API in the 24 | .\" HREF 25 | \fBpcre2posix\fP 26 | .\" 27 | page. 28 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_ovector_pointer.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_OVECTOR_POINTER 3 "24 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B PCRE2_SIZE *pcre2_get_ovector_pointer(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function returns a pointer to the vector of offsets that forms part of the 17 | given match data block. The number of pairs can be found by calling 18 | \fBpcre2_get_ovector_count()\fP. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_get_startchar.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_GET_STARTCHAR 3 "24 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B PCRE2_SIZE pcre2_get_startchar(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | After a successful call of \fBpcre2_match()\fP that was passed the match block 17 | that is this function's argument, this function returns the code unit offset of 18 | the character at which the successful match started. For a non-partial match, 19 | this can be different to the value of \fIovector[0]\fP if the pattern contains 20 | the \eK escape sequence. After a partial match, however, this value is always 21 | the same as \fIovector[0]\fP because \eK does not affect the result of a 22 | partial match. 23 | .P 24 | There is a complete description of the PCRE2 native API in the 25 | .\" HREF 26 | \fBpcre2api\fP 27 | .\" 28 | page and a description of the POSIX API in the 29 | .\" HREF 30 | \fBpcre2posix\fP 31 | .\" 32 | page. 33 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_compile.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_COMPILE 3 "29 July 2019" "PCRE2 10.34" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_jit_compile(pcre2_code *\fIcode\fP, uint32_t \fIoptions\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function requests JIT compilation, which, if the just-in-time compiler is 17 | available, further processes a compiled pattern into machine code that executes 18 | much faster than the \fBpcre2_match()\fP interpretive matching function. Full 19 | details are given in the 20 | .\" HREF 21 | \fBpcre2jit\fP 22 | .\" 23 | documentation. 24 | .P 25 | The first argument is a pointer that was returned by a successful call to 26 | \fBpcre2_compile()\fP, and the second must contain one or more of the following 27 | bits: 28 | .sp 29 | PCRE2_JIT_COMPLETE compile code for full matching 30 | PCRE2_JIT_PARTIAL_SOFT compile code for soft partial matching 31 | PCRE2_JIT_PARTIAL_HARD compile code for hard partial matching 32 | .sp 33 | There is also an obsolete option called PCRE2_JIT_INVALID_UTF, which has been 34 | superseded by the \fBpcre2_compile()\fP option PCRE2_MATCH_INVALID_UTF. The old 35 | option is deprecated and may be removed in the future. 36 | .P 37 | The yield of the function is 0 for success, or a negative error code otherwise. 38 | In particular, PCRE2_ERROR_JIT_BADOPTION is returned if JIT is not supported or 39 | if an unknown bit is set in \fIoptions\fP. The function can also return 40 | PCRE2_ERROR_NOMEMORY if JIT is unable to allocate executable memory for the 41 | compiler, even if it was because of a system security restriction. 42 | .P 43 | There is a complete description of the PCRE2 native API in the 44 | .\" HREF 45 | \fBpcre2api\fP 46 | .\" 47 | page and a description of the POSIX API in the 48 | .\" HREF 49 | \fBpcre2posix\fP 50 | .\" 51 | page. 52 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_free_unused_memory.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_FREE_UNUSED_MEMORY 3 "27 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_jit_free_unused_memory(pcre2_general_context *\fIgcontext\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function frees unused JIT executable memory. The argument is a general 17 | context, for custom memory management, or NULL for standard memory management. 18 | JIT memory allocation retains some memory in order to improve future JIT 19 | compilation speed. In low memory conditions, 20 | \fBpcre2_jit_free_unused_memory()\fB can be used to cause this memory to be 21 | freed. 22 | .P 23 | There is a complete description of the PCRE2 native API in the 24 | .\" HREF 25 | \fBpcre2api\fP 26 | .\" 27 | page and a description of the POSIX API in the 28 | .\" HREF 29 | \fBpcre2posix\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_match.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_MATCH 3 "03 November 2014" "PCRE2 10.0" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_jit_match(const pcre2_code *\fIcode\fP, PCRE2_SPTR \fIsubject\fP, 11 | .B " PCRE2_SIZE \fIlength\fP, PCRE2_SIZE \fIstartoffset\fP," 12 | .B " uint32_t \fIoptions\fP, pcre2_match_data *\fImatch_data\fP," 13 | .B " pcre2_match_context *\fImcontext\fP);" 14 | .fi 15 | . 16 | .SH DESCRIPTION 17 | .rs 18 | .sp 19 | This function matches a compiled regular expression that has been successfully 20 | processed by the JIT compiler against a given subject string, using a matching 21 | algorithm that is similar to Perl's. It is a "fast path" interface to JIT, and 22 | it bypasses some of the sanity checks that \fBpcre2_match()\fP applies. 23 | Its arguments are exactly the same as for 24 | .\" HREF 25 | \fBpcre2_match()\fP. 26 | .\" 27 | .P 28 | The supported options are PCRE2_NOTBOL, PCRE2_NOTEOL, PCRE2_NOTEMPTY, 29 | PCRE2_NOTEMPTY_ATSTART, PCRE2_PARTIAL_HARD, and PCRE2_PARTIAL_SOFT. Unsupported 30 | options are ignored. The subject string is not checked for UTF validity. 31 | .P 32 | The return values are the same as for \fBpcre2_match()\fP plus 33 | PCRE2_ERROR_JIT_BADOPTION if a matching mode (partial or complete) is requested 34 | that was not compiled. For details of partial matching, see the 35 | .\" HREF 36 | \fBpcre2partial\fP 37 | .\" 38 | page. 39 | .P 40 | There is a complete description of the PCRE2 native API in the 41 | .\" HREF 42 | \fBpcre2api\fP 43 | .\" 44 | page and a description of the JIT API in the 45 | .\" HREF 46 | \fBpcre2jit\fP 47 | .\" 48 | page. 49 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_stack_assign.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_STACK_ASSIGN 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_jit_stack_assign(pcre2_match_context *\fImcontext\fP, 11 | .B " pcre2_jit_callback \fIcallback_function\fP, void *\fIcallback_data\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function provides control over the memory used by JIT as a run-time stack 18 | when \fBpcre2_match()\fP or \fBpcre2_jit_match()\fP is called with a pattern 19 | that has been successfully processed by the JIT compiler. The information that 20 | determines which stack is used is put into a match context that is subsequently 21 | passed to a matching function. The arguments of this function are: 22 | .sp 23 | mcontext a pointer to a match context 24 | callback a callback function 25 | callback_data a JIT stack or a value to be passed to the callback 26 | .P 27 | If \fImcontext\fP is NULL, the function returns immediately, without doing 28 | anything. 29 | .P 30 | If \fIcallback\fP is NULL and \fIcallback_data\fP is NULL, an internal 32KiB 31 | block on the machine stack is used. 32 | .P 33 | If \fIcallback\fP is NULL and \fIcallback_data\fP is not NULL, 34 | \fIcallback_data\fP must be a valid JIT stack, the result of calling 35 | \fBpcre2_jit_stack_create()\fP. 36 | .P 37 | If \fIcallback\fP not NULL, it is called with \fIcallback_data\fP as an 38 | argument at the start of matching, in order to set up a JIT stack. If the 39 | result is NULL, the internal 32KiB stack is used; otherwise the return value 40 | must be a valid JIT stack, the result of calling 41 | \fBpcre2_jit_stack_create()\fP. 42 | .P 43 | You may safely use the same JIT stack for multiple patterns, as long as they 44 | are all matched in the same thread. In a multithread application, each thread 45 | must use its own JIT stack. For more details, see the 46 | .\" HREF 47 | \fBpcre2jit\fP 48 | .\" 49 | page. 50 | .P 51 | There is a complete description of the PCRE2 native API in the 52 | .\" HREF 53 | \fBpcre2api\fP 54 | .\" 55 | page and a description of the POSIX API in the 56 | .\" HREF 57 | \fBpcre2posix\fP 58 | .\" 59 | page. 60 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_stack_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_STACK_CREATE 3 "24 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_jit_stack *pcre2_jit_stack_create(PCRE2_SIZE \fIstartsize\fP, 11 | .B " PCRE2_SIZE \fImaxsize\fP, pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is used to create a stack for use by the code compiled by the JIT 18 | compiler. The first two arguments are a starting size for the stack, and a 19 | maximum size to which it is allowed to grow. The final argument is a general 20 | context, for memory allocation functions, or NULL for standard memory 21 | allocation. The result can be passed to the JIT run-time code by calling 22 | \fBpcre2_jit_stack_assign()\fP to associate the stack with a compiled pattern, 23 | which can then be processed by \fBpcre2_match()\fP or \fBpcre2_jit_match()\fP. 24 | A maximum stack size of 512KiB to 1MiB should be more than enough for any 25 | pattern. For more details, see the 26 | .\" HREF 27 | \fBpcre2jit\fP 28 | .\" 29 | page. 30 | .P 31 | There is a complete description of the PCRE2 native API in the 32 | .\" HREF 33 | \fBpcre2api\fP 34 | .\" 35 | page and a description of the POSIX API in the 36 | .\" HREF 37 | \fBpcre2posix\fP 38 | .\" 39 | page. 40 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_jit_stack_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_JIT_STACK_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .SM 10 | .B void pcre2_jit_stack_free(pcre2_jit_stack *\fIjit_stack\fP); 11 | . 12 | .SH DESCRIPTION 13 | .rs 14 | .sp 15 | This function is used to free a JIT stack that was created by 16 | \fBpcre2_jit_stack_create()\fP when it is no longer needed. If the argument is 17 | NULL, the function returns immediately without doing anything. For more 18 | details, see the 19 | .\" HREF 20 | \fBpcre2jit\fP 21 | .\" 22 | page. 23 | .P 24 | There is a complete description of the PCRE2 native API in the 25 | .\" HREF 26 | \fBpcre2api\fP 27 | .\" 28 | page and a description of the POSIX API in the 29 | .\" HREF 30 | \fBpcre2posix\fP 31 | .\" 32 | page. 33 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_maketables.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MAKETABLES 3 "17 April 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .SM 10 | .B const uint8_t *pcre2_maketables(pcre2_general_context *\fIgcontext\fP); 11 | . 12 | .SH DESCRIPTION 13 | .rs 14 | .sp 15 | This function builds a set of character tables for character code points that 16 | are less than 256. These can be passed to \fBpcre2_compile()\fP in a compile 17 | context in order to override the internal, built-in tables (which were either 18 | defaulted or made by \fBpcre2_maketables()\fP when PCRE2 was compiled). See the 19 | .\" HREF 20 | \fBpcre2_set_character_tables()\fP 21 | .\" 22 | page. You might want to do this if you are using a non-standard locale. 23 | .P 24 | If the argument is NULL, \fBmalloc()\fP is used to get memory for the tables. 25 | Otherwise it must point to a general context, which can supply pointers to a 26 | custom memory manager. The function yields a pointer to the tables. 27 | .P 28 | There is a complete description of the PCRE2 native API in the 29 | .\" HREF 30 | \fBpcre2api\fP 31 | .\" 32 | page and a description of the POSIX API in the 33 | .\" HREF 34 | \fBpcre2posix\fP 35 | .\" 36 | page. 37 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_maketables_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MAKETABLES_FREE 3 "02 September 2019" "PCRE2 10.34" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_maketables_free(pcre2_general_context *\fIgcontext\fP, 11 | .B " const uint8_t *\fItables\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function discards a set of character tables that were created by a call 18 | to 19 | .\" HREF 20 | \fBpcre2_maketables()\fP. 21 | .\" 22 | .P 23 | The \fIgcontext\fP parameter should match what was used in that call to 24 | account for any custom allocators that might be in use; if it is NULL 25 | the system \fBfree()\fP is used. 26 | .P 27 | There is a complete description of the PCRE2 native API in the 28 | .\" HREF 29 | \fBpcre2api\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_context_copy.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_CONTEXT_COPY 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_match_context *pcre2_match_context_copy( 11 | .B " pcre2_match_context *\fImcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function makes a new copy of a match context, using the memory 18 | allocation function that was used for the original context. The result is NULL 19 | if the memory cannot be obtained. 20 | .P 21 | There is a complete description of the PCRE2 native API in the 22 | .\" HREF 23 | \fBpcre2api\fP 24 | .\" 25 | page and a description of the POSIX API in the 26 | .\" HREF 27 | \fBpcre2posix\fP 28 | .\" 29 | page. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_context_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_CONTEXT_CREATE 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_match_context *pcre2_match_context_create( 11 | .B " pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function creates and initializes a new match context. If its argument is 18 | NULL, \fBmalloc()\fP is used to get the necessary memory; otherwise the memory 19 | allocation function within the general context is used. The result is NULL if 20 | the memory could not be obtained. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_context_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_match_context_free(pcre2_match_context *\fImcontext\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function frees the memory occupied by a match context, using the memory 17 | freeing function from the general context with which it was created, or 18 | \fBfree()\fP if that was not set. If the argument is NULL, the function returns 19 | immediately without doing anything. 20 | .P 21 | There is a complete description of the PCRE2 native API in the 22 | .\" HREF 23 | \fBpcre2api\fP 24 | .\" 25 | page and a description of the POSIX API in the 26 | .\" HREF 27 | \fBpcre2posix\fP 28 | .\" 29 | page. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_data_create.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_DATA_CREATE 3 "29 July 2015" "PCRE2 10.21" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_match_data *pcre2_match_data_create(uint32_t \fIovecsize\fP, 11 | .B " pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function creates a new match data block, which is used for holding the 18 | result of a match. The first argument specifies the number of pairs of offsets 19 | that are required. These form the "output vector" (ovector) within the match 20 | data block, and are used to identify the matched string and any captured 21 | substrings. There is always one pair of offsets; if \fBovecsize\fP is zero, it 22 | is treated as one. 23 | .P 24 | The second argument points to a general context, for custom memory management, 25 | or is NULL for system memory management. The result of the function is NULL if 26 | the memory for the block could not be obtained. 27 | .P 28 | There is a complete description of the PCRE2 native API in the 29 | .\" HREF 30 | \fBpcre2api\fP 31 | .\" 32 | page and a description of the POSIX API in the 33 | .\" HREF 34 | \fBpcre2posix\fP 35 | .\" 36 | page. 37 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_data_create_from_pattern.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_DATA_CREATE_FROM_PATTERN 3 "29 July 2015" "PCRE2 10.21" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B pcre2_match_data *pcre2_match_data_create_from_pattern( 11 | .B " const pcre2_code *\fIcode\fP, pcre2_general_context *\fIgcontext\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function creates a new match data block, which is used for holding the 18 | result of a match. The first argument points to a compiled pattern. The number 19 | of capturing parentheses within the pattern is used to compute the number of 20 | pairs of offsets that are required in the match data block. These form the 21 | "output vector" (ovector) within the match data block, and are used to identify 22 | the matched string and any captured substrings. 23 | .P 24 | The second argument points to a general context, for custom memory management, 25 | or is NULL to use the same memory allocator as was used for the compiled 26 | pattern. The result of the function is NULL if the memory for the block could 27 | not be obtained. 28 | .P 29 | There is a complete description of the PCRE2 native API in the 30 | .\" HREF 31 | \fBpcre2api\fP 32 | .\" 33 | page and a description of the POSIX API in the 34 | .\" HREF 35 | \fBpcre2posix\fP 36 | .\" 37 | page. 38 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_match_data_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_MATCH_DATA_FREE 3 "16 October 2018" "PCRE2 10.33" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_match_data_free(pcre2_match_data *\fImatch_data\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | If \fImatch_data\fP is NULL, this function does nothing. Otherwise, 17 | \fImatch_data\fP must point to a match data block, which this function frees, 18 | using the memory freeing function from the general context or compiled pattern 19 | with which it was created, or \fBfree()\fP if that was not set. 20 | .P 21 | If the PCRE2_COPY_MATCHED_SUBJECT was used for a successful match using this 22 | match data block, the copy of the subject that was remembered with the block is 23 | also freed. 24 | .P 25 | There is a complete description of the PCRE2 native API in the 26 | .\" HREF 27 | \fBpcre2api\fP 28 | .\" 29 | page and a description of the POSIX API in the 30 | .\" HREF 31 | \fBpcre2posix\fP 32 | .\" 33 | page. 34 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_serialize_decode.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SERIALIZE_DECODE 3 "27 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int32_t pcre2_serialize_decode(pcre2_code **\fIcodes\fP, 11 | .B " int32_t \fInumber_of_codes\fP, const uint8_t *\fIbytes\fP," 12 | .B " pcre2_general_context *\fIgcontext\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This function decodes a serialized set of compiled patterns back into a list of 19 | individual patterns. This is possible only on a host that is running the same 20 | version of PCRE2, with the same code unit width, and the host must also have 21 | the same endianness, pointer width and PCRE2_SIZE type. The arguments for 22 | \fBpcre2_serialize_decode()\fP are: 23 | .sp 24 | \fIcodes\fP pointer to a vector in which to build the list 25 | \fInumber_of_codes\fP number of slots in the vector 26 | \fIbytes\fP the serialized byte stream 27 | \fIgcontext\fP pointer to a general context or NULL 28 | .sp 29 | The \fIbytes\fP argument must point to a block of data that was originally 30 | created by \fBpcre2_serialize_encode()\fP, though it may have been saved on 31 | disc or elsewhere in the meantime. If there are more codes in the serialized 32 | data than slots in the list, only those compiled patterns that will fit are 33 | decoded. The yield of the function is the number of decoded patterns, or one of 34 | the following negative error codes: 35 | .sp 36 | PCRE2_ERROR_BADDATA \fInumber_of_codes\fP is zero or less 37 | PCRE2_ERROR_BADMAGIC mismatch of id bytes in \fIbytes\fP 38 | PCRE2_ERROR_BADMODE mismatch of variable unit size or PCRE version 39 | PCRE2_ERROR_MEMORY memory allocation failed 40 | PCRE2_ERROR_NULL \fIcodes\fP or \fIbytes\fP is NULL 41 | .sp 42 | PCRE2_ERROR_BADMAGIC may mean that the data is corrupt, or that it was compiled 43 | on a system with different endianness. 44 | .P 45 | There is a complete description of the PCRE2 native API in the 46 | .\" HREF 47 | \fBpcre2api\fP 48 | .\" 49 | page and a description of the serialization functions in the 50 | .\" HREF 51 | \fBpcre2serialize\fP 52 | .\" 53 | page. 54 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_serialize_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SERIALIZE_FREE 3 "27 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B void pcre2_serialize_free(uint8_t *\fIbytes\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | This function frees the memory that was obtained by 17 | \fBpcre2_serialize_encode()\fP to hold a serialized byte stream. The argument 18 | must point to such a byte stream or be NULL, in which case the function returns 19 | without doing anything. 20 | .P 21 | There is a complete description of the PCRE2 native API in the 22 | .\" HREF 23 | \fBpcre2api\fP 24 | .\" 25 | page and a description of the serialization functions in the 26 | .\" HREF 27 | \fBpcre2serialize\fP 28 | .\" 29 | page. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_serialize_get_number_of_codes.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SERIALIZE_GET_NUMBER_OF_CODES 3 "27 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int32_t pcre2_serialize_get_number_of_codes(const uint8_t *\fIbytes\fP); 11 | .fi 12 | . 13 | .SH DESCRIPTION 14 | .rs 15 | .sp 16 | The \fIbytes\fP argument must point to a serialized byte stream that was 17 | originally created by \fBpcre2_serialize_encode()\fP (though it may have been 18 | saved on disc or elsewhere in the meantime). The function returns the number of 19 | serialized patterns in the byte stream, or one of the following negative error 20 | codes: 21 | .sp 22 | PCRE2_ERROR_BADMAGIC mismatch of id bytes in \fIbytes\fP 23 | PCRE2_ERROR_BADMODE mismatch of variable unit size or PCRE version 24 | PCRE2_ERROR_NULL the argument is NULL 25 | .sp 26 | PCRE2_ERROR_BADMAGIC may mean that the data is corrupt, or that it was compiled 27 | on a system with different endianness. 28 | .P 29 | There is a complete description of the PCRE2 native API in the 30 | .\" HREF 31 | \fBpcre2api\fP 32 | .\" 33 | page and a description of the serialization functions in the 34 | .\" HREF 35 | \fBpcre2serialize\fP 36 | .\" 37 | page. 38 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_bsr.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_BSR 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_bsr(pcre2_compile_context *\fIccontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the convention for processing \eR within a compile context. 18 | The second argument must be one of PCRE2_BSR_ANYCRLF or PCRE2_BSR_UNICODE. The 19 | result is zero for success or PCRE2_ERROR_BADDATA if the second argument is 20 | invalid. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_callout.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_CALLOUT 3 "21 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_callout(pcre2_match_context *\fImcontext\fP, 11 | .B " int (*\fIcallout_function\fP)(pcre2_callout_block *)," 12 | .B " void *\fIcallout_data\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This function sets the callout fields in a match context (the first argument). 19 | The second argument specifies a callout function, and the third argument is an 20 | opaque data item that is passed to it. The result of this function is always 21 | zero. 22 | .P 23 | There is a complete description of the PCRE2 native API in the 24 | .\" HREF 25 | \fBpcre2api\fP 26 | .\" 27 | page and a description of the POSIX API in the 28 | .\" HREF 29 | \fBpcre2posix\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_character_tables.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_CHARACTER_TABLES 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_character_tables(pcre2_compile_context *\fIccontext\fP, 11 | .B " const uint8_t *\fItables\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets a pointer to custom character tables within a compile 18 | context. The second argument must be the result of a call to 19 | \fBpcre2_maketables()\fP or NULL to request the default tables. The result is 20 | always zero. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_compile_extra_options.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_COMPILE_EXTRA_OPTIONS 3 "11 February 2019" "PCRE2 10.33" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_compile_extra_options(pcre2_compile_context *\fIccontext\fP, 11 | .B " uint32_t \fIextra_options\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets additional option bits for \fBpcre2_compile()\fP that are 18 | housed in a compile context. It completely replaces all the bits. The extra 19 | options are: 20 | .sp 21 | .\" JOIN 22 | PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES Allow \ex{df800} to \ex{dfff} 23 | in UTF-8 and UTF-32 modes 24 | .\" JOIN 25 | PCRE2_EXTRA_ALT_BSUX Extended alternate \eu, \eU, and \ex 26 | handling 27 | .\" JOIN 28 | PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL Treat all invalid escapes as 29 | a literal following character 30 | PCRE2_EXTRA_ESCAPED_CR_IS_LF Interpret \er as \en 31 | PCRE2_EXTRA_MATCH_LINE Pattern matches whole lines 32 | PCRE2_EXTRA_MATCH_WORD Pattern matches "words" 33 | .sp 34 | There is a complete description of the PCRE2 native API in the 35 | .\" HREF 36 | \fBpcre2api\fP 37 | .\" 38 | page and a description of the POSIX API in the 39 | .\" HREF 40 | \fBpcre2posix\fP 41 | .\" 42 | page. 43 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_compile_recursion_guard.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_COMPILE_RECURSION_GUARD 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_compile_recursion_guard(pcre2_compile_context *\fIccontext\fP, 11 | .B " int (*\fIguard_function\fP)(uint32_t, void *), void *\fIuser_data\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function defines, within a compile context, a function that is called 18 | whenever \fBpcre2_compile()\fP starts to compile a parenthesized part of a 19 | pattern. The first argument to the function gives the current depth of 20 | parenthesis nesting, and the second is user data that is supplied when the 21 | function is set up. The callout function should return zero if all is well, or 22 | non-zero to force an error. This feature is provided so that applications can 23 | check the available system stack space, in order to avoid running out. The 24 | result of \fBpcre2_set_compile_recursion_guard()\fP is always zero. 25 | .P 26 | There is a complete description of the PCRE2 native API in the 27 | .\" HREF 28 | \fBpcre2api\fP 29 | .\" 30 | page and a description of the POSIX API in the 31 | .\" HREF 32 | \fBpcre2posix\fP 33 | .\" 34 | page. 35 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_depth_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_DEPTH_LIMIT 3 "25 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_depth_limit(pcre2_match_context *\fImcontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the backtracking depth limit field in a match context. The 18 | result is always zero. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_glob_escape.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_GLOB_ESCAPE 3 "11 July 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_glob_escape(pcre2_convert_context *\fIcvcontext\fP, 11 | .B " uint32_t \fIescape_char\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is part of an experimental set of pattern conversion functions. 18 | It sets the escape character that is used when converting globs. The second 19 | argument must either be zero (meaning there is no escape character) or a 20 | punctuation character whose code point is less than 256. The default is grave 21 | accent if running under Windows, otherwise backslash. The result of the 22 | function is zero for success or PCRE2_ERROR_BADDATA if the second argument is 23 | invalid. 24 | .P 25 | The pattern conversion functions are described in the 26 | .\" HREF 27 | \fBpcre2convert\fP 28 | .\" 29 | documentation. 30 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_glob_separator.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_GLOB_SEPARATOR 3 "11 July 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_glob_separator(pcre2_convert_context *\fIcvcontext\fP, 11 | .B " uint32_t \fIseparator_char\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is part of an experimental set of pattern conversion functions. 18 | It sets the component separator character that is used when converting globs. 19 | The second argument must be one of the characters forward slash, backslash, or 20 | dot. The default is backslash when running under Windows, otherwise forward 21 | slash. The result of the function is zero for success or PCRE2_ERROR_BADDATA if 22 | the second argument is invalid. 23 | .P 24 | The pattern conversion functions are described in the 25 | .\" HREF 26 | \fBpcre2convert\fP 27 | .\" 28 | documentation. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_heap_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_HEAP_LIMIT 3 "11 April 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_heap_limit(pcre2_match_context *\fImcontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the backtracking heap limit field in a match context. The 18 | result is always zero. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_match_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_MATCH_LIMIT 3 "24 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_match_limit(pcre2_match_context *\fImcontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the match limit field in a match context. The result is 18 | always zero. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_max_pattern_length.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_MAX_PATTERN_LENGTH 3 "05 October 2016" "PCRE2 10.23" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_max_pattern_length(pcre2_compile_context *\fIccontext\fP, 11 | .B " PCRE2_SIZE \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets, in a compile context, the maximum text length (in code 18 | units) of the pattern that can be compiled. The result is always zero. If a 19 | longer pattern is passed to \fBpcre2_compile()\fP there is an immediate error 20 | return. The default is effectively unlimited, being the largest value a 21 | PCRE2_SIZE variable can hold. 22 | .P 23 | There is a complete description of the PCRE2 native API in the 24 | .\" HREF 25 | \fBpcre2api\fP 26 | .\" 27 | page and a description of the POSIX API in the 28 | .\" HREF 29 | \fBpcre2posix\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_newline.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_NEWLINE 3 "26 May 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_newline(pcre2_compile_context *\fIccontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the newline convention within a compile context. This 18 | specifies which character(s) are recognized as newlines when compiling and 19 | matching patterns. The second argument must be one of: 20 | .sp 21 | PCRE2_NEWLINE_CR Carriage return only 22 | PCRE2_NEWLINE_LF Linefeed only 23 | PCRE2_NEWLINE_CRLF CR followed by LF only 24 | PCRE2_NEWLINE_ANYCRLF Any of the above 25 | PCRE2_NEWLINE_ANY Any Unicode newline sequence 26 | PCRE2_NEWLINE_NUL The NUL character (binary zero) 27 | .sp 28 | The result is zero for success or PCRE2_ERROR_BADDATA if the second argument is 29 | invalid. 30 | .P 31 | There is a complete description of the PCRE2 native API in the 32 | .\" HREF 33 | \fBpcre2api\fP 34 | .\" 35 | page and a description of the POSIX API in the 36 | .\" HREF 37 | \fBpcre2posix\fP 38 | .\" 39 | page. 40 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_offset_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_OFFSET_LIMIT 3 "22 September 2015" "PCRE2 10.21" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_offset_limit(pcre2_match_context *\fImcontext\fP, 11 | .B " PCRE2_SIZE \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets the offset limit field in a match context. The result is 18 | always zero. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_parens_nest_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_PARENS_NEST_LIMIT 3 "22 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_parens_nest_limit(pcre2_compile_context *\fIccontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function sets, in a compile context, the maximum depth of nested 18 | parentheses in a pattern. The result is always zero. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_recursion_limit.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_RECURSION_LIMIT 3 "25 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_recursion_limit(pcre2_match_context *\fImcontext\fP, 11 | .B " uint32_t \fIvalue\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function is obsolete and should not be used in new code. Use 18 | \fBpcre2_set_depth_limit()\fP instead. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_recursion_memory_management.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_RECURSION_MEMORY_MANAGEMENT 3 "25 March 2017" "PCRE2 10.30" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_recursion_memory_management( 11 | .B " pcre2_match_context *\fImcontext\fP," 12 | .B " void *(*\fIprivate_malloc\fP)(PCRE2_SIZE, void *)," 13 | .B " void (*\fIprivate_free\fP)(void *, void *), void *\fImemory_data\fP);" 14 | .fi 15 | . 16 | .SH DESCRIPTION 17 | .rs 18 | .sp 19 | From release 10.30 onwards, this function is obsolete and does nothing. The 20 | result is always zero. 21 | .P 22 | There is a complete description of the PCRE2 native API in the 23 | .\" HREF 24 | \fBpcre2api\fP 25 | .\" 26 | page and a description of the POSIX API in the 27 | .\" HREF 28 | \fBpcre2posix\fP 29 | .\" 30 | page. 31 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_set_substitute_callout.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SET_SUBSTITUTE_CALLOUT 3 "12 November 2018" "PCRE2 10.33" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_set_substitute_callout(pcre2_match_context *\fImcontext\fP, 11 | .B " int (*\fIcallout_function\fP)(pcre2_substitute_callout_block *)," 12 | .B " void *\fIcallout_data\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This function sets the substitute callout fields in a match context (the first 19 | argument). The second argument specifies a callout function, and the third 20 | argument is an opaque data item that is passed to it. The result of this 21 | function is always zero. 22 | .P 23 | There is a complete description of the PCRE2 native API in the 24 | .\" HREF 25 | \fBpcre2api\fP 26 | .\" 27 | page and a description of the POSIX API in the 28 | .\" HREF 29 | \fBpcre2posix\fP 30 | .\" 31 | page. 32 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_copy_byname.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_COPY_BYNAME 3 "21 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_copy_byname(pcre2_match_data *\fImatch_data\fP, 11 | .B " PCRE2_SPTR \fIname\fP, PCRE2_UCHAR *\fIbuffer\fP, PCRE2_SIZE *\fIbufflen\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This is a convenience function for extracting a captured substring, identified 18 | by name, into a given buffer. The arguments are: 19 | .sp 20 | \fImatch_data\fP The match data block for the match 21 | \fIname\fP Name of the required substring 22 | \fIbuffer\fP Buffer to receive the string 23 | \fIbufflen\fP Length of buffer (code units) 24 | .sp 25 | The \fIbufflen\fP variable is updated to contain the length of the extracted 26 | string, excluding the trailing zero. The yield of the function is zero for 27 | success or one of the following error numbers: 28 | .sp 29 | PCRE2_ERROR_NOSUBSTRING there are no groups of that name 30 | PCRE2_ERROR_UNAVAILBLE the ovector was too small for that group 31 | PCRE2_ERROR_UNSET the group did not participate in the match 32 | PCRE2_ERROR_NOMEMORY the buffer is not big enough 33 | .sp 34 | If there is more than one group with the given name, the first one that is set 35 | is returned. In this situation PCRE2_ERROR_UNSET means that no group with the 36 | given name was set. 37 | .P 38 | There is a complete description of the PCRE2 native API in the 39 | .\" HREF 40 | \fBpcre2api\fP 41 | .\" 42 | page and a description of the POSIX API in the 43 | .\" HREF 44 | \fBpcre2posix\fP 45 | .\" 46 | page. 47 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_copy_bynumber.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_COPY_BYNUMBER 3 "13 December 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_copy_bynumber(pcre2_match_data *\fImatch_data\fP, 11 | .B " uint32_t \fInumber\fP, PCRE2_UCHAR *\fIbuffer\fP," 12 | .B " PCRE2_SIZE *\fIbufflen\fP);" 13 | .fi 14 | . 15 | .SH DESCRIPTION 16 | .rs 17 | .sp 18 | This is a convenience function for extracting a captured substring into a given 19 | buffer. The arguments are: 20 | .sp 21 | \fImatch_data\fP The match data block for the match 22 | \fInumber\fP Number of the required substring 23 | \fIbuffer\fP Buffer to receive the string 24 | \fIbufflen\fP Length of buffer 25 | .sp 26 | The \fIbufflen\fP variable is updated with the length of the extracted string, 27 | excluding the terminating zero. The yield of the function is zero for success 28 | or one of the following error numbers: 29 | .sp 30 | PCRE2_ERROR_NOSUBSTRING there are no groups of that number 31 | PCRE2_ERROR_UNAVAILBLE the ovector was too small for that group 32 | PCRE2_ERROR_UNSET the group did not participate in the match 33 | PCRE2_ERROR_NOMEMORY the buffer is too small 34 | .sp 35 | .P 36 | There is a complete description of the PCRE2 native API in the 37 | .\" HREF 38 | \fBpcre2api\fP 39 | .\" 40 | page and a description of the POSIX API in the 41 | .\" HREF 42 | \fBpcre2posix\fP 43 | .\" 44 | page. 45 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .SM 10 | .B void pcre2_substring_free(PCRE2_UCHAR *\fIbuffer\fP); 11 | . 12 | .SH DESCRIPTION 13 | .rs 14 | .sp 15 | This is a convenience function for freeing the memory obtained by a previous 16 | call to \fBpcre2_substring_get_byname()\fP or 17 | \fBpcre2_substring_get_bynumber()\fP. Its only argument is a pointer to the 18 | string. If the argument is NULL, the function does nothing. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_get_byname.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_GET_BYNAME 3 "21 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_get_byname(pcre2_match_data *\fImatch_data\fP, 11 | .B " PCRE2_SPTR \fIname\fP, PCRE2_UCHAR **\fIbufferptr\fP, PCRE2_SIZE *\fIbufflen\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This is a convenience function for extracting a captured substring by name into 18 | newly acquired memory. The arguments are: 19 | .sp 20 | \fImatch_data\fP The match data for the match 21 | \fIname\fP Name of the required substring 22 | \fIbufferptr\fP Where to put the string pointer 23 | \fIbufflen\fP Where to put the string length 24 | .sp 25 | The memory in which the substring is placed is obtained by calling the same 26 | memory allocation function that was used for the match data block. The 27 | convenience function \fBpcre2_substring_free()\fP can be used to free it when 28 | it is no longer needed. The yield of the function is zero for success or one of 29 | the following error numbers: 30 | .sp 31 | PCRE2_ERROR_NOSUBSTRING there are no groups of that name 32 | PCRE2_ERROR_UNAVAILBLE the ovector was too small for that group 33 | PCRE2_ERROR_UNSET the group did not participate in the match 34 | PCRE2_ERROR_NOMEMORY memory could not be obtained 35 | .sp 36 | If there is more than one group with the given name, the first one that is set 37 | is returned. In this situation PCRE2_ERROR_UNSET means that no group with the 38 | given name was set. 39 | .P 40 | There is a complete description of the PCRE2 native API in the 41 | .\" HREF 42 | \fBpcre2api\fP 43 | .\" 44 | page and a description of the POSIX API in the 45 | .\" HREF 46 | \fBpcre2posix\fP 47 | .\" 48 | page. 49 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_get_bynumber.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_GET_BYNUMBER 3 "13 December 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_get_bynumber(pcre2_match_data *\fImatch_data\fP, 11 | .B " uint32_t \fInumber\fP, PCRE2_UCHAR **\fIbufferptr\fP, PCRE2_SIZE *\fIbufflen\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This is a convenience function for extracting a captured substring by number 18 | into newly acquired memory. The arguments are: 19 | .sp 20 | \fImatch_data\fP The match data for the match 21 | \fInumber\fP Number of the required substring 22 | \fIbufferptr\fP Where to put the string pointer 23 | \fIbufflen\fP Where to put the string length 24 | .sp 25 | The memory in which the substring is placed is obtained by calling the same 26 | memory allocation function that was used for the match data block. The 27 | convenience function \fBpcre2_substring_free()\fP can be used to free it when 28 | it is no longer needed. The yield of the function is zero for success or one of 29 | the following error numbers: 30 | .sp 31 | PCRE2_ERROR_NOSUBSTRING there are no groups of that number 32 | PCRE2_ERROR_UNAVAILBLE the ovector was too small for that group 33 | PCRE2_ERROR_UNSET the group did not participate in the match 34 | PCRE2_ERROR_NOMEMORY memory could not be obtained 35 | .sp 36 | .P 37 | There is a complete description of the PCRE2 native API in the 38 | .\" HREF 39 | \fBpcre2api\fP 40 | .\" 41 | page and a description of the POSIX API in the 42 | .\" HREF 43 | \fBpcre2posix\fP 44 | .\" 45 | page. 46 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_length_byname.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_LENGTH_BYNAME 3 "21 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_length_byname(pcre2_match_data *\fImatch_data\fP, 11 | .B " PCRE2_SPTR \fIname\fP, PCRE2_SIZE *\fIlength\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function returns the length of a matched substring, identified by name. 18 | The arguments are: 19 | .sp 20 | \fImatch_data\fP The match data block for the match 21 | \fIname\fP The substring name 22 | \fIlength\fP Where to return the length 23 | .sp 24 | The yield is zero on success, or an error code if the substring is not found. 25 | .P 26 | There is a complete description of the PCRE2 native API in the 27 | .\" HREF 28 | \fBpcre2api\fP 29 | .\" 30 | page and a description of the POSIX API in the 31 | .\" HREF 32 | \fBpcre2posix\fP 33 | .\" 34 | page. 35 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_length_bynumber.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_LENGTH_BYNUMBER 3 "22 December 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_length_bynumber(pcre2_match_data *\fImatch_data\fP, 11 | .B " uint32_t \fInumber\fP, PCRE2_SIZE *\fIlength\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This function returns the length of a matched substring, identified by number. 18 | The arguments are: 19 | .sp 20 | \fImatch_data\fP The match data block for the match 21 | \fInumber\fP The substring number 22 | \fIlength\fP Where to return the length, or NULL 23 | .sp 24 | The third argument may be NULL if all you want to know is whether or not a 25 | substring is set. The yield is zero on success, or a negative error code 26 | otherwise. After a partial match, only substring 0 is available. 27 | .P 28 | There is a complete description of the PCRE2 native API in the 29 | .\" HREF 30 | \fBpcre2api\fP 31 | .\" 32 | page and a description of the POSIX API in the 33 | .\" HREF 34 | \fBpcre2posix\fP 35 | .\" 36 | page. 37 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_list_free.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_LIST_FREE 3 "28 June 2018" "PCRE2 10.32" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .SM 10 | .B void pcre2_substring_list_free(PCRE2_SPTR *\fIlist\fP); 11 | . 12 | .SH DESCRIPTION 13 | .rs 14 | .sp 15 | This is a convenience function for freeing the store obtained by a previous 16 | call to \fBpcre2substring_list_get()\fP. Its only argument is a pointer to 17 | the list of string pointers. If the argument is NULL, the function returns 18 | immediately, without doing anything. 19 | .P 20 | There is a complete description of the PCRE2 native API in the 21 | .\" HREF 22 | \fBpcre2api\fP 23 | .\" 24 | page and a description of the POSIX API in the 25 | .\" HREF 26 | \fBpcre2posix\fP 27 | .\" 28 | page. 29 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_list_get.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_LIST_GET 3 "21 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_list_get(pcre2_match_data *\fImatch_data\fP, 11 | .B " PCRE2_UCHAR ***\fIlistptr\fP, PCRE2_SIZE **\fIlengthsptr\fP); 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This is a convenience function for extracting all the captured substrings after 18 | a pattern match. It builds a list of pointers to the strings, and (optionally) 19 | a second list that contains their lengths (in code units), excluding a 20 | terminating zero that is added to each of them. All this is done in a single 21 | block of memory that is obtained using the same memory allocation function that 22 | was used to get the match data block. The convenience function 23 | \fBpcre2_substring_list_free()\fP can be used to free it when it is no longer 24 | needed. The arguments are: 25 | .sp 26 | \fImatch_data\fP The match data block 27 | \fIlistptr\fP Where to put a pointer to the list 28 | \fIlengthsptr\fP Where to put a pointer to the lengths, or NULL 29 | .sp 30 | A pointer to a list of pointers is put in the variable whose address is in 31 | \fIlistptr\fP. The list is terminated by a NULL pointer. If \fIlengthsptr\fP is 32 | not NULL, a matching list of lengths is created, and its address is placed in 33 | \fIlengthsptr\fP. The yield of the function is zero on success or 34 | PCRE2_ERROR_NOMEMORY if sufficient memory could not be obtained. 35 | .P 36 | There is a complete description of the PCRE2 native API in the 37 | .\" HREF 38 | \fBpcre2api\fP 39 | .\" 40 | page and a description of the POSIX API in the 41 | .\" HREF 42 | \fBpcre2posix\fP 43 | .\" 44 | page. 45 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_nametable_scan.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_NAMETABLE_SCAN 3 "03 February 2019" "PCRE2 10.33" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_nametable_scan(const pcre2_code *\fIcode\fP, 11 | .B " PCRE2_SPTR \fIname\fP, PCRE2_SPTR *\fIfirst\fP, PCRE2_SPTR *\fIlast\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This convenience function finds, for a compiled pattern, the first and last 18 | entries for a given name in the table that translates capture group names into 19 | numbers. 20 | .sp 21 | \fIcode\fP Compiled regular expression 22 | \fIname\fP Name whose entries required 23 | \fIfirst\fP Where to return a pointer to the first entry 24 | \fIlast\fP Where to return a pointer to the last entry 25 | .sp 26 | When the name is found in the table, if \fIfirst\fP is NULL, the function 27 | returns a group number, but if there is more than one matching entry, it is not 28 | defined which one. Otherwise, when both pointers have been set, the yield of 29 | the function is the length of each entry in code units. If the name is not 30 | found, PCRE2_ERROR_NOSUBSTRING is returned. 31 | .P 32 | There is a complete description of the PCRE2 native API, including the format of 33 | the table entries, in the 34 | .\" HREF 35 | \fBpcre2api\fP 36 | .\" 37 | page, and a description of the POSIX API in the 38 | .\" HREF 39 | \fBpcre2posix\fP 40 | .\" 41 | page. 42 | -------------------------------------------------------------------------------- /pcre2/doc/pcre2_substring_number_from_name.3: -------------------------------------------------------------------------------- 1 | .TH PCRE2_SUBSTRING_NUMBER_FROM_NAME 3 "21 October 2014" "PCRE2 10.00" 2 | .SH NAME 3 | PCRE2 - Perl-compatible regular expressions (revised API) 4 | .SH SYNOPSIS 5 | .rs 6 | .sp 7 | .B #include 8 | .PP 9 | .nf 10 | .B int pcre2_substring_number_from_name(const pcre2_code *\fIcode\fP, 11 | .B " PCRE2_SPTR \fIname\fP);" 12 | .fi 13 | . 14 | .SH DESCRIPTION 15 | .rs 16 | .sp 17 | This convenience function finds the number of a named substring capturing 18 | parenthesis in a compiled pattern, provided that it is a unique name. The 19 | function arguments are: 20 | .sp 21 | \fIcode\fP Compiled regular expression 22 | \fIname\fP Name whose number is required 23 | .sp 24 | The yield of the function is the number of the parenthesis if the name is 25 | found, or PCRE2_ERROR_NOSUBSTRING if it is not found. When duplicate names are 26 | allowed (PCRE2_DUPNAMES is set), if the name is not unique, 27 | PCRE2_ERROR_NOUNIQUESUBSTRING is returned. You can obtain the list of numbers 28 | with the same name by calling \fBpcre2_substring_nametable_scan()\fP. 29 | .P 30 | There is a complete description of the PCRE2 native API in the 31 | .\" HREF 32 | \fBpcre2api\fP 33 | .\" 34 | page and a description of the POSIX API in the 35 | .\" HREF 36 | \fBpcre2posix\fP 37 | .\" 38 | page. 39 | -------------------------------------------------------------------------------- /pcre2/libpcre2-16.pc.in: -------------------------------------------------------------------------------- 1 | # Package Information for pkg-config 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: libpcre2-16 9 | Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 16 bit character support 10 | Version: @PACKAGE_VERSION@ 11 | Libs: -L${libdir} -lpcre2-16 12 | Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ 13 | Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@ 14 | -------------------------------------------------------------------------------- /pcre2/libpcre2-32.pc.in: -------------------------------------------------------------------------------- 1 | # Package Information for pkg-config 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: libpcre2-32 9 | Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 32 bit character support 10 | Version: @PACKAGE_VERSION@ 11 | Libs: -L${libdir} -lpcre2-32 12 | Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ 13 | Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@ 14 | -------------------------------------------------------------------------------- /pcre2/libpcre2-8.pc.in: -------------------------------------------------------------------------------- 1 | # Package Information for pkg-config 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: libpcre2-8 9 | Description: PCRE2 - Perl compatible regular expressions C library (2nd API) with 8 bit character support 10 | Version: @PACKAGE_VERSION@ 11 | Libs: -L${libdir} -lpcre2-8 12 | Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ 13 | Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@ 14 | -------------------------------------------------------------------------------- /pcre2/libpcre2-posix.pc.in: -------------------------------------------------------------------------------- 1 | # Package Information for pkg-config 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: libpcre2-posix 9 | Description: Posix compatible interface to libpcre2-8 10 | Version: @PACKAGE_VERSION@ 11 | Libs: -L${libdir} -lpcre2-posix 12 | Cflags: -I${includedir} @PCRE2_STATIC_CFLAG@ 13 | Requires.private: libpcre2-8 14 | -------------------------------------------------------------------------------- /pcre2/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004, 2011-2018 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 4221 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.6.42-b88ce]) 16 | m4_define([LT_PACKAGE_REVISION], [2.4.6.42]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.6.42-b88ce' 20 | macro_revision='2.4.6.42' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /pcre2/testdata/grepbinary: -------------------------------------------------------------------------------- 1 | The quick brown fx jumps over the lazy dog. 2 | -------------------------------------------------------------------------------- /pcre2/testdata/grepfilelist: -------------------------------------------------------------------------------- 1 | testdata/grepinputv 2 | 3 | testdata/grepinputx 4 | -------------------------------------------------------------------------------- /pcre2/testdata/grepinput3: -------------------------------------------------------------------------------- 1 | triple: t1_txt s1_tag s_txt p_tag p_txt o_tag o_txt 2 | 3 | triple: t2_txt s1_tag s_txt p_tag p_txt o_tag 4 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 5 | 6 | triple: t3_txt s2_tag s_txt p_tag p_txt o_tag o_txt 7 | 8 | triple: t4_txt s1_tag s_txt p_tag p_txt o_tag o_txt 9 | 10 | triple: t5_txt s1_tag s_txt p_tag p_txt o_tag 11 | o_txt 12 | 13 | triple: t6_txt s2_tag s_txt p_tag p_txt o_tag o_txt 14 | 15 | triple: t7_txt s1_tag s_txt p_tag p_txt o_tag o_txt 16 | -------------------------------------------------------------------------------- /pcre2/testdata/grepinput8: -------------------------------------------------------------------------------- 1 | X one 2 | X two X three X four X five 3 | X six 4 | X seven…X eight
X nine
X ten 5 | 6 | Before 111 7 | Before 222
Before 333…Match 8 | After 111 9 | After 222
After 333 10 | And so on and so on 11 | And so on and so on 12 | ſ 13 | ſſſſſ 14 | -------------------------------------------------------------------------------- /pcre2/testdata/grepinputM: -------------------------------------------------------------------------------- 1 | Data file for multiline tests of multiple matches. 2 | 3 | start end in between start 4 | end and following 5 | Other stuff 6 | 7 | start end in between start 8 | end and following start 9 | end other stuff 10 | 11 | start end in between start 12 | 13 | end 14 | 15 | ** These two lines must be last. 16 | start end in between start 17 | end 18 | -------------------------------------------------------------------------------- /pcre2/testdata/grepinputv: -------------------------------------------------------------------------------- 1 | The quick brown 2 | fox jumps 3 | over the lazy dog. 4 | This time it jumps and jumps and jumps. 5 | This line contains \E and (regex) *meta* [characters]. 6 | The word is cat in this line 7 | The caterpillar sat on the mat 8 | The snowcat is not an animal 9 | A buried feline in the syndicate 10 | -------------------------------------------------------------------------------- /pcre2/testdata/grepinputx: -------------------------------------------------------------------------------- 1 | This is a second file of input for the pcregrep tests. 2 | 3 | Here is the pattern again. 4 | 5 | Pattern 6 | That time it was on a line by itself. 7 | 8 | To pat or not to pat, that is the question. 9 | 10 | complete pair 11 | of lines 12 | 13 | That was a complete pair 14 | of lines all by themselves. 15 | 16 | complete pair 17 | of lines 18 | 19 | And there they were again, to check line numbers. 20 | 21 | one 22 | two 23 | three 24 | four 25 | five 26 | six 27 | seven 28 | eight 29 | nine 30 | ten 31 | eleven 32 | twelve 33 | thirteen 34 | fourteen 35 | fifteen 36 | sixteen 37 | seventeen 38 | eighteen 39 | nineteen 40 | twenty 41 | 42 | This line contains pattern not on a line by itself. 43 | This is the last line of this file. 44 | -------------------------------------------------------------------------------- /pcre2/testdata/greplist: -------------------------------------------------------------------------------- 1 | This is a file of patterns for testing the -f option. Don't include any blank 2 | lines because they will match everything! This is no longer true, so have one. 3 | 4 | pattern 5 | line by itself 6 | 7 | End of the list of patterns. 8 | -------------------------------------------------------------------------------- /pcre2/testdata/grepoutput8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/grepoutput8 -------------------------------------------------------------------------------- /pcre2/testdata/grepoutputC: -------------------------------------------------------------------------------- 1 | Arg1: [T] [he ] [ ] Arg2: |T| () () (0) 2 | Arg1: [T] [his] [s] Arg2: |T| () () (0) 3 | Arg1: [T] [his] [s] Arg2: |T| () () (0) 4 | Arg1: [T] [he ] [ ] Arg2: |T| () () (0) 5 | Arg1: [T] [he ] [ ] Arg2: |T| () () (0) 6 | Arg1: [T] [he ] [ ] Arg2: |T| () () (0) 7 | The quick brown 8 | This time it jumps and jumps and jumps. 9 | This line contains \E and (regex) *meta* [characters]. 10 | The word is cat in this line 11 | The caterpillar sat on the mat 12 | The snowcat is not an animal 13 | Arg1: [qu] [qu] 14 | Arg1: [ t] [ t] 15 | Arg1: [ l] [ l] 16 | Arg1: [wo] [wo] 17 | Arg1: [ca] [ca] 18 | Arg1: [sn] [sn] 19 | The quick brown 20 | This time it jumps and jumps and jumps. 21 | This line contains \E and (regex) *meta* [characters]. 22 | The word is cat in this line 23 | The caterpillar sat on the mat 24 | The snowcat is not an animal 25 | 0:T 26 | The quick brown 27 | 0:T 28 | This time it jumps and jumps and jumps. 29 | 0:T 30 | This line contains \E and (regex) *meta* [characters]. 31 | 0:T 32 | The word is cat in this line 33 | 0:T 34 | The caterpillar sat on the mat 35 | 0:T 36 | The snowcat is not an animal 37 | T 38 | T 39 | T 40 | T 41 | T 42 | T 43 | -------------------------------------------------------------------------------- /pcre2/testdata/grepoutputCN: -------------------------------------------------------------------------------- 1 | The quick brown 2 | This time it jumps and jumps and jumps. 3 | This line contains \E and (regex) *meta* [characters]. 4 | The word is cat in this line 5 | The caterpillar sat on the mat 6 | The snowcat is not an animal 7 | The quick brown 8 | This time it jumps and jumps and jumps. 9 | This line contains \E and (regex) *meta* [characters]. 10 | The word is cat in this line 11 | The caterpillar sat on the mat 12 | The snowcat is not an animal 13 | 0:T 14 | The quick brown 15 | 0:T 16 | This time it jumps and jumps and jumps. 17 | 0:T 18 | This line contains \E and (regex) *meta* [characters]. 19 | 0:T 20 | The word is cat in this line 21 | 0:T 22 | The caterpillar sat on the mat 23 | 0:T 24 | The snowcat is not an animal 25 | T 26 | T 27 | T 28 | T 29 | T 30 | T 31 | -------------------------------------------------------------------------------- /pcre2/testdata/grepoutputN: -------------------------------------------------------------------------------- 1 | ---------------------------- Test N1 ------------------------------ 2 | 1:abc 2:def ---------------------------- Test N2 ------------------------------ 3 | 1:abc def 4 | 2:ghi 5 | jkl---------------------------- Test N3 ------------------------------ 6 | 2:def 3: 7 | ghi 8 | jkl---------------------------- Test N4 ------------------------------ 9 | 2:ghi 10 | jkl---------------------------- Test N5 ------------------------------ 11 | 1:abc 2:def 12 | 3:ghi 13 | 4:jkl---------------------------- Test N6 ------------------------------ 14 | 1:abc 2:def 15 | 3:ghi 16 | 4:jkl---------------------------- Test N7 ------------------------------ 17 | 1:abcZERO2:def 18 | -------------------------------------------------------------------------------- /pcre2/testdata/greppatN4: -------------------------------------------------------------------------------- 1 | xxx 2 | jkl -------------------------------------------------------------------------------- /pcre2/testdata/testinput1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput1 -------------------------------------------------------------------------------- /pcre2/testdata/testinput10: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput10 -------------------------------------------------------------------------------- /pcre2/testdata/testinput11: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput11 -------------------------------------------------------------------------------- /pcre2/testdata/testinput12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput12 -------------------------------------------------------------------------------- /pcre2/testdata/testinput13: -------------------------------------------------------------------------------- 1 | # These DFA tests are for the handling of characters greater than 255 in 2 | # 16-bit or 32-bit, non-UTF mode. 3 | 4 | #forbid_utf 5 | #subject dfa 6 | 7 | /^\x{ffff}+/i 8 | \x{ffff} 9 | 10 | /^\x{ffff}?/i 11 | \x{ffff} 12 | 13 | /^\x{ffff}*/i 14 | \x{ffff} 15 | 16 | /^\x{ffff}{3}/i 17 | \x{ffff}\x{ffff}\x{ffff} 18 | 19 | /^\x{ffff}{0,3}/i 20 | \x{ffff} 21 | 22 | # End of testinput13 23 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput14: -------------------------------------------------------------------------------- 1 | # These test special (mostly error) UTF features of DFA matching. They are a 2 | # selection of the more comprehensive tests that are run for non-DFA matching. 3 | # The output is different for the different widths. 4 | 5 | #subject dfa 6 | 7 | /X/utf 8 | XX\x{d800} 9 | XX\x{d800}\=offset=3 10 | XX\x{d800}\=no_utf_check 11 | XX\x{da00} 12 | XX\x{da00}\=no_utf_check 13 | XX\x{dc00} 14 | XX\x{dc00}\=no_utf_check 15 | XX\x{de00} 16 | XX\x{de00}\=no_utf_check 17 | XX\x{dfff} 18 | XX\x{dfff}\=no_utf_check 19 | XX\x{110000} 20 | XX\x{d800}\x{1234} 21 | 22 | /badutf/utf 23 | X\xdf 24 | XX\xef 25 | XXX\xef\x80 26 | X\xf7 27 | XX\xf7\x80 28 | XXX\xf7\x80\x80 29 | 30 | /shortutf/utf 31 | XX\xdf\=ph 32 | XX\xef\=ph 33 | XX\xef\x80\=ph 34 | \xf7\=ph 35 | \xf7\x80\=ph 36 | 37 | # End of testinput14 38 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput16: -------------------------------------------------------------------------------- 1 | # This test is run only when JIT support is not available. It checks that an 2 | # attempt to use it has the expected behaviour. It also tests things that 3 | # are different without JIT. 4 | 5 | /abc/I,jit,jitverify 6 | 7 | /a*/I 8 | 9 | # End of testinput16 10 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput19: -------------------------------------------------------------------------------- 1 | # This set of tests is run only with the 8-bit library. It tests the POSIX 2 | # interface with UTF/UCP support, which is supported only with the 8-bit 3 | # library. This test should not be run with JIT (which is not available for the 4 | # POSIX interface). 5 | 6 | #pattern posix 7 | 8 | /a\x{1234}b/utf 9 | a\x{1234}b 10 | 11 | /\w/ 12 | \= Expect no match 13 | +++\x{c2} 14 | 15 | /\w/ucp 16 | +++\x{c2} 17 | 18 | /"^AB" 00 "\x{1234}$"/hex,utf 19 | AB\x{00}\x{1234}\=posix_startend=0:6 20 | 21 | # End of testdata/testinput19 22 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput2 -------------------------------------------------------------------------------- /pcre2/testdata/testinput20: -------------------------------------------------------------------------------- 1 | # This set of tests exercises the serialization/deserialization and code copy 2 | # functions in the library. It does not use UTF or JIT. 3 | 4 | #forbid_utf 5 | 6 | # Compile several patterns, push them onto the stack, and then write them 7 | # all to a file. 8 | 9 | #pattern push 10 | 11 | /(?(?&NAME_PAT))\s+(?(?&ADDRESS_PAT)) 12 | (?(DEFINE) 13 | (?[a-z]+) 14 | (?\d+) 15 | )/x 16 | /^(?:((.)(?1)\2|)|((.)(?3)\4|.))$/i 17 | 18 | #save testsaved1 19 | 20 | # Do it again for some more patterns. 21 | 22 | /(*MARK:A)(*SKIP:B)(C|X)/mark 23 | /(?:(?foo)|(?bar))\k/dupnames 24 | 25 | #save testsaved2 26 | #pattern -push 27 | 28 | # Reload the patterns, then pop them one by one and check them. 29 | 30 | #load testsaved1 31 | #load testsaved2 32 | 33 | #pop info 34 | foofoo 35 | barbar 36 | 37 | #pop mark 38 | C 39 | \= Expect no match 40 | D 41 | 42 | #pop 43 | AmanaplanacanalPanama 44 | 45 | #pop info 46 | metcalfe 33 47 | 48 | # Check for an error when different tables are used. 49 | 50 | /abc/push,tables=1 51 | /xyz/push,tables=2 52 | #save testsaved1 53 | 54 | #pop 55 | xyz 56 | 57 | #pop 58 | abc 59 | 60 | #pop should give an error 61 | pqr 62 | 63 | /abcd/pushcopy 64 | abcd 65 | 66 | #pop 67 | abcd 68 | 69 | #pop should give an error 70 | 71 | /abcd/push 72 | #popcopy 73 | abcd 74 | 75 | #pop 76 | abcd 77 | 78 | /abcd/push 79 | #save testsaved1 80 | #pop should give an error 81 | 82 | #load testsaved1 83 | #popcopy 84 | abcd 85 | 86 | #pop 87 | abcd 88 | 89 | #pop should give an error 90 | 91 | /abcd/pushtablescopy 92 | abcd 93 | 94 | #popcopy 95 | abcd 96 | 97 | #pop 98 | abcd 99 | 100 | # Must only specify one of these 101 | 102 | //push,pushcopy 103 | 104 | //push,pushtablescopy 105 | 106 | //pushcopy,pushtablescopy 107 | 108 | # End of testinput20 109 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput21: -------------------------------------------------------------------------------- 1 | # These are tests of \C that do not involve UTF. They are not run when \C is 2 | # disabled by compiling with --enable-never-backslash-C. 3 | 4 | /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/Bx 5 | 6 | /\D+\C \d+\C \S+\C \s+\C \W+\C \w+\C .+\C \R+\C \H+\C \h+\C \V+\C \v+\C a+\C \n+\C \C+\C/Bx 7 | 8 | /ab\Cde/never_backslash_c 9 | 10 | /ab\Cde/info 11 | abXde 12 | 13 | /(?<=ab\Cde)X/ 14 | abZdeX 15 | 16 | # End of testinput21 17 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput23: -------------------------------------------------------------------------------- 1 | # This test is run when PCRE2 has been built with --enable-never-backslash-C, 2 | # which disables the use of \C. All we can do is check that it gives the 3 | # correct error message. 4 | 5 | /a\Cb/ 6 | 7 | # End of testinput23 8 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput25: -------------------------------------------------------------------------------- 1 | # This file tests the auxiliary pattern conversion features of the PCRE2 2 | # library, in UTF mode. 3 | 4 | #newline_default lf any anycrlf 5 | 6 | # -------- Tests of glob conversion -------- 7 | 8 | # Set the glob separator explicitly so that different OS defaults are not a 9 | # problem. Then test various errors. 10 | 11 | #pattern convert=glob,convert_glob_escape=\,convert_glob_separator=/ 12 | 13 | # The fact that this one works in 13 bytes in the 8-bit library shows that the 14 | # output is in UTF-8, though pcre2test shows the character as an escape. 15 | 16 | /'>' c4 a3 '<'/hex,utf,convert_length=13 17 | 18 | # End of testinput25 19 | -------------------------------------------------------------------------------- /pcre2/testdata/testinput3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput3 -------------------------------------------------------------------------------- /pcre2/testdata/testinput5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput5 -------------------------------------------------------------------------------- /pcre2/testdata/testinput6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinput6 -------------------------------------------------------------------------------- /pcre2/testdata/testinputEBC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testinputEBC -------------------------------------------------------------------------------- /pcre2/testdata/testoutput1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput1 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput10: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput10 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput11-16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput11-16 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput11-32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput11-32 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput12-16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput12-16 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput12-32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput12-32 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput13: -------------------------------------------------------------------------------- 1 | # These DFA tests are for the handling of characters greater than 255 in 2 | # 16-bit or 32-bit, non-UTF mode. 3 | 4 | #forbid_utf 5 | #subject dfa 6 | 7 | /^\x{ffff}+/i 8 | \x{ffff} 9 | 0: \x{ffff} 10 | 11 | /^\x{ffff}?/i 12 | \x{ffff} 13 | 0: \x{ffff} 14 | 15 | /^\x{ffff}*/i 16 | \x{ffff} 17 | 0: \x{ffff} 18 | 19 | /^\x{ffff}{3}/i 20 | \x{ffff}\x{ffff}\x{ffff} 21 | 0: \x{ffff}\x{ffff}\x{ffff} 22 | 23 | /^\x{ffff}{0,3}/i 24 | \x{ffff} 25 | 0: \x{ffff} 26 | 27 | # End of testinput13 28 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput14-16: -------------------------------------------------------------------------------- 1 | # These test special (mostly error) UTF features of DFA matching. They are a 2 | # selection of the more comprehensive tests that are run for non-DFA matching. 3 | # The output is different for the different widths. 4 | 5 | #subject dfa 6 | 7 | /X/utf 8 | XX\x{d800} 9 | Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2 10 | XX\x{d800}\=offset=3 11 | No match 12 | XX\x{d800}\=no_utf_check 13 | 0: X 14 | XX\x{da00} 15 | Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2 16 | XX\x{da00}\=no_utf_check 17 | 0: X 18 | XX\x{dc00} 19 | Failed: error -26: UTF-16 error: isolated low surrogate at offset 2 20 | XX\x{dc00}\=no_utf_check 21 | 0: X 22 | XX\x{de00} 23 | Failed: error -26: UTF-16 error: isolated low surrogate at offset 2 24 | XX\x{de00}\=no_utf_check 25 | 0: X 26 | XX\x{dfff} 27 | Failed: error -26: UTF-16 error: isolated low surrogate at offset 2 28 | XX\x{dfff}\=no_utf_check 29 | 0: X 30 | XX\x{110000} 31 | ** Failed: character \x{110000} is greater than 0x10ffff and so cannot be converted to UTF-16 32 | XX\x{d800}\x{1234} 33 | Failed: error -25: UTF-16 error: invalid low surrogate at offset 3 34 | 35 | /badutf/utf 36 | X\xdf 37 | No match 38 | XX\xef 39 | No match 40 | XXX\xef\x80 41 | No match 42 | X\xf7 43 | No match 44 | XX\xf7\x80 45 | No match 46 | XXX\xf7\x80\x80 47 | No match 48 | 49 | /shortutf/utf 50 | XX\xdf\=ph 51 | No match 52 | XX\xef\=ph 53 | No match 54 | XX\xef\x80\=ph 55 | No match 56 | \xf7\=ph 57 | No match 58 | \xf7\x80\=ph 59 | No match 60 | 61 | # End of testinput14 62 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput14-32: -------------------------------------------------------------------------------- 1 | # These test special (mostly error) UTF features of DFA matching. They are a 2 | # selection of the more comprehensive tests that are run for non-DFA matching. 3 | # The output is different for the different widths. 4 | 5 | #subject dfa 6 | 7 | /X/utf 8 | XX\x{d800} 9 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 10 | XX\x{d800}\=offset=3 11 | No match 12 | XX\x{d800}\=no_utf_check 13 | 0: X 14 | XX\x{da00} 15 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 16 | XX\x{da00}\=no_utf_check 17 | 0: X 18 | XX\x{dc00} 19 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 20 | XX\x{dc00}\=no_utf_check 21 | 0: X 22 | XX\x{de00} 23 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 24 | XX\x{de00}\=no_utf_check 25 | 0: X 26 | XX\x{dfff} 27 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 28 | XX\x{dfff}\=no_utf_check 29 | 0: X 30 | XX\x{110000} 31 | Failed: error -28: UTF-32 error: code points greater than 0x10ffff are not defined at offset 2 32 | XX\x{d800}\x{1234} 33 | Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2 34 | 35 | /badutf/utf 36 | X\xdf 37 | No match 38 | XX\xef 39 | No match 40 | XXX\xef\x80 41 | No match 42 | X\xf7 43 | No match 44 | XX\xf7\x80 45 | No match 46 | XXX\xf7\x80\x80 47 | No match 48 | 49 | /shortutf/utf 50 | XX\xdf\=ph 51 | No match 52 | XX\xef\=ph 53 | No match 54 | XX\xef\x80\=ph 55 | No match 56 | \xf7\=ph 57 | No match 58 | \xf7\x80\=ph 59 | No match 60 | 61 | # End of testinput14 62 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput16: -------------------------------------------------------------------------------- 1 | # This test is run only when JIT support is not available. It checks that an 2 | # attempt to use it has the expected behaviour. It also tests things that 3 | # are different without JIT. 4 | 5 | /abc/I,jit,jitverify 6 | Capture group count = 0 7 | First code unit = 'a' 8 | Last code unit = 'c' 9 | Subject length lower bound = 3 10 | JIT support is not available in this version of PCRE2 11 | 12 | /a*/I 13 | Capture group count = 0 14 | May match empty string 15 | Subject length lower bound = 0 16 | 17 | # End of testinput16 18 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput19: -------------------------------------------------------------------------------- 1 | # This set of tests is run only with the 8-bit library. It tests the POSIX 2 | # interface with UTF/UCP support, which is supported only with the 8-bit 3 | # library. This test should not be run with JIT (which is not available for the 4 | # POSIX interface). 5 | 6 | #pattern posix 7 | 8 | /a\x{1234}b/utf 9 | a\x{1234}b 10 | 0: a\x{1234}b 11 | 12 | /\w/ 13 | \= Expect no match 14 | +++\x{c2} 15 | No match: POSIX code 17: match failed 16 | 17 | /\w/ucp 18 | +++\x{c2} 19 | 0: \xc2 20 | 21 | /"^AB" 00 "\x{1234}$"/hex,utf 22 | AB\x{00}\x{1234}\=posix_startend=0:6 23 | 0: AB\x{00}\x{1234} 24 | 25 | # End of testdata/testinput19 26 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput2 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput21: -------------------------------------------------------------------------------- 1 | # These are tests of \C that do not involve UTF. They are not run when \C is 2 | # disabled by compiling with --enable-never-backslash-C. 3 | 4 | /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/Bx 5 | ------------------------------------------------------------------ 6 | Bra 7 | AllAny+ 8 | \D 9 | AllAny+ 10 | \d 11 | AllAny+ 12 | \S 13 | AllAny+ 14 | \s 15 | AllAny+ 16 | \W 17 | AllAny+ 18 | \w 19 | AllAny+ 20 | Any 21 | AllAny+ 22 | \R 23 | AllAny+ 24 | \H 25 | AllAny+ 26 | \h 27 | AllAny+ 28 | \V 29 | AllAny+ 30 | \v 31 | AllAny+ 32 | \Z 33 | AllAny++ 34 | \z 35 | AllAny+ 36 | $ 37 | Ket 38 | End 39 | ------------------------------------------------------------------ 40 | 41 | /\D+\C \d+\C \S+\C \s+\C \W+\C \w+\C .+\C \R+\C \H+\C \h+\C \V+\C \v+\C a+\C \n+\C \C+\C/Bx 42 | ------------------------------------------------------------------ 43 | Bra 44 | \D+ 45 | AllAny 46 | \d+ 47 | AllAny 48 | \S+ 49 | AllAny 50 | \s+ 51 | AllAny 52 | \W+ 53 | AllAny 54 | \w+ 55 | AllAny 56 | Any+ 57 | AllAny 58 | \R+ 59 | AllAny 60 | \H+ 61 | AllAny 62 | \h+ 63 | AllAny 64 | \V+ 65 | AllAny 66 | \v+ 67 | AllAny 68 | a+ 69 | AllAny 70 | \x0a+ 71 | AllAny 72 | AllAny+ 73 | AllAny 74 | Ket 75 | End 76 | ------------------------------------------------------------------ 77 | 78 | /ab\Cde/never_backslash_c 79 | Failed: error 183 at offset 4: using \C is disabled by the application 80 | 81 | /ab\Cde/info 82 | Capture group count = 0 83 | Contains \C 84 | First code unit = 'a' 85 | Last code unit = 'e' 86 | Subject length lower bound = 5 87 | abXde 88 | 0: abXde 89 | 90 | /(?<=ab\Cde)X/ 91 | abZdeX 92 | 0: X 93 | 94 | # End of testinput21 95 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput23: -------------------------------------------------------------------------------- 1 | # This test is run when PCRE2 has been built with --enable-never-backslash-C, 2 | # which disables the use of \C. All we can do is check that it gives the 3 | # correct error message. 4 | 5 | /a\Cb/ 6 | Failed: error 185 at offset 3: using \C is disabled in this PCRE2 library 7 | 8 | # End of testinput23 9 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput25: -------------------------------------------------------------------------------- 1 | # This file tests the auxiliary pattern conversion features of the PCRE2 2 | # library, in UTF mode. 3 | 4 | #newline_default lf any anycrlf 5 | 6 | # -------- Tests of glob conversion -------- 7 | 8 | # Set the glob separator explicitly so that different OS defaults are not a 9 | # problem. Then test various errors. 10 | 11 | #pattern convert=glob,convert_glob_escape=\,convert_glob_separator=/ 12 | 13 | # The fact that this one works in 13 bytes in the 8-bit library shows that the 14 | # output is in UTF-8, though pcre2test shows the character as an escape. 15 | 16 | /'>' c4 a3 '<'/hex,utf,convert_length=13 17 | (?s)\A>\x{123}<\z 18 | 19 | # End of testinput25 20 | -------------------------------------------------------------------------------- /pcre2/testdata/testoutput3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput3 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput3A: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput3A -------------------------------------------------------------------------------- /pcre2/testdata/testoutput3B: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput3B -------------------------------------------------------------------------------- /pcre2/testdata/testoutput5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput5 -------------------------------------------------------------------------------- /pcre2/testdata/testoutput6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutput6 -------------------------------------------------------------------------------- /pcre2/testdata/testoutputEBC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/testoutputEBC -------------------------------------------------------------------------------- /pcre2/testdata/valgrind-jit.supp: -------------------------------------------------------------------------------- 1 | { 2 | name 3 | Memcheck:Addr16 4 | obj:??? 5 | obj:??? 6 | obj:??? 7 | } 8 | 9 | { 10 | name 11 | Memcheck:Cond 12 | obj:??? 13 | obj:??? 14 | obj:??? 15 | } 16 | -------------------------------------------------------------------------------- /pcre2/testdata/wintestinput3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/wintestinput3 -------------------------------------------------------------------------------- /pcre2/testdata/wintestoutput3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/julian-r/file-windows/cddf42c5faf23c552b8c033680854b0c7bde0f10/pcre2/testdata/wintestoutput3 -------------------------------------------------------------------------------- /win-headers/magic.def: -------------------------------------------------------------------------------- 1 | LIBRARY libmagic 2 | EXPORTS 3 | magic_open 4 | magic_close 5 | magic_getpath 6 | magic_file 7 | magic_descriptor 8 | magic_buffer 9 | magic_error 10 | magic_setflags 11 | magic_version 12 | magic_load 13 | magic_load_buffers 14 | magic_compile 15 | magic_check 16 | magic_list 17 | magic_errno 18 | magic_setparam 19 | magic_getparam 20 | getline 21 | --------------------------------------------------------------------------------