diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..62e8a61a5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,506 @@ +# Copyright 2020 Evan Miller +# Copyright 2020 Matt Borland +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +name: CI +on: + push: + branches: + - master + - develop + - feature/** + - cve-* + pull_request: + release: + types: [published, created, edited] + +concurrency: + group: ${{format('{0}:{1}', github.repository, github.ref)}} + cancel-in-progress: true + +env: + UBSAN_OPTIONS: print_stacktrace=1 + +jobs: + ubuntu-jammy: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + compiler: [ g++-11, g++-12, g++-13 ] + standard: [ c++11, c++14, c++17, c++2a ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Set TOOLSET + run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV + - name: Install packages + run: sudo apt install g++-11 g++-12 g++-13 + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: Generate headers + run: ./b2 headers + working-directory: ../boost-root + - name: Generate user config + run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : -std=${{ matrix.standard }} ;" > ~/user-config.jam' + working-directory: ../boost-root + - name: Config info + run: ../../../b2 print_config_info toolset=$TOOLSET + working-directory: ../boost-root/libs/config/test + - name: Test + run: ../../../b2 toolset=$TOOLSET variant=debug,release ${{ startsWith(matrix.compiler, 'g++-13') && 'address-sanitizer=norecover undefined-sanitizer=norecover' || '' }} + working-directory: ../boost-root/libs/regex/test + ubuntu-jammy-standalone: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + compiler: [ g++ ] + standard: [ c++11, c++14, c++17, c++2a ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Set TOOLSET + run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV + - name: Install packages + run: sudo apt install libicu-dev + - name: Test + run: ${{ matrix.compiler }} -std=${{ matrix.standard }} -I../../include *.cpp ../../src/*.cpp -o regress && ./regress + working-directory: ./test/regress + ubuntu-jammy-clang: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + compiler: [ clang++-15 ] + standard: [ c++11, c++14, c++17 ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Set TOOLSET + run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV + - name: Install packages + run: sudo apt install clang-15 + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: Generate headers + run: ./b2 headers + working-directory: ../boost-root + - name: Generate user config + run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : -std=${{ matrix.standard }} ;" > ~/user-config.jam' + working-directory: ../boost-root + - name: Config info + run: ../../../b2 print_config_info toolset=$TOOLSET + working-directory: ../boost-root/libs/config/test + - name: Test + run: ../../../b2 toolset=$TOOLSET define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER + working-directory: ../boost-root/libs/regex/test + ubuntu-jammy-clang-18-modules: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Grab install script + run: wget https://apt.llvm.org/llvm.sh && chmod u+x llvm.sh + - name: Install clang 18 packages + run: sudo ./llvm.sh 18 && clang++-18 --version + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: Generate headers + run: ./b2 headers + working-directory: ../boost-root + - name: Test + run: CXX=clang++-18 LIBRARIES="-licuuc -licudata -licui18n" ./test_clang.sh + working-directory: ../boost-root/libs/regex/test/module + ubuntu-noble-clang: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + compiler: [ clang++-16, clang++-17, clang++-18 ] + standard: [ c++11, c++14, c++17, c++20 ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Set TOOLSET + run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV + - name: Install packages + run: sudo apt install clang-16 clang-17 clang-18 + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: Generate headers + run: ./b2 headers + working-directory: ../boost-root + - name: Generate user config + run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : -std=${{ matrix.standard }} ;" > ~/user-config.jam' + working-directory: ../boost-root + - name: Config info + run: ../../../b2 print_config_info toolset=$TOOLSET + working-directory: ../boost-root/libs/config/test + - name: Test + run: ../../../b2 toolset=$TOOLSET define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER variant=debug,release ${{ startsWith(matrix.compiler, 'clang++-18') && 'address-sanitizer=norecover undefined-sanitizer=norecover' || '' }} + working-directory: ../boost-root/libs/regex/test + macos: + runs-on: macos-latest + strategy: + fail-fast: false + matrix: + toolset: [ clang ] + standard: [ 11, 14, 17, 2a ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: Generate headers + run: ./b2 headers + working-directory: ../boost-root + - name: Config info install + run: ../../../b2 config_info_travis_install toolset=${{ matrix.toolset }} cxxstd=${{ matrix.standard }} + working-directory: ../boost-root/libs/config/test + - name: Config info + run: ./config_info_travis + working-directory: ../boost-root/libs/config/test + - name: Test + run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.standard }} + working-directory: ../boost-root/libs/regex/test + windows_gcc: + runs-on: windows-latest + defaults: + run: + shell: cmd + env: + ARGS: toolset=${{ matrix.toolset }} address-model=64 cxxstd=${{ matrix.standard }} + strategy: + fail-fast: false + matrix: + toolset: [ gcc ] + standard: [ 11, 14, 17, 2a ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: bootstrap + working-directory: ../boost-root + - name: Generate headers + run: b2 headers + working-directory: ../boost-root + - name: Config info install + run: ..\..\..\b2 config_info_travis_install %ARGS% + working-directory: ../boost-root/libs/config/test + - name: Config info + run: config_info_travis + working-directory: ../boost-root/libs/config/test + - name: Test + run: ..\..\..\b2 --hash %ARGS% + working-directory: ../boost-root/libs/regex/test + windows_msvc_14_3: + runs-on: windows-2025 + defaults: + run: + shell: cmd + env: + ARGS: toolset=${{ matrix.toolset }} address-model=64 cxxstd=${{ matrix.standard }} + strategy: + fail-fast: false + matrix: + toolset: [ msvc-14.3 ] + standard: [ 14, 17, 20, latest ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - uses: TheMrMilchmann/setup-msvc-dev@v3 + with: + arch: x64 + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: bootstrap + working-directory: ../boost-root + - name: Generate headers + run: b2 headers + working-directory: ../boost-root + - name: Config info install + run: ..\..\..\b2 config_info_travis_install %ARGS% + working-directory: ../boost-root/libs/config/test + - name: Config info + run: config_info_travis + working-directory: ../boost-root/libs/config/test + - name: Test + run: ..\..\..\b2 --hash %ARGS% + working-directory: ../boost-root/libs/regex/test + - name: Module Test + run: msvc_test.bat + working-directory: ../boost-root/libs/regex/test/module + ubuntu-cmake-install: + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: CMake Test + working-directory: ../boost-root + run: | + mkdir __build__ && cd __build__ + cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="regex;core" -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=~/.local .. + cmake --build . --target install + cd ../libs/regex/test/cmake_install_test && mkdir __build__ && cd __build__ + cmake -DCMAKE_INSTALL_PREFIX=~/.local .. + cmake --build . + cmake --build . --target check + ubuntu-cmake-check: + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: '0' + - name: Install packages + run: sudo apt install libicu-dev + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: cp -r $GITHUB_WORKSPACE/* libs/regex + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex + working-directory: ../boost-root + - name: Bootstrap + run: ./bootstrap.sh + working-directory: ../boost-root + - name: CMake Test + working-directory: ../boost-root/libs/regex/test + run: | + cd cmake_subdir_test && mkdir __build__ && cd __build__ + cmake .. + cmake --build . + cmake --build . --target check + rm -rf * + echo Standalone configuration + cmake -DBOOST_REGEX_STANDALONE=on .. + cmake --build . + cmake --build . --target check + cd ../../cmake_subdir_test_icu && mkdir __build__ && cd __build__ + cmake .. + cmake --build . + cmake --build . --target check + rm -rf * + echo Standalone configuration + cmake -DBOOST_REGEX_STANDALONE=on .. + cmake --build . + cmake --build . --target check + + posix-cmake-use: + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + - os: macos-latest + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v6 + + - name: Install packages + if: matrix.install + run: sudo apt-get -y install ${{matrix.install}} + + - name: Setup Boost + run: | + echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY + LIBRARY=${GITHUB_REPOSITORY#*/} + echo LIBRARY: $LIBRARY + echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV + echo GITHUB_BASE_REF: $GITHUB_BASE_REF + echo GITHUB_REF: $GITHUB_REF + REF=${GITHUB_BASE_REF:-$GITHUB_REF} + REF=${REF#refs/heads/} + echo REF: $REF + BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true + echo BOOST_BRANCH: $BOOST_BRANCH + cd .. + git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root + cd boost-root + cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY + git submodule update --init tools/boostdep + python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY + ./bootstrap.sh + ./b2 -d0 headers + + - name: Install Boost --with-library + run: | + cd ../boost-root + ./b2 -j3 --with-$LIBRARY --prefix=$HOME/.local install + + - name: Use the installed library + run: | + cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__ + cmake -DCMAKE_INSTALL_PREFIX=~/.local .. + cmake --build . + ctest --output-on-failure --no-tests=error + + windows-cmake-use: + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v6 + + - name: Setup Boost + shell: cmd + run: | + echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY% + for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi + echo LIBRARY: %LIBRARY% + echo LIBRARY=%LIBRARY%>>%GITHUB_ENV% + echo GITHUB_BASE_REF: %GITHUB_BASE_REF% + echo GITHUB_REF: %GITHUB_REF% + if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF% + set BOOST_BRANCH=develop + for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master + echo BOOST_BRANCH: %BOOST_BRANCH% + cd .. + git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + cd boost-root + xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\ + git submodule update --init tools/boostdep + python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY% + cmd /c bootstrap + b2 -d0 headers + + - name: Install Boost --with-library + shell: cmd + run: | + cd ../boost-root + b2 -j3 --with-%LIBRARY% install + + - name: Use the installed library (Debug) + shell: cmd + run: | + cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__ + cmake -DBoost_ROOT=C:/Boost .. + cmake --build . --config Debug + ctest --output-on-failure --no-tests=error -C Debug + + - name: Use the installed library (Release) + shell: cmd + run: | + cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__ + cmake --build . --config Release + ctest --output-on-failure --no-tests=error -C Release diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml new file mode 100644 index 000000000..a07bf03e5 --- /dev/null +++ b/.github/workflows/code-coverage.yml @@ -0,0 +1,133 @@ +# +# Copyright (c) 2026 Sam Darwin +# Copyright (c) 2026 Alexander Grund +# +# Distributed under the Boost Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +# + +# Instructions +# +# After running this workflow successfully, go to https://github.com/ORGANIZATION/REPO/settings/pages +# and enable github pages on the code-coverage branch. +# The pages will be hosted at https://ORGANIZATION.github.io/REPO +# + +name: Code Coverage + +permissions: + contents: + write + +on: + push: + branches: + - master + - develop + paths: + - 'src/**' + - 'include/**' + - 'build/**' + - '.github/workflows/code-coverage.yml' + workflow_dispatch: + +concurrency: + group: code-coverage-pages + cancel-in-progress: false + +env: + GIT_FETCH_JOBS: 8 + NET_RETRY_COUNT: 5 + # Commit title of the automatically created commits + GCOVR_COMMIT_MSG: "Update coverage data" + # Should branch coverage be reported? Default to no. + BOOST_BRANCH_COVERAGE: 0 + # Dependencies: + # EXTRA_BOOST_LIBRARIES: "myorg/myrepo other/repo3" + +jobs: + build: + defaults: + run: + shell: bash + + strategy: + fail-fast: false + matrix: + include: + - runs-on: "ubuntu-24.04" + name: Coverage + cxxstd: "20" + gcovr_script: './ci-automation/scripts/lcov-jenkins-gcc-13.sh --only-gcovr' + + name: ${{ matrix.name }} + runs-on: ${{ matrix.runs-on }} + timeout-minutes: 120 + + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Check for code-coverage Branch + run: | + set -xe + git config --global user.name cppalliance-bot + git config --global user.email cppalliance-bot@example.com + git fetch origin + if git branch -r | grep origin/code-coverage; then + echo "The code-coverage branch exists. Continuing." + else + echo "The code-coverage branch does not exist. Creating it." + git switch --orphan code-coverage + git commit --allow-empty -m "$GCOVR_COMMIT_MSG" + git push origin code-coverage + git checkout "$GITHUB_REF_NAME" + fi + + - name: Install Python + uses: actions/setup-python@v6 + with: + python-version: '3.13' + + - name: Install Python packages + run: pip install gcovr + + - name: Checkout ci-automation + uses: actions/checkout@v6 + with: + repository: cppalliance/ci-automation + path: ci-automation + + - name: Build and run tests & collect coverage data + run: | + set -xe + ls -al + export ORGANIZATION=${GITHUB_REPOSITORY_OWNER} + export REPONAME=$(basename ${GITHUB_REPOSITORY}) + export B2_CXXSTD=${{matrix.cxxstd}} + ${{matrix.gcovr_script}} + + - name: Checkout GitHub pages branch + uses: actions/checkout@v6 + with: + ref: code-coverage + path: gh_pages_dir + + - name: Copy gcovr results + run: | + set -xe + pwd + ls -al + touch gh_pages_dir/.nojekyll # Prevent GH pages from treating these files as Jekyll pages. + mkdir -p gh_pages_dir/develop + mkdir -p gh_pages_dir/master + rm -rf "gh_pages_dir/${GITHUB_REF_NAME}/gcovr" + cp -rp gcovr "gh_pages_dir/${GITHUB_REF_NAME}/" + echo -e "\n\n\n\ndevelop
\nmaster
\n\n\n" > gh_pages_dir/index.html + # In the future: echo -e "\n\n\n\ngcovr
\n\n\n" > gh_pages_dir/develop/index.html + echo -e "\n\n\n\n\n\n\n" > gh_pages_dir/develop/index.html + cp gh_pages_dir/develop/index.html gh_pages_dir/master/index.html + cd gh_pages_dir + git add . + git commit --amend -m "$GCOVR_COMMIT_MSG" + git push -f origin code-coverage diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2bc5872de..000000000 --- a/.travis.yml +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 2016, 2017 Peter Dimov -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) - -language: cpp - -sudo: false - -python: "2.7" - -os: - - linux - - osx - -branches: - only: - - master - - develop - -env: - matrix: - - BOGUS_JOB=true - -matrix: - - exclude: - - env: BOGUS_JOB=true - - include: - - os: linux - env: TOOLSET=gcc COMPILER=g++ CXXSTD=03 - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 - addons: - apt: - packages: - - g++-4.7 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 - addons: - apt: - packages: - - g++-4.8 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 - addons: - apt: - packages: - - g++-4.9 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14 - addons: - apt: - packages: - - g++-5 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11 - addons: - apt: - packages: - - g++-6 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=14,1z - addons: - apt: - packages: - - g++-6 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11 CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-6 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-6 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11 CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-7 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-7 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11 CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-8 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu - addons: - apt: - packages: - - g++-8 - sources: - - ubuntu-toolchain-r-test - - - os: linux - env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11 - addons: - apt: - packages: - - clang-3.5 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.5 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11 - addons: - apt: - packages: - - clang-3.6 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.6 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11 - addons: - apt: - packages: - - clang-3.7 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.7 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11 - addons: - apt: - packages: - - clang-3.8 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.8 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=14,1z - addons: - apt: - packages: - - clang-3.8 - - libstdc++-4.9-dev - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.8 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11 - addons: - apt: - packages: - - clang-3.9 - - libstdc++-4.9-dev - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.9 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=14,1z - addons: - apt: - packages: - - clang-3.9 - - libstdc++-4.9-dev - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.9 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 - osx_image: xcode8.3 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=14,1z - osx_image: xcode8.3 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 - osx_image: xcode8.2 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 - osx_image: xcode8.1 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 - osx_image: xcode8.0 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 - osx_image: xcode7.3 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 - osx_image: xcode6.4 - -install: - - cd .. - - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root - - cd boost-root - - git submodule update --init tools/build - - git submodule update --init tools/boost_install - - git submodule update --init libs/headers - - git submodule update --init libs/config - - git submodule update --init libs/core - - git submodule update --init libs/container_hash - - git submodule update --init libs/detail - - git submodule update --init libs/smart_ptr - - git submodule update --init libs/predef - - git submodule update --init libs/assert - - git submodule update --init libs/throw_exception - - git submodule update --init libs/mpl - - git submodule update --init libs/type_traits - - git submodule update --init libs/static_assert - - git submodule update --init libs/integer - - git submodule update --init libs/preprocessor - - git submodule update --init libs/functional - - git submodule update --init libs/program_options - - git submodule update --init libs/chrono - - git submodule update --init libs/system - - git submodule update --init libs/thread - - git submodule update --init libs/winapi - - git submodule update --init libs/move - - git submodule update --init libs/date_time - - git submodule update --init libs/ratio - - git submodule update --init libs/iterator - - git submodule update --init libs/range - - git submodule update --init libs/any - - git submodule update --init libs/concept_check - - git submodule update --init libs/array - - git submodule update --init libs/timer - - git submodule update --init libs/bind - - git submodule update --init libs/utility - - git submodule update --init libs/io - - git submodule update --init libs/intrusive - - git submodule update --init libs/container - - git submodule update --init libs/tuple - - git submodule update --init libs/exception - - git submodule update --init libs/function - - git submodule update --init libs/type_index - - git submodule update --init libs/lexical_cast - - git submodule update --init libs/numeric - - git submodule update --init libs/math - - git submodule update --init libs/tokenizer - - git submodule update --init libs/optional - - git submodule update --init libs/atomic - - git submodule update --init libs/rational - - git submodule update --init libs/algorithm - - cp -r $TRAVIS_BUILD_DIR/* libs/regex - - ./bootstrap.sh - - ./b2 headers - -script: - - |- - echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam - - IFS=',' - - for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done - - unset IFS - - ./b2 -j3 libs/regex/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT - -notifications: - email: - on_success: always diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..ccd422301 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,69 @@ +# Copyright 2018 Mike Dev +# Copyright 2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt + +# We support CMake 3.5, but prefer 3.16 policies and behavior +cmake_minimum_required(VERSION 3.5...3.16) + +project(boost_regex VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) + +add_library(boost_regex INTERFACE) +add_library(Boost::regex ALIAS boost_regex) + +target_include_directories(boost_regex INTERFACE include) + +option(BOOST_REGEX_STANDALONE "Boost.Regex: Enable Standalone Mode (i.e. no Boost dependencies)") + +if(NOT BOOST_REGEX_STANDALONE) + + target_link_libraries(boost_regex + INTERFACE + Boost::config + Boost::throw_exception + Boost::predef + Boost::assert + ) + +else() + + target_compile_definitions(boost_regex + INTERFACE BOOST_REGEX_STANDALONE + ) + +endif() + +find_package(ICU COMPONENTS data i18n uc QUIET) +#option(BOOST_REGEX_ENABLE_ICU "Boost.Regex: enable ICU support" ${ICU_FOUND}) + +if(ICU_FOUND) + + add_library(boost_regex_icu INTERFACE) + add_library(Boost::regex_icu ALIAS boost_regex_icu) + + target_include_directories(boost_regex_icu INTERFACE include) + + if(NOT BOOST_REGEX_STANDALONE) + + target_link_libraries(boost_regex_icu + INTERFACE + Boost::config + Boost::throw_exception + Boost::predef + Boost::assert + ) + + else() + + target_compile_definitions(boost_regex_icu + INTERFACE BOOST_REGEX_STANDALONE + ) + + endif() + + find_package(ICU COMPONENTS data i18n uc REQUIRED) + + target_link_libraries(boost_regex_icu INTERFACE ICU::data ICU::i18n ICU::uc) + +endif() + diff --git a/README.md b/README.md index 2c03881d1..65b99b44d 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,17 @@ and offers some advantages to, the standard version. The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/regex/index.html). +## Standalone Mode ## + + This library may now be used in "standalone" mode without the rest of the Boost C++ libraries, in order to do this you must either: + +* Have a C++17 compiler that supports __has_include, in this case if is not present then the library will automoatically enter standalone mode. Or: +* Define BOOST_REGEX_STANDALONE when building. + +The main difference between the 2 modes, is that when Boost.Config is present the library will automatically configure itself around various compiler defects. In particular in order to use the library with exception support turned off, you will either need a copy of Boost.Config in your include path, or else manually define BOOST_NO_EXCEPTIONS when building. + +In any event, to obtain a standalone version of this library, simply download a .zip of the "master" branch of this repository. + ## Support, bugs and feature requests ## Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/regex/issues) diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 8ab4c68ce..000000000 --- a/appveyor.yml +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 2016 Peter Dimov -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) - -version: 1.0.{build}-{branch} - -shallow_clone: true - -branches: - only: - - master - - develop - -platform: - - x64 - -environment: - matrix: - - ARGS: --toolset=msvc-9.0 address-model=32 - - ARGS: --toolset=msvc-10.0 address-model=32 - - ARGS: --toolset=msvc-11.0 address-model=32 - - ARGS: --toolset=msvc-12.0 address-model=32 - - ARGS: --toolset=msvc-14.0 address-model=32 - - ARGS: --toolset=msvc-12.0 address-model=64 - - ARGS: --toolset=msvc-14.0 address-model=64 - - ARGS: --toolset=msvc-14.0 address-model=64 cxxstd=latest - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARGS: --toolset=msvc-14.1 address-model=64 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARGS: --toolset=msvc-14.1 address-model=32 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARGS: --toolset=msvc-14.1 address-model=64 cxxstd=17 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARGS: --toolset=msvc-14.1 address-model=64 cxxstd=latest cxxflags=-permissive- - - ARGS: --toolset=gcc address-model=64 - PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% - - ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z - PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% - - ARGS: --toolset=gcc address-model=32 - PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH% - - ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition - PATH: C:\MinGW\bin;%PATH% - - ARGS: --toolset=gcc address-model=32 define=_POSIX_C_SOURCE=200112L threadapi=pthread link=static - PATH: C:\cygwin\bin;%PATH% - - ARGS: --toolset=gcc address-model=64 define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99 threadapi=pthread link=static - PATH: C:\cygwin64\bin;%PATH% - -install: - - cd .. - - git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root - - cd boost-root - - git submodule update --init tools/build - - git submodule update --init tools/boost_install - - git submodule update --init libs/headers - - git submodule update --init libs/config - - git submodule update --init libs/core - - git submodule update --init libs/container_hash - - git submodule update --init libs/detail - - git submodule update --init libs/smart_ptr - - git submodule update --init libs/predef - - git submodule update --init libs/assert - - git submodule update --init libs/throw_exception - - git submodule update --init libs/mpl - - git submodule update --init libs/type_traits - - git submodule update --init libs/static_assert - - git submodule update --init libs/integer - - git submodule update --init libs/preprocessor - - git submodule update --init libs/functional - - git submodule update --init libs/program_options - - git submodule update --init libs/chrono - - git submodule update --init libs/system - - git submodule update --init libs/thread - - git submodule update --init libs/winapi - - git submodule update --init libs/move - - git submodule update --init libs/date_time - - git submodule update --init libs/ratio - - git submodule update --init libs/iterator - - git submodule update --init libs/range - - git submodule update --init libs/any - - git submodule update --init libs/concept_check - - git submodule update --init libs/array - - git submodule update --init libs/timer - - git submodule update --init libs/bind - - git submodule update --init libs/utility - - git submodule update --init libs/io - - git submodule update --init libs/intrusive - - git submodule update --init libs/container - - git submodule update --init libs/tuple - - git submodule update --init libs/exception - - git submodule update --init libs/function - - git submodule update --init libs/type_index - - git submodule update --init libs/lexical_cast - - git submodule update --init libs/numeric - - git submodule update --init libs/math - - git submodule update --init libs/tokenizer - - git submodule update --init libs/optional - - git submodule update --init libs/atomic - - git submodule update --init libs/rational - - git submodule update --init libs/algorithm - - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\regex - - bootstrap - - b2 headers - -build: off - -test_script: - - cd libs\config\test - - ..\..\..\b2 config_info_travis_install %ARGS% - - config_info_travis - - cd ..\..\regex\test - - ..\..\..\b2 -j3 %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..85d539ed3 --- /dev/null +++ b/build.jam @@ -0,0 +1,29 @@ +# Copyright René Ferdinand Rivera Morell 2023-2024 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +require-b2 5.2 ; + +constant boost_dependencies : + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/predef//boost_predef + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits ; + +project /boost/regex + : common-requirements + include + ; + +explicit + [ alias boost_regex : : : : $(boost_dependencies) ] + [ alias boost_regex_old : build//boost_regex ] + [ alias all : boost_regex boost_regex_old example test ] + ; + +call-if : boost-library regex + : install boost_regex boost_regex_old + ; diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 58fd1fbfc..c67a1b278 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -1,14 +1,20 @@ # copyright John Maddock 2003 -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. import modules ; import testing ; +import errors ; -project : requirements - # default to all warnings on: - all +constant boost_dependencies_private : + /boost/core//boost_core + ; + +project + : default-build all + : common-requirements $(boost_dependencies) + : requirements $(boost_dependencies_private) ; local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ; @@ -16,13 +22,13 @@ local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ; rule path_options ( properties * ) { local result ; - if 64 in $(properties) && msvc in $(properties) + if 64 in $(properties) && msvc in $(properties) { - result = $(ICU_PATH)/bin64 $(ICU_PATH)/lib64 ; + result = $(ICU_PATH)/bin64 $(ICU_PATH)/lib64 ; } else { - result = $(ICU_PATH)/bin $(ICU_PATH)/lib ; + result = $(ICU_PATH)/bin $(ICU_PATH)/lib ; } return $(result) ; } @@ -32,19 +38,31 @@ rule path_options ( properties * ) # if ! $(disable-icu) { + if [ modules.peek : ICU_LINK ] + { + errors.user-error : "The ICU_LINK option is no longer supported by the Boost.Regex build - please refer to the documentation for equivalent options" ; + } if [ modules.peek : ICU_PATH ] - { + { ICU_PATH = [ modules.peek : ICU_PATH ] ; } - if [ modules.peek : ICU_LINK ] - { - ICU_LINK = [ modules.peek : ICU_LINK ] ; + if [ modules.peek : ICU_ICUUC_NAME ] + { + ICU_ICUUC_NAME = [ modules.peek : ICU_ICUUC_NAME ] ; + } + if [ modules.peek : ICU_ICUDT_NAME ] + { + ICU_ICUDT_NAME = [ modules.peek : ICU_ICUDT_NAME ] ; + } + if [ modules.peek : ICU_ICUIN_NAME ] + { + ICU_ICUIN_NAME = [ modules.peek : ICU_ICUIN_NAME ] ; } - if $(ICU_LINK) + if $(ICU_ICUUC_NAME) { - ICU_OPTS = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin BOOST_HAS_ICU=1 shared ; + lib icuuc : : $(ICU_ICUUC_NAME) @path_options ; } else { @@ -55,7 +73,13 @@ if ! $(disable-icu) lib icuuc : : msvc debug sicuucd static @path_options ; lib icuuc : : intel windows debug sicuucd static @path_options ; lib icuuc : : this_is_an_invalid_library_name ; - + } + if $(ICU_ICUDT_NAME) + { + lib icudt : : $(ICU_ICUDT_NAME) @path_options ; + } + else + { lib icudt : : icudata shared @path_options ; lib icudt : : icudt msvc shared @path_options ; lib icudt : : icudt intel windows shared @path_options ; @@ -63,7 +87,13 @@ if ! $(disable-icu) lib icudt : : sicudt msvc static @path_options ; lib icudt : : sicudt intel windows static @path_options ; lib icudt : : this_is_an_invalid_library_name ; - + } + if $(ICU_ICUIN_NAME) + { + lib icuin : : $(ICU_ICUIN_NAME) @path_options ; + } + else + { lib icuin : : icui18n shared @path_options ; lib icuin : : msvc debug icuind shared @path_options ; lib icuin : : msvc icuin shared @path_options ; @@ -75,59 +105,59 @@ if ! $(disable-icu) lib icuin : : intel windows debug sicuind static @path_options ; lib icuin : : intel windows sicuin static @path_options ; lib icuin : : this_is_an_invalid_library_name ; + } - ICU_OPTS = - $(ICU_PATH)/include - shared:icuuc/shared - shared:icudt/shared - shared:icuin/shared - static:icuuc - static:icudt - static:icuin - BOOST_HAS_ICU=1 - static:U_STATIC_IMPLEMENTATION=1 - ; + ICU_OPTS = + $(ICU_PATH)/include + shared:icuuc/shared + shared:icudt/shared + shared:icuin/shared + static:icuuc + static:icudt + static:icuin + windows,clang:"advapi32.lib" + BOOST_HAS_ICU=1 + static:U_STATIC_IMPLEMENTATION=1 + ; + + if [ modules.peek : ICU_DATA_DIR ] + { + rule data-dir-options ( properties * ) + { + local result ; + local data_dir = [ modules.peek : ICU_DATA_DIR ] ; + if emscripten in $(properties) + { + result = ICU_DATA_DIR=\\\"/$(data_dir:BS)\\\" + "--embed-file $(data_dir)@/$(data_dir:BS)" + ; + } + else + { + result = ICU_DATA_DIR=\\\"$(data_dir)\\\" ; + } + return $(result) ; + } + + ICU_OPTS += @data-dir-options ; } } -unit-test has_icu : has_icu_test.cpp : $(ICU_OPTS) ; +exe has_icu : has_icu_test.cpp : $(ICU_OPTS) ; explicit has_icu ; alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ; -SOURCES = - c_regex_traits.cpp - cpp_regex_traits.cpp - cregex.cpp - fileiter.cpp - icu.cpp - instances.cpp +SOURCES = posix_api.cpp - regex.cpp - regex_debug.cpp - regex_raw_buffer.cpp - regex_traits_defaults.cpp - static_mutex.cpp - w32_regex_traits.cpp - wc_regex_traits.cpp wide_posix_api.cpp - winstances.cpp - usinstances.cpp ; - +; lib boost_regex : ../src/$(SOURCES) icu_options - : - shared:BOOST_REGEX_DYN_LINK=1 - gcc-cygwin:static + : + shared:BOOST_REGEX_DYN_LINK=1 + gcc-cygwin:static + : : + BOOST_REGEX_NO_LIB=1 ; - -boost-install boost_regex ; - - - - - - - - diff --git a/build/has_icu_test.cpp b/build/has_icu_test.cpp index 31c964e71..36a919b4b 100644 --- a/build/has_icu_test.cpp +++ b/build/has_icu_test.cpp @@ -28,6 +28,10 @@ void print_error(UErrorCode err, const char* func) int main() { +#ifdef ICU_DATA_DIR + ::u_setDataDirectory(ICU_DATA_DIR); +#endif + // To detect possible binary mismatches between the installed ICU build, and whatever // C++ std lib's we're using, we need to: // * Make sure we call ICU C++ API's diff --git a/doc/configuration.qbk b/doc/configuration.qbk index 080adf1c1..3439eb15c 100644 --- a/doc/configuration.qbk +++ b/doc/configuration.qbk @@ -17,6 +17,22 @@ or platform) then [@../../../config/index.html Boost.Config] has a configure scr [endsect] +[section:standalone Use in Standalone Mode (without the rest of Boost)] + +This library may now be used in "standalone" mode without the rest of the Boost C++ libraries, +in order to do this you must either: + +* Have a C++17 compiler that supports `__has_include`, in this case if `` is *not* present +then the library will automoatically enter standalone mode. Or: +* Define BOOST_REGEX_STANDALONE when building. + +The main difference between the 2 modes, is that when Boost.Config is present the library will automatically +configure itself around various compiler defects. In particular in order to use the library with exception support +turned off, you will either need a copy of Boost.Config in your include path, or else manually define BOOST_NO_EXCEPTIONS +when building. + +[endsect] + [section:locale Locale and traits class selection] The following macros (see [@../../../../boost/regex/user.hpp user.hpp]) control how Boost.Regex interacts with @@ -31,43 +47,11 @@ the user's locale: [endsect] - -[section:linkage Linkage Options] - -[table -[[macro][description]] -[[BOOST_REGEX_DYN_LINK][For Microsoft and Borland C++ builds, this tells Boost.Regex that it should link to the dll build of the Boost.Regex. By default boost.regex will link to its static library build, even if the dynamic C runtime library is in use.]] -[[BOOST_REGEX_NO_LIB][For Microsoft and Borland C++ builds, this tells Boost.Regex that it should not automatically select the library to link to.]] -[[BOOST_REGEX_NO_FASTCALL][For Microsoft builds, this tells Boost.Regex to use the `__cdecl` calling convention rather than `__fastcall`. Useful if you want to use the same library from both managed and unmanaged code.]] -] - -[endsect] - -[section:algorithm Algorithm Selection] - -[table -[[macro][description]] -[[BOOST_REGEX_RECURSIVE][Tells Boost.Regex to use a stack-recursive matching algorithm. This is generally the fastest option (although there is very little in it), but can cause stack overflow in extreme cases, on Win32 this can be handled safely, but this is not the case on other platforms.]] -[[BOOST_REGEX_NON_RECURSIVE][Tells Boost.Regex to use a non-stack recursive matching algorithm, this can be slightly slower than the alternative, but is always safe no matter how pathological the regular expression. This is the default on non-Win32 platforms.]] -] - -[endsect] - [section:tuning Algorithm Tuning] -The following option applies only if BOOST_REGEX_RECURSIVE is set. - -[table -[[macro][description]] -[[BOOST_REGEX_HAS_MS_STACK_GUARD][Tells Boost.Regex that Microsoft style __try - __except blocks are supported, and can be used to safely trap stack overflow.]] -] - - -The following options apply only if BOOST_REGEX_NON_RECURSIVE is set. - [table [[macro][description]] -[[BOOST_REGEX_BLOCKSIZE][In non-recursive mode, Boost.Regex uses largish blocks of memory to act as a stack for the state machine, the larger the block size then the fewer allocations that will take place. This defaults to 4096 bytes, which is large enough to match the vast majority of regular expressions without further allocations, however, you can choose smaller or larger values depending upon your platforms characteristics.]] +[[BOOST_REGEX_BLOCKSIZE][Boost.Regex uses largish blocks of memory to act as a stack for the state machine, the larger the block size then the fewer allocations that will take place. This defaults to 4096 bytes, which is large enough to match the vast majority of regular expressions without further allocations, however, you can choose smaller or larger values depending upon your platforms characteristics.]] [[BOOST_REGEX_MAX_BLOCKS][Tells Boost.Regex how many blocks of size BOOST_REGEX_BLOCKSIZE it is permitted to use. If this value is exceeded then Boost.Regex will stop trying to find a match and throw a std::runtime_error. Defaults to 1024, don't forget to tweak this value if you alter BOOST_REGEX_BLOCKSIZE by much.]] [[BOOST_REGEX_MAX_CACHE_BLOCKS][Tells Boost.Regex how many memory blocks to store in it's internal cache - memory blocks are taken from this cache rather than by calling diff --git a/doc/headers.qbk b/doc/headers.qbk index d7b8e7ccc..23500a529 100644 --- a/doc/headers.qbk +++ b/doc/headers.qbk @@ -10,8 +10,7 @@ There are two main headers used by this library: `` provides full access to the main template library, while `` -provides access to the (deprecated) high level class RegEx, and the -POSIX API functions. +provides access to the POSIX API functions. There is also a header containing only forward declarations `` for use when an interface is dependent upon diff --git a/doc/history.qbk b/doc/history.qbk index 853190263..8cc3b691f 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -8,12 +8,35 @@ [section:history History] -New issues should be submitted at [@http://svn.boost.org svn.boost.org] - don't forget to include your -email address in the ticket! +New issues should be submitted at [@https://github.com/boostorg/regex/issues https://github.com/boostorg/regex/issues] -Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here]. +Currently open issues can be viewed [@https://github.com/boostorg/regex/issues?q=is%3Aopen+is%3Aissue here]. -All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here]. +All issues including closed ones can be viewed [@https://github.com/boostorg/regex/issues?q=is%3Aissue+is%3Aclosed here]. + +[h4 Boost.Regex-8.0.0 (Boost-1.86.0)] + +* BREAKING CHANGE: deprecated C++03 support has now been removed. +* Fixed some low-impact security issues: [@https://github.com/boostorg/regex/pull/204 204]. + +[h4 Boost.Regex-7.0.1 (boost-1.79.0)] + +* Minor fix for setting building with -DBOOST_REGEX_MAX_CACHE_BLOCKS=0 and `` present. + +[h4 Boost.Regex-7.0.0 (Boost-1.78.0)] + +* [*Breaking Change:] Change \B to be the opposite of \b as per Perl behaviour. +* Change w32_regex_traits.hpp so that windows.h is no longer included. +* Fxed fuzzing related issues [@https://github.com/boostorg/regex/issues/156 #151], [@https://github.com/boostorg/regex/issues/156 #152], [@https://github.com/boostorg/regex/issues/156 #153], [@https://github.com/boostorg/regex/issues/156 #156]. + +[h4 Boost.Regex-6.0.0 (Boost-1.77.0)] + +* Big change to header only library. +* Deprecate C++03 support. + +[h4 Boost.Regex-5.1.4 (Boost-172.0)] + +* Minor build fixes, see [@https://github.com/boostorg/regex/issues/89 #89]. [h4 Boost.Regex-5.1.3 (Boost-1.64.0)] diff --git a/doc/html/boost_regex/background.html b/doc/html/boost_regex/background.html index 997628ff8..e0b085436 100644 --- a/doc/html/boost_regex/background.html +++ b/doc/html/boost_regex/background.html @@ -1,13 +1,14 @@ - + Background Information - - - + + + + @@ -26,7 +27,7 @@ - -
- - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/background/acknowledgements.html b/doc/html/boost_regex/background/acknowledgements.html index 9d8c66212..72232ccf6 100644 --- a/doc/html/boost_regex/background/acknowledgements.html +++ b/doc/html/boost_regex/background/acknowledgements.html @@ -1,13 +1,14 @@ - + Acknowledgements - - + + - + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -48,13 +49,13 @@

The following people have all contributed useful comments or fixes: Dave - Abrahams, Mike Allison, Edan Ayal, Jayashree Balasubramanian, Jan Bölsche, + Abrahams, Mike Allison, Edan Ayal, Jayashree Balasubramanian, Jan Bölsche, Beman Dawes, Paul Baxter, David Bergman, David Dennerline, Edward Diener, Peter Dimov, Robert Dunn, Fabio Forno, Tobias Gabrielsson, Rob Gillen, Marc Gregoire, Chris Hecker, Nick Hodapp, Jesse Jones, Martin Jost, Boris Krasnovskiy, Jan Hermelink, Max Leung, Wei-hao Lin, Jens Maurer, Richard Peters, Heiko Schmidt, Jason Shirk, Gerald Slacik, Scobie Smith, Mike Smyth, Alexander - Sokolovsky, Hervé Poirier, Michael Raykh, Marc Recht, Scott VanCamp, Bruno + Sokolovsky, Hervé Poirier, Michael Raykh, Marc Recht, Scott VanCamp, Bruno Voigt, Alexey Voinov, Jerry Waldorf, Rob Ward, Lealon Watts, John Wismar, Thomas Witt and Yuval Yosef.

@@ -71,17 +72,14 @@ any comments or spot any bugs, please get in touch.

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/background/examples.html b/doc/html/boost_regex/background/examples.html index fec2107f1..de83fd11e 100644 --- a/doc/html/boost_regex/background/examples.html +++ b/doc/html/boost_regex/background/examples.html @@ -1,13 +1,14 @@ - + Test and Example Programs - - + + + @@ -258,14 +259,11 @@
: regex_split example: spit out linked URL's.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/background/faq.html b/doc/html/boost_regex/background/faq.html index 620cecd09..f87f4cac2 100644 --- a/doc/html/boost_regex/background/faq.html +++ b/doc/html/boost_regex/background/faq.html @@ -1,13 +1,14 @@ - + FAQ - - + + + @@ -139,14 +140,11 @@ functions.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/background/futher.html b/doc/html/boost_regex/background/futher.html index 5212784cd..cac7f7c41 100644 --- a/doc/html/boost_regex/background/futher.html +++ b/doc/html/boost_regex/background/futher.html @@ -1,13 +1,14 @@ - + References and Further Information - - + + + @@ -60,14 +61,11 @@ respective web sites.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/background/headers.html b/doc/html/boost_regex/background/headers.html index caa5646b3..fd0945bd6 100644 --- a/doc/html/boost_regex/background/headers.html +++ b/doc/html/boost_regex/background/headers.html @@ -1,13 +1,14 @@ - + Headers - - + + + @@ -29,8 +30,7 @@

There are two main headers used by this library: <boost/regex.hpp> provides full access to the main template library, while <boost/cregex.hpp> - provides access to the (deprecated) high level class RegEx, and the POSIX - API functions. + provides access to the POSIX API functions.

There is also a header containing only forward declarations <boost/regex_fwd.hpp> @@ -38,14 +38,11 @@ not need the full definitions.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/background/history.html b/doc/html/boost_regex/background/history.html index f65dc59f3..1994c6bb0 100644 --- a/doc/html/boost_regex/background/history.html +++ b/doc/html/boost_regex/background/history.html @@ -1,12 +1,13 @@ - + History - - + + + @@ -26,17 +27,79 @@ History

- New issues should be submitted at svn.boost.org - - don't forget to include your email address in the ticket! + New issues should be submitted at https://github.com/boostorg/regex/issues

- Currently open issues can be viewed here. + Currently open issues can be viewed here.

- All issues including closed ones can be viewed here. + All issues including closed ones can be viewed here.

+ Boost.Regex-8.0.0 + (Boost-1.86.0) +
+
    +
  • + BREAKING CHANGE: deprecated C++03 support has now been removed. +
  • +
  • + Fixed some low-impact security issues: 204. +
  • +
+
+ + Boost.Regex-7.0.1 + (boost-1.79.0) +
+
  • + Minor fix for setting building with -DBOOST_REGEX_MAX_CACHE_BLOCKS=0 + and <atomic> present. +
+
+ + Boost.Regex-7.0.0 + (Boost-1.78.0) +
+
    +
  • + Breaking Change: Change \B to be the + opposite of \b as per Perl behaviour. +
  • +
  • + Change w32_regex_traits.hpp so that windows.h is no longer included. +
  • +
  • + Fxed fuzzing related issues #151, + #152, + #153, + #156. +
  • +
+
+ + Boost.Regex-6.0.0 + (Boost-1.77.0) +
+
    +
  • + Big change to header only library. +
  • +
  • + Deprecate C++03 support. +
  • +
+
+ + Boost.Regex-5.1.4 + (Boost-172.0) +
+
  • + Minor build fixes, see #89. +
+
+ Boost.Regex-5.1.3 (Boost-1.64.0)
@@ -50,7 +113,7 @@
- + Boost.Regex-5.1.2 (Boost-1.62.0)
@@ -71,7 +134,7 @@
- + Boost.Regex-5.1.1 (Boost-1.61.0)
@@ -79,7 +142,7 @@
Change to lockfree implementation of memory cache, see PR#23.
- + Boost.Regex-5.1.0 (Boost-1.60.0)
@@ -102,7 +165,7 @@
- + Boost.Regex-5.0.1 (Boost-1.58.0)
@@ -135,7 +198,7 @@
- + Boost.Regex-5.0.0 (Boost-1.56.0)
@@ -168,14 +231,14 @@
- + Boost-1.54

Fixed issue #8569.

- + Boost-1.53

@@ -183,7 +246,7 @@

#7644.

- + Boost-1.51

@@ -193,7 +256,7 @@

#6346.

- + Boost-1.50

@@ -202,7 +265,7 @@

expression.

- + Boost-1.48

@@ -212,7 +275,7 @@

#5736.

- + Boost 1.47
@@ -225,7 +288,7 @@
#5504.

- + Boost 1.44
@@ -244,7 +307,7 @@
#3890

- + Boost 1.42
@@ -273,7 +336,7 @@
- + Boost 1.40
@@ -282,7 +345,7 @@
branch resets and recursive regular expressions.
- + Boost 1.38
@@ -310,7 +373,7 @@
- + Boost 1.34
@@ -333,7 +396,7 @@
- + Boost 1.33.1
@@ -403,7 +466,7 @@
- + Boost 1.33.0
@@ -458,7 +521,7 @@
- + Boost 1.32.1
@@ -466,7 +529,7 @@
Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
@@ -502,14 +565,11 @@
-
- - -
+

PrevUpHome diff --git a/doc/html/boost_regex/background/locale.html b/doc/html/boost_regex/background/locale.html index 97d088596..ae8c3a6e8 100644 --- a/doc/html/boost_regex/background/locale.html +++ b/doc/html/boost_regex/background/locale.html @@ -1,13 +1,14 @@ - + Localization - - + + + @@ -1745,14 +1746,11 @@
error messages, and custom syntax messages replace the default ones.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/background/performance.html b/doc/html/boost_regex/background/performance.html index 29d710d10..78e89314d 100644 --- a/doc/html/boost_regex/background/performance.html +++ b/doc/html/boost_regex/background/performance.html @@ -1,13 +1,14 @@ - + Performance - - + + - + + @@ -20,34 +21,35 @@

-PrevUpHomeNext +PrevUpHomeNext
-

The performance of Boost.Regex in both recursive and non-recursive modes @@ -57,17 +59,14 @@ with various other regular expression libraries for the following compilers:

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/background/performance/section_id1344826346.html b/doc/html/boost_regex/background/performance/section_id1344826346.html new file mode 100644 index 000000000..0f57e6672 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id1344826346.html @@ -0,0 +1,128 @@ + + + +Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 8. Testing leftmost-longest searches (platform = Windows x64, compiler + = Microsoft Visual C++ version 14.3)

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(59483ns)
+

+
+

+ 9.43
(561070ns)
+

+
+

+ <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(11446ns)
+

+
+

+ 7.64
(87467ns)
+

+
+

+ Beman|John|Dave
In file: ....../libs/libraries.htm +

+
+

+ 1.00
(5211ns)
+

+
+

+ 13.88
(72322ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id1378460593.html b/doc/html/boost_regex/background/performance/section_id1378460593.html deleted file mode 100644 index f43897029..000000000 --- a/doc/html/boost_regex/background/performance/section_id1378460593.html +++ /dev/null @@ -1,404 +0,0 @@ - - - -Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 6.3.0) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 8. Testing simple leftmost-longest matches (platform = linux, compiler - = GNU C++ version 6.3.0)

-
------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- POSIX -

-
-

- ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
- 1234-5678-1234-456 -

-
-

- 1.11
(669ns)
-

-
-

- 1.00
(603ns)
-

-
-

- 3.70
(2234ns)
-

-
-

- ^([0-9]+)(\-| |$)(.*)$
100- - this is a line of ftp response which contains a message string -

-
-

- 1.00
(781ns)
-

-
-

- 4.52
(3530ns)
-

-
-

- 12.72
(9933ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
bob.smith@foo.tv -

-
-

- 1.00
(937ns)
-

-
-

- 1.26
(1184ns)
-

-
-

- 3.06
(2864ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
foo12@foo.edu -

-
-

- 1.00
(892ns)
-

-
-

- 1.29
(1150ns)
-

-
-

- 2.95
(2628ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
john@johnmaddock.co.uk -

-
-

- 1.00
(1160ns)
-

-
-

- 1.31
(1517ns)
-

-
-

- 3.29
(3818ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- +3.14159 -

-
-

- 1.58
(485ns)
-

-
-

- 1.48
(455ns)
-

-
-

- 1.00
(307ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- -3.14159 -

-
-

- 1.50
(466ns)
-

-
-

- 1.50
(464ns)
-

-
-

- 1.00
(310ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- 123 -

-
-

- 3.10
(666ns)
-

-
-

- 1.57
(338ns)
-

-
-

- 1.00
(215ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 12/12/2001 -

-
-

- 2.18
(373ns)
-

-
-

- 2.10
(359ns)
-

-
-

- 1.00
(171ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 4/1/2001 -

-
-

- 2.27
(363ns)
-

-
-

- 1.93
(309ns)
-

-
-

- 1.00
(160ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- EH10 2QQ -

-
-

- 2.90
(473ns)
-

-
-

- 2.19
(357ns)
-

-
-

- 1.00
(163ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- G1 1AA -

-
-

- 2.56
(386ns)
-

-
-

- 1.83
(277ns)
-

-
-

- 1.00
(151ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- SW1 1ZZ -

-
-

- 2.46
(381ns)
-

-
-

- 2.14
(331ns)
-

-
-

- 1.00
(155ns)
-

-
-

- abc
abc -

-
-

- 2.35
(324ns)
-

-
-

- 1.11
(153ns)
-

-
-

- 1.00
(138ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id1675827111.html b/doc/html/boost_regex/background/performance/section_id1675827111.html deleted file mode 100644 index b98f7d535..000000000 --- a/doc/html/boost_regex/background/performance/section_id1675827111.html +++ /dev/null @@ -1,451 +0,0 @@ - - - -Testing Perl searches (platform = linux, compiler = GNU C++ version 6.3.0) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 9. Testing Perl searches (platform = linux, compiler = GNU C++ version - 6.3.0)

-
------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- boost::xpressive::cregex -

-
-

- PCRE-10.21 -

-
-

- (?i)<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.63
(28838ns)
-

-
-

- - -

-
-

- 1.67
(29436ns)
-

-
-

- 1.00
(17678ns)
-

-
-

- (?i)<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>
- In file: ....../libs/libraries.htm -

-
-

- 2.78
(19366ns)
-

-
-

- - -

-
-

- 1.50
(10471ns)
-

-
-

- 1.00
(6963ns)
-

-
-

- (?i)<h[12345678][^>]*>.*?</h[12345678]>
- In file: ....../libs/libraries.htm -

-
-

- 1.95
(17081ns)
-

-
-

- - -

-
-

- 2.18
(19086ns)
-

-
-

- 1.00
(8745ns)
-

-
-

- (?i)<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 2.61
(18132ns)
-

-
-

- - -

-
-

- 1.61
(11211ns)
-

-
-

- 1.00
(6952ns)
-

-
-

- (?i)<p>.*?</p>
In file: - ....../libs/libraries.htm -

-
-

- 1.69
(17517ns)
-

-
-

- - -

-
-

- 1.51
(15645ns)
-

-
-

- 1.00
(10345ns)
-

-
-

- (\w+)\s*(\([^()]++(?:(?2)[^()]++)*+[^)]*\))\s*(\{[^{}]++((?3)[^{}]++)*+[^}]*+\})
- In file: boost/multiprecision/number.hpp -

-
-

- 1.00
(1500580ns)
-

-
-

- - -

-
-

- - -

-
-

- 2.84
(4260530ns)
-

-
-

- (^[ \t]*#(?:(?>[^\\\n]+)|\\(?>\s*\n|.))*)|
- In file: boost/multiprecision/number.hpp -

-
-

- 1.64
(14163004ns)
-

-
-

- - -

-
-

- 1.00
(8632111ns)
-

-
-

- 1.03
(8907897ns)
-

-
-

- (template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\w+([ - ]*\([^)]*\))?[\u0 ...
In file: boost/multiprecision/number.hpp -

-
-

- 1.72
(13046296ns)
-

-
-

- 3.61
(27370747ns)
-

-
-

- 1.00
(7585304ns)
-

-
-

- 1.98
(14992880ns)
-

-
-

- Beman|John|Dave
In file: ....../libs/libraries.htm -

-
-

- 1.00
(5021ns)
-

-
-

- 36.75
(184532ns)
-

-
-

- 1.40
(7046ns)
-

-
-

- 1.19
(5966ns)
-

-
-

- \w+\s*(\([^()]++(?:(?1)[^()]++)*+[^)]*\))
- In file: boost/multiprecision/number.hpp -

-
-

- 1.00
(1551419ns)
-

-
-

- - -

-
-

- - -

-
-

- 1.58
(2444759ns)
-

-
-

- \{[^{}]++((?0)[^{}]++)*+[^}]*+\}
In - file: boost/multiprecision/number.hpp -

-
-

- 1.31
(200846ns)
-

-
-

- - -

-
-

- - -

-
-

- 1.00
(153117ns)
-

-
-

- ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)
- In file: boost/multiprecision/number.hpp -

-
-

- 1.46
(234901ns)
-

-
-

- 11.35
(1821532ns)
-

-
-

- 1.00
(160446ns)
-

-
-

- 1.35
(215802ns)
-

-
-

- ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)
- In file: boost/multiprecision/number.hpp -

-
-

- 1.41
(234377ns)
-

-
-

- 11.47
(1903901ns)
-

-
-

- 1.00
(165921ns)
-

-
-

- 1.31
(217806ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id1744311203.html b/doc/html/boost_regex/background/performance/section_id1744311203.html new file mode 100644 index 000000000..39786a598 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id1744311203.html @@ -0,0 +1,326 @@ + + + +Testing simple leftmost-longest matches (platform = Windows x64, compiler = GNU C++ version 11.4.0) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 9. Testing simple leftmost-longest matches (platform = Windows x64, + compiler = GNU C++ version 11.4.0)

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
+ 1234-5678-1234-456 +

+
+

+ 1.43
(534ns)
+

+
+

+ 1.00
(373ns)
+

+
+

+ ^([0-9]+)(\-| |$)(.*)$
100- + this is a line of ftp response which contains a message string +

+
+

+ 1.00
(412ns)
+

+
+

+ 3.53
(1455ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
bob.smith@foo.tv +

+
+

+ 1.03
(578ns)
+

+
+

+ 1.00
(561ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
foo12@foo.edu +

+
+

+ 1.00
(567ns)
+

+
+

+ 1.34
(760ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
john@johnmaddock.co.uk +

+
+

+ 1.05
(779ns)
+

+
+

+ 1.00
(742ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ +3.14159 +

+
+

+ 1.00
(327ns)
+

+
+

+ 1.10
(361ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ -3.14159 +

+
+

+ 1.08
(341ns)
+

+
+

+ 1.00
(315ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ 123 +

+
+

+ 1.85
(440ns)
+

+
+

+ 1.00
(238ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 12/12/2001 +

+
+

+ 1.14
(296ns)
+

+
+

+ 1.00
(259ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 4/1/2001 +

+
+

+ 1.08
(270ns)
+

+
+

+ 1.00
(249ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ EH10 2QQ +

+
+

+ 1.31
(322ns)
+

+
+

+ 1.00
(245ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ G1 1AA +

+
+

+ 1.15
(283ns)
+

+
+

+ 1.00
(246ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ SW1 1ZZ +

+
+

+ 1.22
(296ns)
+

+
+

+ 1.00
(242ns)
+

+
+

+ abc
abc +

+
+

+ 1.37
(242ns)
+

+
+

+ 1.00
(177ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id2864474365.html b/doc/html/boost_regex/background/performance/section_id2864474365.html new file mode 100644 index 000000000..b85f0e9f3 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id2864474365.html @@ -0,0 +1,450 @@ + + + +Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 10. Testing Perl searches (platform = Windows x64, compiler = Microsoft + Visual C++ version 14.3)

+
+++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ boost::xpressive::cregex +

+
+

+ PCRE-10.43 +

+
+

+ (?i)<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(14312ns)
+

+
+

+ - +

+
+

+ 2.23
(31878ns)
+

+
+

+ 1.31
(18684ns)
+

+
+

+ (?i)<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.10
(10195ns)
+

+
+

+ - +

+
+

+ 1.34
(12441ns)
+

+
+

+ 1.00
(9263ns)
+

+
+

+ (?i)<h[12345678][^>]*>.*?</h[12345678]>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(9687ns)
+

+
+

+ - +

+
+

+ 2.10
(20340ns)
+

+
+

+ 1.27
(12333ns)
+

+
+

+ (?i)<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.07
(10169ns)
+

+
+

+ - +

+
+

+ 1.40
(13302ns)
+

+
+

+ 1.00
(9505ns)
+

+
+

+ (?i)<p>.*?</p>
In file: + ....../libs/libraries.htm +

+
+

+ 1.00
(9950ns)
+

+
+

+ - +

+
+

+ 1.73
(17184ns)
+

+
+

+ 1.46
(14485ns)
+

+
+

+ (\w+)\s*(\([^()]++(?:(?2)[^()]++)*+[^)]*\))\s*(\{[^{}]++((?3)[^{}]++)*+[^}]*+\})
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(1549295ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ 11.09
(17177250ns)
+

+
+

+ (^[ \t]*#(?:(?>[^\\\n]+)|\\(?>\s*\n|.))*)|
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.36
(14276693ns)
+

+
+

+ - +

+
+

+ 1.17
(12252446ns)
+

+
+

+ 1.00
(10503162ns)
+

+
+

+ (template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\w+([ + ]*\([^)]*\))?[\u0 ...
In file: boost/multiprecision/number.hpp +

+
+

+ 1.22
(7693839ns)
+

+
+

+ 57.46
(363338150ns)
+

+
+

+ 1.00
(6323396ns)
+

+
+

+ 2.15
(13603310ns)
+

+
+

+ Beman|John|Dave
In file: ....../libs/libraries.htm +

+
+

+ 1.00
(4643ns)
+

+
+

+ 15.54
(72171ns)
+

+
+

+ 1.30
(6027ns)
+

+
+

+ 1.54
(7151ns)
+

+
+

+ \w+\s*(\([^()]++(?:(?1)[^()]++)*+[^)]*\))
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(1498291ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ 2.37
(3555960ns)
+

+
+

+ \{[^{}]++((?0)[^{}]++)*+[^}]*+\}
In + file: boost/multiprecision/number.hpp +

+
+

+ 1.29
(212586ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ 1.00
(164592ns)
+

+
+

+ ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.06
(251988ns)
+

+
+

+ 7.99
(1891782ns)
+

+
+

+ 1.00
(236878ns)
+

+
+

+ 1.54
(363700ns)
+

+
+

+ ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(228825ns)
+

+
+

+ 7.72
(1765632ns)
+

+
+

+ 1.01
(231986ns)
+

+
+

+ 1.57
(360051ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id3048770036.html b/doc/html/boost_regex/background/performance/section_id3048770036.html new file mode 100644 index 000000000..9d966ddf3 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id3048770036.html @@ -0,0 +1,478 @@ + + + +Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 11. Testing simple Perl matches (platform = Windows x64, compiler = + Microsoft Visual C++ version 14.3)

+
+++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ boost::xpressive::cregex +

+
+

+ PCRE-10.43 +

+
+

+ ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
+ 1234-5678-1234-456 +

+
+

+ 1.94
(242ns)
+

+
+

+ 60.38
(7547ns)
+

+
+

+ 1.00
(125ns)
+

+
+

+ 1.46
(183ns)
+

+
+

+ ^([0-9]+)(\-| |$)(.*)$
100- + this is a line of ftp response which contains a message string +

+
+

+ 1.68
(190ns)
+

+
+

+ 32.06
(3623ns)
+

+
+

+ 1.00
(113ns)
+

+
+

+ 2.58
(292ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
bob.smith@foo.tv +

+
+

+ 1.72
(328ns)
+

+
+

+ 25.84
(4936ns)
+

+
+

+ 1.00
(191ns)
+

+
+

+ 1.76
(337ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
foo12@foo.edu +

+
+

+ 1.82
(346ns)
+

+
+

+ 28.83
(5477ns)
+

+
+

+ 1.00
(190ns)
+

+
+

+ 1.80
(342ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
john@johnmaddock.co.uk +

+
+

+ 1.71
(382ns)
+

+
+

+ 53.03
(11879ns)
+

+
+

+ 1.00
(224ns)
+

+
+

+ 1.70
(381ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ +3.14159 +

+
+

+ 1.72
(141ns)
+

+
+

+ 28.50
(2337ns)
+

+
+

+ 1.00
(82ns)
+

+
+

+ 1.80
(148ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ -3.14159 +

+
+

+ 1.71
(144ns)
+

+
+

+ 31.99
(2687ns)
+

+
+

+ 1.00
(84ns)
+

+
+

+ 1.58
(133ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ 123 +

+
+

+ 1.64
(126ns)
+

+
+

+ 44.17
(3401ns)
+

+
+

+ 1.00
(77ns)
+

+
+

+ 1.51
(116ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 12/12/2001 +

+
+

+ 1.61
(132ns)
+

+
+

+ 21.67
(1777ns)
+

+
+

+ 1.00
(82ns)
+

+
+

+ 1.26
(103ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 4/1/2001 +

+
+

+ 1.51
(121ns)
+

+
+

+ 21.27
(1702ns)
+

+
+

+ 1.00
(80ns)
+

+
+

+ 1.27
(102ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ EH10 2QQ +

+
+

+ 1.47
(138ns)
+

+
+

+ 17.55
(1650ns)
+

+
+

+ 1.00
(94ns)
+

+
+

+ 1.19
(112ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ G1 1AA +

+
+

+ 1.43
(130ns)
+

+
+

+ 17.12
(1558ns)
+

+
+

+ 1.00
(91ns)
+

+
+

+ 2.18
(198ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ SW1 1ZZ +

+
+

+ 1.41
(131ns)
+

+
+

+ 17.63
(1640ns)
+

+
+

+ 1.00
(93ns)
+

+
+

+ 1.11
(103ns)
+

+
+

+ abc
abc +

+
+

+ 1.36
(90ns)
+

+
+

+ 7.61
(502ns)
+

+
+

+ 1.98
(131ns)
+

+
+

+ 1.00
(66ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id3141719723.html b/doc/html/boost_regex/background/performance/section_id3141719723.html deleted file mode 100644 index ef4d9d463..000000000 --- a/doc/html/boost_regex/background/performance/section_id3141719723.html +++ /dev/null @@ -1,328 +0,0 @@ - - - -Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 10. Testing simple leftmost-longest matches (platform = Windows x64, - compiler = Microsoft Visual C++ version 14.1)

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
- 1234-5678-1234-456 -

-
-

- 1.00
(554ns)
-

-
-

- 11.06
(6127ns)
-

-
-

- ^([0-9]+)(\-| |$)(.*)$
100- - this is a line of ftp response which contains a message string -

-
-

- 1.00
(679ns)
-

-
-

- - -

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
bob.smith@foo.tv -

-
-

- 1.00
(1444ns)
-

-
-

- - -

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
foo12@foo.edu -

-
-

- 1.00
(1397ns)
-

-
-

- - -

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
john@johnmaddock.co.uk -

-
-

- 1.00
(1588ns)
-

-
-

- - -

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- +3.14159 -

-
-

- 1.00
(466ns)
-

-
-

- 11.18
(5208ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- -3.14159 -

-
-

- 1.00
(519ns)
-

-
-

- 9.79
(5083ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- 123 -

-
-

- 1.00
(619ns)
-

-
-

- 7.64
(4730ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 12/12/2001 -

-
-

- 1.00
(449ns)
-

-
-

- 5.23
(2347ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 4/1/2001 -

-
-

- 1.00
(362ns)
-

-
-

- 6.48
(2344ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- EH10 2QQ -

-
-

- 1.00
(1090ns)
-

-
-

- 2.48
(2699ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- G1 1AA -

-
-

- 1.00
(348ns)
-

-
-

- 6.57
(2288ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- SW1 1ZZ -

-
-

- 1.00
(358ns)
-

-
-

- 6.41
(2296ns)
-

-
-

- abc
abc -

-
-

- 1.00
(375ns)
-

-
-

- 2.30
(864ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id3258595385.html b/doc/html/boost_regex/background/performance/section_id3258595385.html deleted file mode 100644 index 646ebbfe5..000000000 --- a/doc/html/boost_regex/background/performance/section_id3258595385.html +++ /dev/null @@ -1,130 +0,0 @@ - - - -Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 11. Testing leftmost-longest searches (platform = Windows x64, compiler - = Microsoft Visual C++ version 14.1)

-
----- - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.00
(80801ns)
-

-
-

- 6.82
(551022ns)
-

-
-

- <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.00
(19868ns)
-

-
-

- 4.23
(84068ns)
-

-
-

- Beman|John|Dave
In file: ....../libs/libraries.htm -

-
-

- 1.00
(10508ns)
-

-
-

- 3.37
(35378ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id3261825021.html b/doc/html/boost_regex/background/performance/section_id3261825021.html deleted file mode 100644 index 398492784..000000000 --- a/doc/html/boost_regex/background/performance/section_id3261825021.html +++ /dev/null @@ -1,479 +0,0 @@ - - - -Testing simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 12. Testing simple Perl matches (platform = linux, compiler = GNU C++ - version 6.3.0)

-
------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- boost::xpressive::cregex -

-
-

- PCRE-10.21 -

-
-

- ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
- 1234-5678-1234-456 -

-
-

- 2.65
(506ns)
-

-
-

- 2.86
(546ns)
-

-
-

- 1.00
(191ns)
-

-
-

- 1.37
(262ns)
-

-
-

- ^([0-9]+)(\-| |$)(.*)$
100- - this is a line of ftp response which contains a message string -

-
-

- 2.52
(353ns)
-

-
-

- 20.99
(2939ns)
-

-
-

- 1.00
(140ns)
-

-
-

- 3.50
(490ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
bob.smith@foo.tv -

-
-

- 1.98
(681ns)
-

-
-

- - -

-
-

- 1.00
(344ns)
-

-
-

- 1.32
(454ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
foo12@foo.edu -

-
-

- 2.06
(695ns)
-

-
-

- - -

-
-

- 1.00
(337ns)
-

-
-

- 1.34
(451ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
john@johnmaddock.co.uk -

-
-

- 1.93
(821ns)
-

-
-

- - -

-
-

- 1.00
(425ns)
-

-
-

- 1.24
(526ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- +3.14159 -

-
-

- 2.34
(243ns)
-

-
-

- 4.45
(463ns)
-

-
-

- 1.00
(104ns)
-

-
-

- 1.62
(168ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- -3.14159 -

-
-

- 2.33
(245ns)
-

-
-

- 4.39
(461ns)
-

-
-

- 1.00
(105ns)
-

-
-

- 1.60
(168ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- 123 -

-
-

- 2.08
(208ns)
-

-
-

- 3.31
(331ns)
-

-
-

- 1.00
(100ns)
-

-
-

- 1.52
(152ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 12/12/2001 -

-
-

- 2.28
(237ns)
-

-
-

- 3.39
(353ns)
-

-
-

- 1.00
(104ns)
-

-
-

- 1.18
(123ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 4/1/2001 -

-
-

- 2.12
(216ns)
-

-
-

- 3.02
(308ns)
-

-
-

- 1.00
(102ns)
-

-
-

- 1.19
(121ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- EH10 2QQ -

-
-

- 2.12
(257ns)
-

-
-

- 2.66
(322ns)
-

-
-

- 1.00
(121ns)
-

-
-

- 1.17
(142ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- G1 1AA -

-
-

- 2.00
(230ns)
-

-
-

- 2.65
(305ns)
-

-
-

- 1.00
(115ns)
-

-
-

- 1.22
(140ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- SW1 1ZZ -

-
-

- 2.05
(244ns)
-

-
-

- 2.81
(334ns)
-

-
-

- 1.00
(119ns)
-

-
-

- 1.22
(145ns)
-

-
-

- abc
abc -

-
-

- 1.65
(135ns)
-

-
-

- 1.83
(150ns)
-

-
-

- 1.00
(82ns)
-

-
-

- 1.02
(84ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id3601180469.html b/doc/html/boost_regex/background/performance/section_id3601180469.html new file mode 100644 index 000000000..91d2de34b --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id3601180469.html @@ -0,0 +1,378 @@ + + + +Testing Perl searches (platform = Windows x64, compiler = GNU C++ version 11.4.0) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 12. Testing Perl searches (platform = Windows x64, compiler = GNU C++ + version 11.4.0)

+
++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ boost::xpressive::cregex +

+
+

+ (?i)<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 2.07
(65579ns)
+

+
+

+ - +

+
+

+ 1.00
(31708ns)
+

+
+

+ (?i)<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.62
(14208ns)
+

+
+

+ - +

+
+

+ 1.00
(8781ns)
+

+
+

+ (?i)<h[12345678][^>]*>.*?</h[12345678]>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(15866ns)
+

+
+

+ - +

+
+

+ 1.27
(20103ns)
+

+
+

+ (?i)<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.54
(14798ns)
+

+
+

+ - +

+
+

+ 1.00
(9614ns)
+

+
+

+ (?i)<p>.*?</p>
In file: + ....../libs/libraries.htm +

+
+

+ 1.00
(11317ns)
+

+
+

+ - +

+
+

+ 1.02
(11542ns)
+

+
+

+ (\w+)\s*(\([^()]++(?:(?2)[^()]++)*+[^)]*\))\s*(\{[^{}]++((?3)[^{}]++)*+[^}]*+\})
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(1690669ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ (^[ \t]*#(?:(?>[^\\\n]+)|\\(?>\s*\n|.))*)|
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.48
(14069292ns)
+

+
+

+ - +

+
+

+ 1.00
(9506228ns)
+

+
+

+ (template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\w+([ + ]*\([^)]*\))?[\u0 ...
In file: boost/multiprecision/number.hpp +

+
+

+ 1.51
(9371314ns)
+

+
+

+ 2.70
(16777146ns)
+

+
+

+ 1.00
(6207423ns)
+

+
+

+ Beman|John|Dave
In file: ....../libs/libraries.htm +

+
+

+ 1.00
(4331ns)
+

+
+

+ 29.11
(126072ns)
+

+
+

+ 1.20
(5177ns)
+

+
+

+ \w+\s*(\([^()]++(?:(?1)[^()]++)*+[^)]*\))
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(1651918ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ \{[^{}]++((?0)[^{}]++)*+[^}]*+\}
In + file: boost/multiprecision/number.hpp +

+
+

+ 1.00
(176801ns)
+

+
+

+ - +

+
+

+ - +

+
+

+ ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.34
(246116ns)
+

+
+

+ 10.90
(2008042ns)
+

+
+

+ 1.00
(184212ns)
+

+
+

+ ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)
+ In file: boost/multiprecision/number.hpp +

+
+

+ 1.35
(236395ns)
+

+
+

+ 11.53
(2026633ns)
+

+
+

+ 1.00
(175716ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id3752650613.html b/doc/html/boost_regex/background/performance/section_id3752650613.html deleted file mode 100644 index 1e56bbeec..000000000 --- a/doc/html/boost_regex/background/performance/section_id3752650613.html +++ /dev/null @@ -1,523 +0,0 @@ - - - -Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 13. Testing Perl searches (platform = Windows x64, compiler = Microsoft - Visual C++ version 14.1)

-
-------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- PCRE-10.10 -

-
-

- RE2 -

-
-

- std::regex -

-
-

- boost::xpressive::cregex -

-
-

- (?i)<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.36
(21565ns)
-

-
-

- 1.00
(15821ns)
-

-
-

- 1.08
(17111ns)
-

-
-

- - -

-
-

- 2.89
(45731ns)
-

-
-

- (?i)<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>
- In file: ....../libs/libraries.htm -

-
-

- 3.05
(16442ns)
-

-
-

- 1.58
(8492ns)
-

-
-

- 1.00
(5385ns)
-

-
-

- - -

-
-

- 3.31
(17804ns)
-

-
-

- (?i)<h[12345678][^>]*>.*?</h[12345678]>
- In file: ....../libs/libraries.htm -

-
-

- 2.11
(15434ns)
-

-
-

- 1.31
(9615ns)
-

-
-

- 1.00
(7315ns)
-

-
-

- - -

-
-

- 4.28
(31331ns)
-

-
-

- (?i)<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 2.73
(16457ns)
-

-
-

- 1.41
(8503ns)
-

-
-

- 1.00
(6023ns)
-

-
-

- - -

-
-

- 3.14
(18913ns)
-

-
-

- (?i)<p>.*?</p>
In file: - ....../libs/libraries.htm -

-
-

- 2.32
(15717ns)
-

-
-

- 1.57
(10652ns)
-

-
-

- 1.00
(6789ns)
-

-
-

- - -

-
-

- 3.76
(25542ns)
-

-
-

- (\w+)\s*(\([^()]++(?:(?2)[^()]++)*+[^)]*\))\s*(\{[^{}]++((?3)[^{}]++)*+[^}]*+\})
- In file: boost/multiprecision/number.hpp -

-
-

- 1.00
(1125008ns)
-

-
-

- 2.90
(3265708ns)
-

-
-

- - -

-
-

- - -

-
-

- - -

-
-

- (^[ \t]*#(?:(?>[^\\\n]+)|\\(?>\s*\n|.))*)|
- In file: boost/multiprecision/number.hpp -

-
-

- 1.55
(11035845ns)
-

-
-

- 1.00
(7123895ns)
-

-
-

- - -

-
-

- - -

-
-

- 1.46
(10415180ns)
-

-
-

- (template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\w+([ - ]*\([^)]*\))?[\u0 ...
In file: boost/multiprecision/number.hpp -

-
-

- 26.17
(8436744ns)
-

-
-

- 32.97
(10629852ns)
-

-
-

- 1.00
(322399ns)
-

-
-

- 811.84
(261737971ns)
-

-
-

- 23.34
(7526351ns)
-

-
-

- Beman|John|Dave
In file: ....../libs/libraries.htm -

-
-

- 1.58
(10246ns)
-

-
-

- 1.00
(6487ns)
-

-
-

- 2.48
(16109ns)
-

-
-

- 5.39
(34994ns)
-

-
-

- 1.09
(7046ns)
-

-
-

- \w+\s*(\([^()]++(?:(?1)[^()]++)*+[^)]*\))
- In file: boost/multiprecision/number.hpp -

-
-

- 1.00
(1152646ns)
-

-
-

- 1.70
(1962067ns)
-

-
-

- - -

-
-

- - -

-
-

- - -

-
-

- \{[^{}]++((?0)[^{}]++)*+[^}]*+\}
In - file: boost/multiprecision/number.hpp -

-
-

- 1.62
(255439ns)
-

-
-

- 1.00
(158034ns)
-

-
-

- - -

-
-

- - -

-
-

- - -

-
-

- ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)
- In file: boost/multiprecision/number.hpp -

-
-

- 1.48
(268270ns)
-

-
-

- 1.08
(195553ns)
-

-
-

- 1.78
(323879ns)
-

-
-

- 7.75
(1406976ns)
-

-
-

- 1.00
(181554ns)
-

-
-

- ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)
- In file: boost/multiprecision/number.hpp -

-
-

- 1.48
(268560ns)
-

-
-

- 1.08
(195915ns)
-

-
-

- 1.76
(319886ns)
-

-
-

- 7.72
(1398962ns)
-

-
-

- 1.00
(181328ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id3810206988.html b/doc/html/boost_regex/background/performance/section_id3810206988.html new file mode 100644 index 000000000..4ad4e94b8 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id3810206988.html @@ -0,0 +1,326 @@ + + + +Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 13. Testing simple leftmost-longest matches (platform = Windows x64, + compiler = Microsoft Visual C++ version 14.3)

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
+ 1234-5678-1234-456 +

+
+

+ 1.00
(424ns)
+

+
+

+ 11.06
(4689ns)
+

+
+

+ ^([0-9]+)(\-| |$)(.*)$
100- + this is a line of ftp response which contains a message string +

+
+

+ 1.00
(447ns)
+

+
+

+ - +

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
bob.smith@foo.tv +

+
+

+ 1.00
(3585ns)
+

+
+

+ - +

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
foo12@foo.edu +

+
+

+ 1.00
(3566ns)
+

+
+

+ - +

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
john@johnmaddock.co.uk +

+
+

+ 1.00
(3762ns)
+

+
+

+ - +

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ +3.14159 +

+
+

+ 1.00
(336ns)
+

+
+

+ 11.43
(3840ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ -3.14159 +

+
+

+ 1.00
(339ns)
+

+
+

+ 10.95
(3713ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ 123 +

+
+

+ 1.00
(424ns)
+

+
+

+ 9.54
(4047ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 12/12/2001 +

+
+

+ 1.00
(302ns)
+

+
+

+ 5.83
(1761ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 4/1/2001 +

+
+

+ 1.00
(286ns)
+

+
+

+ 6.08
(1738ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ EH10 2QQ +

+
+

+ 1.37
(3229ns)
+

+
+

+ 1.00
(2356ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ G1 1AA +

+
+

+ 1.00
(298ns)
+

+
+

+ 6.66
(1985ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ SW1 1ZZ +

+
+

+ 1.00
(303ns)
+

+
+

+ 6.59
(1998ns)
+

+
+

+ abc
abc +

+
+

+ 1.00
(259ns)
+

+
+

+ 2.36
(612ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id4128344975.html b/doc/html/boost_regex/background/performance/section_id4128344975.html deleted file mode 100644 index ade97ae04..000000000 --- a/doc/html/boost_regex/background/performance/section_id4128344975.html +++ /dev/null @@ -1,556 +0,0 @@ - - - -Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 14. Testing simple Perl matches (platform = Windows x64, compiler = - Microsoft Visual C++ version 14.1)

-
-------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- PCRE-10.10 -

-
-

- RE2 -

-
-

- std::regex -

-
-

- boost::xpressive::cregex -

-
-

- ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
- 1234-5678-1234-456 -

-
-

- 1.90
(328ns)
-

-
-

- 1.18
(205ns)
-

-
-

- 1.00
(173ns)
-

-
-

- 27.81
(4811ns)
-

-
-

- 1.32
(228ns)
-

-
-

- ^([0-9]+)(\-| |$)(.*)$
100- - this is a line of ftp response which contains a message string -

-
-

- 1.45
(251ns)
-

-
-

- 1.73
(300ns)
-

-
-

- 2.14
(371ns)
-

-
-

- 24.75
(4281ns)
-

-
-

- 1.00
(173ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
bob.smith@foo.tv -

-
-

- 2.53
(403ns)
-

-
-

- 2.13
(338ns)
-

-
-

- 1.00
(159ns)
-

-
-

- 34.16
(5432ns)
-

-
-

- 1.86
(295ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
foo12@foo.edu -

-
-

- 2.75
(402ns)
-

-
-

- 2.34
(342ns)
-

-
-

- 1.00
(146ns)
-

-
-

- 40.78
(5954ns)
-

-
-

- 2.01
(294ns)
-

-
-

- ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ - ...
john@johnmaddock.co.uk -

-
-

- 2.54
(469ns)
-

-
-

- 2.16
(399ns)
-

-
-

- 1.00
(185ns)
-

-
-

- 44.27
(8190ns)
-

-
-

- 2.04
(377ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- +3.14159 -

-
-

- 1.53
(171ns)
-

-
-

- 1.14
(128ns)
-

-
-

- 1.11
(124ns)
-

-
-

- 21.63
(2422ns)
-

-
-

- 1.00
(112ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- -3.14159 -

-
-

- 1.50
(167ns)
-

-
-

- 1.15
(128ns)
-

-
-

- 1.13
(125ns)
-

-
-

- 21.92
(2433ns)
-

-
-

- 1.00
(111ns)
-

-
-

- ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
- 123 -

-
-

- 1.40
(143ns)
-

-
-

- 1.15
(117ns)
-

-
-

- 1.03
(105ns)
-

-
-

- 35.65
(3636ns)
-

-
-

- 1.00
(102ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 12/12/2001 -

-
-

- 1.47
(157ns)
-

-
-

- 1.00
(107ns)
-

-
-

- 1.27
(136ns)
-

-
-

- 16.75
(1792ns)
-

-
-

- 1.03
(110ns)
-

-
-

- ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
- 4/1/2001 -

-
-

- 1.39
(145ns)
-

-
-

- 1.00
(104ns)
-

-
-

- 1.13
(117ns)
-

-
-

- 16.90
(1758ns)
-

-
-

- 1.07
(111ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- EH10 2QQ -

-
-

- 1.44
(164ns)
-

-
-

- 1.00
(114ns)
-

-
-

- 1.10
(125ns)
-

-
-

- 15.61
(1779ns)
-

-
-

- 1.06
(121ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- G1 1AA -

-
-

- 1.36
(152ns)
-

-
-

- 1.00
(112ns)
-

-
-

- 1.04
(117ns)
-

-
-

- 15.86
(1776ns)
-

-
-

- 1.05
(118ns)
-

-
-

- ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
- SW1 1ZZ -

-
-

- 1.40
(158ns)
-

-
-

- 1.00
(113ns)
-

-
-

- 1.10
(124ns)
-

-
-

- 15.86
(1792ns)
-

-
-

- 1.07
(121ns)
-

-
-

- abc
abc -

-
-

- 2.01
(141ns)
-

-
-

- 1.00
(70ns)
-

-
-

- 1.17
(82ns)
-

-
-

- 8.24
(577ns)
-

-
-

- 1.19
(83ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id4148872883.html b/doc/html/boost_regex/background/performance/section_id4148872883.html deleted file mode 100644 index 5e9330d14..000000000 --- a/doc/html/boost_regex/background/performance/section_id4148872883.html +++ /dev/null @@ -1,150 +0,0 @@ - - - -Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
-

Table 15. Testing leftmost-longest searches (platform = linux, compiler = - GNU C++ version 6.3.0)

-
------ - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression
Text -

-
-

- boost 1.65 -

-
-

- std::regex -

-
-

- POSIX -

-
-

- <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.00
(107026ns)
-

-
-

- 1.44
(154551ns)
-

-
-

- 1.64
(175184ns)
-

-
-

- <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
- In file: ....../libs/libraries.htm -

-
-

- 1.00
(15420ns)
-

-
-

- 6.89
(106275ns)
-

-
-

- 1.59
(24567ns)
-

-
-

- Beman|John|Dave
In file: ....../libs/libraries.htm -

-
-

- 1.03
(5399ns)
-

-
-

- 36.27
(190577ns)
-

-
-

- 1.00
(5254ns)
-

-
-
-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/performance/section_id456935730.html b/doc/html/boost_regex/background/performance/section_id456935730.html new file mode 100644 index 000000000..d0c6c146b --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id456935730.html @@ -0,0 +1,128 @@ + + + +Testing leftmost-longest searches (platform = Windows x64, compiler = GNU C++ version 11.4.0) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 14. Testing leftmost-longest searches (platform = Windows x64, compiler + = GNU C++ version 11.4.0)

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(60911ns)
+

+
+

+ 2.06
(125213ns)
+

+
+

+ <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>
+ In file: ....../libs/libraries.htm +

+
+

+ 1.00
(10803ns)
+

+
+

+ 7.00
(75668ns)
+

+
+

+ Beman|John|Dave
In file: ....../libs/libraries.htm +

+
+

+ 1.00
(5683ns)
+

+
+

+ 46.25
(262830ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/performance/section_id85151138.html b/doc/html/boost_regex/background/performance/section_id85151138.html new file mode 100644 index 000000000..affb4bc54 --- /dev/null +++ b/doc/html/boost_regex/background/performance/section_id85151138.html @@ -0,0 +1,401 @@ + + + +Testing simple Perl matches (platform = Windows x64, compiler = GNU C++ version 11.4.0) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+

Table 15. Testing simple Perl matches (platform = Windows x64, compiler = + GNU C++ version 11.4.0)

+
++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Expression
Text +

+
+

+ boost 1.85 +

+
+

+ std::regex +

+
+

+ boost::xpressive::cregex +

+
+

+ ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}
+ 1234-5678-1234-456 +

+
+

+ 2.75
(297ns)
+

+
+

+ 3.35
(362ns)
+

+
+

+ 1.00
(108ns)
+

+
+

+ ^([0-9]+)(\-| |$)(.*)$
100- + this is a line of ftp response which contains a message string +

+
+

+ 2.60
(208ns)
+

+
+

+ 17.80
(1424ns)
+

+
+

+ 1.00
(80ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
bob.smith@foo.tv +

+
+

+ 2.47
(428ns)
+

+
+

+ 3.32
(574ns)
+

+
+

+ 1.00
(173ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
foo12@foo.edu +

+
+

+ 2.73
(412ns)
+

+
+

+ 3.54
(535ns)
+

+
+

+ 1.00
(151ns)
+

+
+

+ ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\ + ...
john@johnmaddock.co.uk +

+
+

+ 2.74
(469ns)
+

+
+

+ 4.25
(727ns)
+

+
+

+ 1.00
(171ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ +3.14159 +

+
+

+ 2.55
(158ns)
+

+
+

+ 4.98
(309ns)
+

+
+

+ 1.00
(62ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ -3.14159 +

+
+

+ 2.48
(151ns)
+

+
+

+ 4.95
(302ns)
+

+
+

+ 1.00
(61ns)
+

+
+

+ ^[-+]?[[:digit:]]*\.?[[:digit:]]*$
+ 123 +

+
+

+ 2.03
(124ns)
+

+
+

+ 4.38
(267ns)
+

+
+

+ 1.00
(61ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 12/12/2001 +

+
+

+ 2.66
(162ns)
+

+
+

+ 4.67
(285ns)
+

+
+

+ 1.00
(61ns)
+

+
+

+ ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$
+ 4/1/2001 +

+
+

+ 2.07
(126ns)
+

+
+

+ 4.36
(266ns)
+

+
+

+ 1.00
(61ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ EH10 2QQ +

+
+

+ 2.08
(148ns)
+

+
+

+ 3.72
(264ns)
+

+
+

+ 1.00
(71ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ G1 1AA +

+
+

+ 2.17
(141ns)
+

+
+

+ 3.82
(248ns)
+

+
+

+ 1.00
(65ns)
+

+
+

+ ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$
+ SW1 1ZZ +

+
+

+ 2.39
(160ns)
+

+
+

+ 3.61
(242ns)
+

+
+

+ 1.00
(67ns)
+

+
+

+ abc
abc +

+
+

+ 1.75
(77ns)
+

+
+

+ 4.25
(187ns)
+

+
+

+ 1.00
(44ns)
+

+
+
+
+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/background/redist.html b/doc/html/boost_regex/background/redist.html deleted file mode 100644 index e5e84e086..000000000 --- a/doc/html/boost_regex/background/redist.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -Redistributables - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -

- If you are using Microsoft or Borland C++ and link to a dll version of the - run time library, then you can choose to also link to a dll version of Boost.Regex - by defining the symbol BOOST_REGEX_DYN_LINK when you compile your code. While - these dll's are redistributable, there are no "standard" versions, - so when installing on the users PC, you should place these in a directory - private to your application, and not in the PC's directory path. Note that - if you link to a static version of your run time library, then you will also - link to a static version of Boost.Regex and no dll's will need to be distributed. - The possible Boost.Regex dll and library names are computed according to - the formula given in the - getting started guide. -

-

- Note: you can disable automatic library selection by defining the symbol - BOOST_REGEX_NO_LIB when compiling, this is useful if you want to build Boost.Regex - yourself in your IDE, or if you need to debug Boost.Regex. -

-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/background/standards.html b/doc/html/boost_regex/background/standards.html index 43481c338..2d84051a1 100644 --- a/doc/html/boost_regex/background/standards.html +++ b/doc/html/boost_regex/background/standards.html @@ -1,13 +1,14 @@ - + Standards Conformance - - + + - - + + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -219,7 +220,7 @@

Supported, note that at this level, case transformations are 1:1, many to many case folding operations are not supported (for example - "ß" to "SS"). + "ß" to "SS").

@@ -306,7 +307,7 @@
Not supported.

-  +  @@ -557,17 +558,14 @@
- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/background/thread_safety.html b/doc/html/boost_regex/background/thread_safety.html index 5b90e616e..fa91745c4 100644 --- a/doc/html/boost_regex/background/thread_safety.html +++ b/doc/html/boost_regex/background/thread_safety.html @@ -1,13 +1,14 @@ - + Thread Safety - - + + + @@ -51,12 +52,6 @@ all re-entrant and thread safe, regular expressions compiled with regcomp can also be shared between threads.

-

- The class RegEx - is only thread safe if each thread gets its own RegEx instance (apartment - threading) - this is a consequence of RegEx handling both compiling and matching - regular expressions. -

Finally note that changing the global locale invalidates all compiled regular expressions, therefore calling set_locale @@ -68,14 +63,11 @@ to the start of main().

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 717ee4050..8ad5b8afc 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -1,13 +1,14 @@ - + Understanding Marked Sub-Expressions and Captures - - - + + + + @@ -370,14 +371,11 @@
-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index f4c2093d0..76cd55b4d 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -1,13 +1,14 @@ - + Configuration - - - - + + + + + @@ -26,23 +27,20 @@ - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html deleted file mode 100644 index e7859ea43..000000000 --- a/doc/html/boost_regex/configuration/algorithm.html +++ /dev/null @@ -1,93 +0,0 @@ - - - -Algorithm Selection - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
---- - - - - - - - - - - - - - - -
-

- macro -

-
-

- description -

-
-

- BOOST_REGEX_RECURSIVE -

-
-

- Tells Boost.Regex to use a stack-recursive matching algorithm. - This is generally the fastest option (although there is very little - in it), but can cause stack overflow in extreme cases, on Win32 - this can be handled safely, but this is not the case on other platforms. -

-
-

- BOOST_REGEX_NON_RECURSIVE -

-
-

- Tells Boost.Regex to use a non-stack recursive matching algorithm, - this can be slightly slower than the alternative, but is always - safe no matter how pathological the regular expression. This is - the default on non-Win32 platforms. -

-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 3dfaa192f..38f8e561c 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -1,13 +1,14 @@ - + Compiler Setup - - + + - + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -34,17 +35,14 @@ that you can run.

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html deleted file mode 100644 index 3109eba83..000000000 --- a/doc/html/boost_regex/configuration/linkage.html +++ /dev/null @@ -1,106 +0,0 @@ - - - -Linkage Options - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -
---- - - - - - - - - - - - - - - - - - - -
-

- macro -

-
-

- description -

-
-

- BOOST_REGEX_DYN_LINK -

-
-

- For Microsoft and Borland C++ builds, this tells Boost.Regex that - it should link to the dll build of the Boost.Regex. By default - boost.regex will link to its static library build, even if the - dynamic C runtime library is in use. -

-
-

- BOOST_REGEX_NO_LIB -

-
-

- For Microsoft and Borland C++ builds, this tells Boost.Regex that - it should not automatically select the library to link to. -

-
-

- BOOST_REGEX_NO_FASTCALL -

-
-

- For Microsoft builds, this tells Boost.Regex to use the __cdecl calling convention rather - than __fastcall. - Useful if you want to use the same library from both managed and - unmanaged code. -

-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 896cff8de..7713145d8 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -1,13 +1,14 @@ - + Locale and traits class selection - - + + - - + + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -93,17 +94,14 @@

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/configuration/standalone.html b/doc/html/boost_regex/configuration/standalone.html new file mode 100644 index 000000000..25385b098 --- /dev/null +++ b/doc/html/boost_regex/configuration/standalone.html @@ -0,0 +1,63 @@ + + + +Use in Standalone Mode (without the rest of Boost) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +

+ This library may now be used in "standalone" mode without the rest + of the Boost C++ libraries, in order to do this you must either: +

+
    +
  • + Have a C++17 compiler that supports __has_include, + in this case if <boost/config.hpp> is not + present then the library will automoatically enter standalone mode. Or: +
  • +
  • + Define BOOST_REGEX_STANDALONE when building. +
  • +
+

+ The main difference between the 2 modes, is that when Boost.Config is present + the library will automatically configure itself around various compiler defects. + In particular in order to use the library with exception support turned off, + you will either need a copy of Boost.Config in your include path, or else + manually define BOOST_NO_EXCEPTIONS when building. +

+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 5f8d9674a..67d7a2771 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -1,13 +1,14 @@ - + Algorithm Tuning - - + + - + + @@ -20,49 +21,12 @@

-PrevUpHomeNext +PrevUpHomeNext
-

- The following option applies only if BOOST_REGEX_RECURSIVE is set. -

-
---- - - - - - - - - -
-

- macro -

-
-

- description -

-
-

- BOOST_REGEX_HAS_MS_STACK_GUARD -

-
-

- Tells Boost.Regex that Microsoft style __try - __except blocks - are supported, and can be used to safely trap stack overflow. -

-
-

- The following options apply only if BOOST_REGEX_NON_RECURSIVE is set. -

@@ -89,13 +53,12 @@ @@ -140,17 +103,14 @@

- In non-recursive mode, Boost.Regex uses largish blocks of memory - to act as a stack for the state machine, the larger the block size - then the fewer allocations that will take place. This defaults - to 4096 bytes, which is large enough to match the vast majority - of regular expressions without further allocations, however, you - can choose smaller or larger values depending upon your platforms - characteristics. + Boost.Regex uses largish blocks of memory to act as a stack for + the state machine, the larger the block size then the fewer allocations + that will take place. This defaults to 4096 bytes, which is large + enough to match the vast majority of regular expressions without + further allocations, however, you can choose smaller or larger + values depending upon your platforms characteristics.

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index ff2698e69..2d791eaf8 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -1,13 +1,14 @@ - + Search and Replace Format String Syntax - - - + + + + @@ -26,7 +27,7 @@ -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 62d8d85d5..7442c2ea7 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -1,13 +1,14 @@ - + Boost-Extended Format String Syntax - - + + + @@ -545,14 +546,11 @@
- - - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 736075c6c..eb59f21af 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -1,13 +1,14 @@ - + Perl Format String Syntax - - + + + @@ -487,14 +488,11 @@
- - - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index bb70ce489..fcc4d315e 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -1,13 +1,14 @@ - + Sed Format String Syntax - - + + + @@ -233,14 +234,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 87ab95da5..cbfdf01ae 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -1,13 +1,14 @@ - + Building and Installing the Library - - - + + + - + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -43,157 +44,72 @@ The library will encase all code inside namespace boost.

- Unlike some other template libraries, this library consists of a mixture of - template code (in the headers) and static code and data (in cpp files). Consequently - it is necessary to build the library's support code into a library or archive - file before you can use it, instructions for specific platforms are as follows: -

-

- - Building - with bjam -
-

- This is now the preferred method for building and installing this library, - please refer to the getting - started guide for more information. -

-
- - Building - With Unicode and ICU Support -
-

- Boost.Regex is now capable of performing a configuration check to test whether - ICU is already installed in your compiler's search paths. When you build you - should see a message like this: -

-
Performing configuration checks
-
-    - has_icu builds           : yes
-
-

- Which means that ICU has been found, and support for it will be enabled in - the library build. -

-
- - - - - -
[Tip]Tip

- If you don't want the regex library to use ICU then build with the "--disable-icu" - command line option. -

-

- If instead you see: -

-
Performing configuration checks
-
-    - has_icu builds           : no
-
-

- Then ICU was not found and support for it will not be compiled into the library. - If you think that it should have been found, then you will need to take a look - at the contents of the file boost-root/bin.v2/config.log - for the actual error messages obtained when the build carried out the configuration - check. You will then need to fix these errors by ensuring your compiler gets - invoked with the correct options, for example: -

-
bjam include=some-include-path --toolset=toolset-name install
-

- will add "some-include-path" to your compilers header include path, - or if ICU has been built with non-standard names for it's binaries, then: -

-
bjam -sICU_LINK="linker-options-for-icu" --toolset=toolset-name install
-

- Will use "linker-options-for-icu" when linking - the library rather than the default ICU binary names. + This is a header only library and all support for C++03 compilers has now been + removed.

- You might also need to use the options "cxxflags=-option" and "linkflags=-option" - to set compiler and linker specific options. + The only people that still need to build the external libboost_regex library + are those that are using the deprecated POSIX C API's

-
- - - - - -
[Important]Important

- Configuration results are cached - if you try rebuilding with different compiler - options then add an "-a" to the bjam command line to force all - targets to be rebuilt. -

- If ICU is not already in your compiler's path, but instead headers, libraries - and binaries are located at path-to-icu/include, path-to-icu/lib - and path-to-icu/bin respectively then you need to set - the environment variable ICU_PATH - to point to the root directory of your ICU installation: this typically happens - if you're building with MSVC. For example if ICU was installed to c:\download\icu you - might use: + Further, this library may now be used in "standalone" mode without + the rest of the Boost C++ libraries, in order to do this you must either:

-
bjam -sICU_PATH=c:\download\icu --toolset=toolset-name install
-
- - - - - -
[Important]Important

- ICU is a C++ library just like Boost is, as such your copy of ICU must have - been built with the same C++ compiler (and compiler version) that you are - using to build Boost. Boost.Regex will not work correctly unless you ensure - that this is the case: it is up to you to ensure that the version of ICU - you are using is binary compatible with the toolset you use to build Boost. -

+
    +
  • + Have a C++17 compiler that supports __has_include, + in this case if <boost/config.hpp> is not present then the library will + automoatically enter standalone mode. Or: +
  • +
  • + Define BOOST_REGEX_STANDALONE when building. +
  • +

- And finally, if you want to build/test with multiple compiler versions, all - with different ICU builds, then the only way to achieve that currently is to - modify your user-config.jam so that each toolset has the necessary compiler/linker - options set so that ICU is found automatically by the configuration step (providing - the ICU binaries use the standard names, all you have to add is the appropriate - header-include and linker-search paths). + If you are using this library with ICU, note that since it is now header only, + it will be up to you to link to the ICU libraries if you use <boost/regex/icu.hpp> unless you are using the supplied CMake + script.

- - Building - from Source + + Usage + with CMake

- The Regex library is "just a bunch of source files": nothing special - is required to build them. -

-

- You can either build the files under boost-path/libs/regex/src/*.cpp as a library, - or add them directly to your project. This is particularly useful if you need - to use specific compiler options not supported by the default Boost build. + The library comes with a very basic CMakeLists.txt that allows this library + to be used from other CMake scripts.

- There are two #defines you should be aware of: + CMakeLists.txt defines two targets:

  • - BOOST_HAS_ICU should be defined if you want ICU support compiled in. + Boost::regex This is the target to use for normal + header only builds.
  • - BOOST_REGEX_DYN_LINK should be defined if you are building a DLL on Windows. + Boost::regex_icu This is the target to use if + you are using <boost/regex/icu.hpp> in your code, and wish to have the + ICU dependencies taken care of for you.
+

+ There is also one configuration option: +

+
  • + BOOST_REGEX_STANDALONE when set then no other Boost libraries are targeted + as dependencies, and Boost.Regex is placed in standalone mode. Invoke CMake + with -DBOOST_REGEX_STANDALONE=on to enable standalone mode. +
- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/intro.html b/doc/html/boost_regex/intro.html index 6905ce439..96ad6eb76 100644 --- a/doc/html/boost_regex/intro.html +++ b/doc/html/boost_regex/intro.html @@ -1,13 +1,14 @@ - + Introduction and Overview - - - - + + + + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -178,7 +179,7 @@ a series of strings (similar to perl style split operations).

- For those that dislike templates, there is a high level wrapper class RegEx + For those that dislike templates, there is a high level wrapper class [RegEx] that is an encapsulation of the lower level template code - it provides a simplified interface for those that don't need the full power of the library, and supports only narrow characters, and the "extended" regular expression syntax. @@ -198,17 +199,14 @@ expression libraries including GNU and BSD4 regex packages, PCRE and Perl 5.

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/modules.html b/doc/html/boost_regex/modules.html new file mode 100644 index 000000000..69538fe6b --- /dev/null +++ b/doc/html/boost_regex/modules.html @@ -0,0 +1,108 @@ + + + +Module Support (Experimental) + + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +

+ This library has experimental support for C++ modules (C++20 or later), currently + the support is experimental not least because at the time of writing (2025) + build tools have yet to catch up with module support. +

+

+ In order to use this library as a module you simply add a: +

+
import boost.regex;
+
+

+ to your code. +

+

+ Before that you must first build the module, which consists of these steps: +

+
    +
  • + Depending on your compiler, you may need to build the standard library + module, and place the standard module somewhere that your compiler can + find it. +
  • +
  • + Build libs/regex/module/regex.cxx into the boost.regex module, and + place the module definition file somewhere that your compiler can find + it. +
  • +
  • + Build all the source files in libs/regex/module + (including regex.cxx) into a library, and place the result somewhere your + linker can find it. +
  • +
+

+ Visual studio users can simplify all of the above into one step, by placing + everything in libs/regex/module + into a static library project, and then adding the /interface command line option to the regex.cxx + source file. +

+

+ Known limitations: +

+
    +
  • + As of the start of 2025, only very recent versions of clang and msvc are + supported. GCC is definitely not supported. +
  • +
  • + The regex library must always be consumed via import + boost.regex; + and you can never mix this with #includes + <boost/regex.hpp>. +
  • +
  • + Ideally the standard library should always be used via import + std and not via #includes: more + recent compilers are mostly making this work, but are still very fragile. +
  • +
  • + The regex version imported, is always the "standalone" version + which includes no other Boost headers. +
  • +
+

+ Finally... there are some build and test scripts in libs/regex/test/module + for msvc and clang. +

+
+ +
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index 6c461ce8e..d043ef690 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -1,13 +1,14 @@ - + Partial Matches - - - + + + + @@ -300,14 +301,11 @@ } -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index 8f7877de4..4c4fd7069 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -1,13 +1,14 @@ - + Reference - - - + + + + @@ -26,7 +27,7 @@ - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index f3b1546ef..8d535061f 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -1,13 +1,14 @@ - + bad_expression - - + + + @@ -87,14 +88,11 @@
Report on C++ Library Extensions.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index fc68a6ab9..7c08f1662 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -1,13 +1,14 @@ - + basic_regex - - + + + @@ -325,7 +326,7 @@
basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -403,7 +404,7 @@
flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -506,7 +507,7 @@
specified in f.

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

@@ -608,7 +609,7 @@
according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -716,7 +717,7 @@
flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -816,7 +817,7 @@
flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -1002,7 +1003,7 @@
in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

@@ -1244,14 +1245,11 @@
Effects: calls lhs.swap(rhs).

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index 3c8e9733e..c6e8c0ea1 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -1,13 +1,14 @@ - + Concepts - - + + + @@ -26,7 +27,7 @@ -
+
charT Requirements
Traits Class Requirements
@@ -34,14 +35,11 @@ Requirements
-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index f17584c25..957444fa0 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -1,13 +1,14 @@ - + charT Requirements - - + + + @@ -256,14 +257,11 @@
- - - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index c64888a9d..ce031977b 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -1,13 +1,14 @@ - + Iterator Requirements - - + + + @@ -31,14 +32,11 @@ The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index d8a558397..a7b73fef2 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -1,13 +1,14 @@ - + Traits Class Requirements - - + + + @@ -575,14 +576,11 @@
- - - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/deprecated.html b/doc/html/boost_regex/ref/deprecated.html index f09dfa91a..1db77daea 100644 --- a/doc/html/boost_regex/ref/deprecated.html +++ b/doc/html/boost_regex/ref/deprecated.html @@ -1,13 +1,14 @@ - + Deprecated Interfaces - - + + + @@ -26,24 +27,19 @@ - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/deprecated/old_regex.html b/doc/html/boost_regex/ref/deprecated/old_regex.html deleted file mode 100644 index 45fb1e4e9..000000000 --- a/doc/html/boost_regex/ref/deprecated/old_regex.html +++ /dev/null @@ -1,832 +0,0 @@ - - - -High Level Class RegEx (Deprecated) - - - - - - - - - - - - - - - -
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
-
-
-PrevUpHomeNext -
-
- -

- The high level wrapper class RegEx is now deprecated and does not form - part of the regular expression standardization proposal. This type still - exists, and existing code will continue to compile, however the following - documentation is unlikely to be further updated. -

-
#include <boost/cregex.hpp>
-
-

- The class RegEx provides a high level simplified interface to the regular - expression library, this class only handles narrow character strings, and - regular expressions always follow the "normal" syntax - that - is the same as the perl / ECMAScript syntax. -

-
typedef bool (*GrepCallback)(const RegEx& expression);
-typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
-typedef bool (*FindFilesCallback)(const char* file);
-
-class  RegEx
-{
-public:
-   RegEx();
-   RegEx(const RegEx& o);
-   ~RegEx();
-   RegEx(const char* c, bool icase = false);
-   explicit RegEx(const std::string& s, bool icase = false);
-   RegEx& operator=(const RegEx& o);
-   RegEx& operator=(const char* p);
-   RegEx& operator=(const std::string& s);
-   unsigned int SetExpression(const char* p, bool icase = false);
-   unsigned int SetExpression(const std::string& s, bool icase = false);
-   std::string Expression()const;
-   //
-   // now matching operators: 
-   // 
-   bool Match(const char* p, boost::match_flag_type flags = match_default);
-   bool Match(const std::string& s, boost::match_flag_type flags = match_default);
-   bool Search(const char* p, boost::match_flag_type flags = match_default);
-   bool Search(const std::string& s, boost::match_flag_type flags = match_default);
-   unsigned int Grep(GrepCallback cb, const char* p,
-                     boost::match_flag_type flags = match_default);
-   unsigned int Grep(GrepCallback cb, const std::string& s,
-                     boost::match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<std::string>& v, const char* p,
-                     boost::match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<std::string>& v, const std::string& s,
-                     boost::match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<unsigned int>& v, const char* p,
-                     boost::match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<unsigned int>& v, const std::string& s,
-                     boost::match_flag_type flags = match_default);
-   unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false,
-                          boost::match_flag_type flags = match_default);
-   unsigned int GrepFiles(GrepFileCallback cb, const std::string& files,
-                          bool recurse = false,
-                          boost::match_flag_type flags = match_default);
-   unsigned int FindFiles(FindFilesCallback cb, const char* files,
-                          bool recurse = false,
-                          boost::match_flag_type flags = match_default);
-   unsigned int FindFiles(FindFilesCallback cb, const std::string& files,
-                          bool recurse = false,
-                          boost::match_flag_type flags = match_default);
-   std::string Merge(const std::string& in, const std::string& fmt,
-                     bool copy = true, boost::match_flag_type flags = match_default);
-   std::string Merge(const char* in, const char* fmt, bool copy = true,
-                     boost::match_flag_type flags = match_default);
-   unsigned Split(std::vector<std::string>& v, std::string& s,
-                  boost::match_flag_type flags = match_default,
-                  unsigned max_count = ~0);
-   // 
-   // now operators for returning what matched in more detail: 
-   // 
-   unsigned int Position(int i = 0)const;
-   unsigned int Length(int i = 0)const;
-   bool Matched(int i = 0)const;
-   unsigned int Line()const;
-   unsigned int Marks() const;
-   std::string What(int i)const;
-   std::string operator[](int i)const ;
-
-   static const unsigned int npos;
-};
-
-

- Member functions for class RegEx are defined as follows: -

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Member -

-
-

- Description -

-
-

- RegEx(); -

-
-

- Default constructor, constructs an instance of RegEx without - any valid expression. -

-
-

- RegEx(const RegEx& o); -

-
-

- Copy constructor, all the properties of parameter o - are copied. -

-
-

- RegEx(const char* c, bool - icase = - false); -

-
-

- Constructs an instance of RegEx, setting the expression to c, - if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. -

-
-

- RegEx(const std::string& s, bool - icase = - false); -

-
-

- Constructs an instance of RegEx, setting the expression to s, - if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. -

-
-

- RegEx& - operator=(const RegEx& o); -

-
-

- Default assignment operator. -

-
-

- RegEx& - operator=(const char* p); -

-
-

- Assignment operator, equivalent to calling SetExpression(p, false). Throws bad_expression on failure. -

-
-

- RegEx& - operator=(const std::string& s); -

-
-

- Assignment operator, equivalent to calling SetExpression(s, false). Throws bad_expression on failure. -

-
-

- unsigned int - SetExpression(const char* p, bool - icase = - false); -

-
-

- Sets the current expression to p, if icase - is true then matching is insensitive to case, otherwise it is - sensitive to case. Throws bad_expression on failure. -

-
-

- unsigned int - SetExpression(const std::string& s, bool - icase = - false); -

-
-

- Sets the current expression to s, if icase - is true then matching is insensitive to case, otherwise it is - sensitive to case. Throws bad_expression on failure. -

-
-

- std::string Expression()const; -

-
-

- Returns a copy of the current regular expression. -

-
-

- bool Match(const - char* - p, - boost::match_flag_type flags - = match_default); -

-
-

- Attempts to match the current expression against the text p - using the match flags flags - see match_flag_type. - Returns true if the expression matches the - whole of the input string. -

-
-

- bool Match(const - std::string& - s, - boost::match_flag_type flags - = match_default); -

-
-

- Attempts to match the current expression against the text s - using the match_flag_type flags. - Returns true if the expression matches the - whole of the input string. -

-
-

- bool Search(const - char* - p, - boost::match_flag_type flags - = match_default); -

-
-

- Attempts to find a match for the current expression somewhere - in the text p using the match_flag_type flags. - Returns true if the match succeeds. -

-
-

- bool Search(const - std::string& - s, - boost::match_flag_type flags - = match_default); -

-
-

- Attempts to find a match for the current expression somewhere - in the text s using the match_flag_type flags. - Returns true if the match succeeds. -

-
-

- unsigned int - Grep(GrepCallback cb, const - char* - p, - boost::match_flag_type flags - = match_default); -

-
-

- Finds all matches of the current expression in the text p - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); - If at any stage the call-back function returns false - then the grep operation terminates, otherwise continues until - no further matches are found. Returns the number of matches found. -

-
-

- unsigned int - Grep(GrepCallback cb, const - std::string& - s, - boost::match_flag_type flags - = match_default); -

-
-

- Finds all matches of the current expression in the text s - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); - If at any stage the call-back function returns false then the - grep operation terminates, otherwise continues until no further - matches are found. Returns the number of matches found. -

-
-

- unsigned int - Grep(std::vector<std::string>& - v, - const char* p, boost::match_flag_type - flags = - match_default); -

-
-

- Finds all matches of the current expression in the text p - using the match_flag_type flags. - For each match pushes a copy of what matched onto v. - Returns the number of matches found. -

-
-

- unsigned int - Grep(std::vector<std::string>& - v, - const std::string& s, boost::match_flag_type - flags = - match_default); -

-
-

- Finds all matches of the current expression in the text s - using the match_flag_type flags. - For each match pushes a copy of what matched onto v. - Returns the number of matches found. -

-
-

- unsigned int - Grep(std::vector<unsigned int>& v, const - char* - p, - boost::match_flag_type flags - = match_default); -

-
-

- Finds all matches of the current expression in the text p - using the match_flag_type flags. - For each match pushes the starting index of what matched onto - v. Returns the number of matches found. -

-
-

- unsigned int - Grep(std::vector<unsigned int>& v, const - std::string& - s, - boost::match_flag_type flags - = match_default); -

-
-

- Finds all matches of the current expression in the text s - using the match_flag_type flags. - For each match pushes the starting index of what matched onto - v. Returns the number of matches found. -

-
-

- unsigned int - GrepFiles(GrepFileCallback cb, const - char* - files, - bool recurse - = false, boost::match_flag_type - flags = - match_default); -

-
-

- Finds all matches of the current expression in the files files - using the match_flag_type flags. - For each match calls the call-back function cb. If the call-back - returns false then the algorithm returns without considering - further matches in the current file, or any further files. -

-

- The parameter files can include wild card - characters '*' and '?', if the parameter recurse is true then - searches sub-directories for matching file names. -

-

- Returns the total number of matches found. -

-

- May throw an exception derived from std::runtime_error - if file io fails. -

-
-

- unsigned int - GrepFiles(GrepFileCallback cb, const - std::string& - files, - bool recurse - = false, boost::match_flag_type - flags = - match_default); -

-
-

- Finds all matches of the current expression in the files files - using the match_flag_type flags. - For each match calls the call-back function cb. -

-

- If the call-back returns false then the algorithm returns without - considering further matches in the current file, or any further - files. -

-

- The parameter files can include wild card - characters '*' and '?', if the parameter recurse is true then - searches sub-directories for matching file names. -

-

- Returns the total number of matches found. -

-

- May throw an exception derived from std::runtime_error - if file io fails. -

-
-

- unsigned int - FindFiles(FindFilesCallback cb, const - char* - files, - bool recurse - = false, boost::match_flag_type - flags = - match_default); -

-
-

- Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. - For each matching file calls the call-back function cb. If the - call-back returns false then the algorithm returns without considering - any further files. -

-

- The parameter files can include wild card - characters '*' and '?', if the parameter recurse - is true then searches sub-directories for matching file names. -

-

- Returns the total number of files found. -

-

- May throw an exception derived from std::runtime_error - if file io fails. -

-
-

- unsigned int - FindFiles(FindFilesCallback cb, const - std::string& - files, - bool recurse - = false, boost::match_flag_type - flags = - match_default); -

-
-

- Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. - For each matching file calls the call-back function cb. -

-

- If the call-back returns false then the algorithm returns without - considering any further files. -

-

- The parameter files can include wild card - characters '*' and '?', if the parameter recurse - is true then searches sub-directories for matching file names. -

-

- Returns the total number of files found. -

-

- May throw an exception derived from std::runtime_error - if file io fails. -

-
-

- std::string Merge(const - std::string& - in, - const std::string& fmt, bool - copy = - true, - boost::match_flag_type flags - = match_default); -

-
-

- Performs a search and replace operation: searches through the - string in for all occurrences of the current - expression, for each occurrence replaces the match with the format - string fmt. Uses flags - to determine what gets matched, and how the format string should - be treated. If copy is true then all unmatched - sections of input are copied unchanged to output, if the flag - format_first_only is set then only the first - occurrence of the pattern found is replaced. Returns the new - string. See also format string - syntax, and match_flag_type. -

-
-

- std::string Merge(const - char* - in, - const char* fmt, bool - copy = - true, - boost::match_flag_type flags - = match_default); -

-
-

- Performs a search and replace operation: searches through the - string in for all occurrences of the current - expression, for each occurrence replaces the match with the format - string fmt. Uses flags - to determine what gets matched, and how the format string should - be treated. If copy is true then all unmatched - sections of input are copied unchanged to output, if the flag - format_first_only is set then only the first - occurrence of the pattern found is replaced. Returns the new - string. See also format string - syntax, and match_flag_type. -

-
-

- unsigned Split(std::vector<std::string>& v, std::string& s, boost::match_flag_type - flags = - match_default, - unsigned max_count - = ~0); -

-
-

- Splits the input string and pushes each one onto the vector. - If the expression contains no marked sub-expressions, then one - string is outputted for each section of the input that does not - match the expression. If the expression does contain marked sub-expressions, - then outputs one string for each marked sub-expression each time - a match occurs. Outputs no more than max_count - strings. Before returning, deletes from the input string s - all of the input that has been processed (all of the string if - max_count was not reached). Returns the - number of strings pushed onto the vector. -

-
-

- unsigned int - Position(int i - = 0)const; -

-
-

- Returns the position of what matched sub-expression i. - If i = - 0 then returns the position - of the whole match. Returns RegEx::npos - if the supplied index is invalid, or if the specified sub-expression - did not participate in the match. -

-
-

- unsigned int - Length(int i - = 0)const; -

-
-

- Returns the length of what matched sub-expression i. If i = - 0 then returns the length - of the whole match. Returns RegEx::npos - if the supplied index is invalid, or if the specified sub-expression - did not participate in the match. -

-
-

- bool Matched(int - i = - 0)const; -

-
-

- Returns true if sub-expression i was matched, - false otherwise. -

-
-

- unsigned int - Line()const; -

-
-

- Returns the line on which the match occurred, indexes start from - 1 not zero, if no match occurred then returns RegEx::npos. -

-
-

- unsigned int - Marks() - const; -

-
-

- Returns the number of marked sub-expressions contained in the - expression. Note that this includes the whole match (sub-expression - zero), so the value returned is always >= 1. -

-
-

- std::string What(int - i)const; -

-
-

- Returns a copy of what matched sub-expression i. - If i = - 0 then returns a copy of - the whole match. Returns a null string if the index is invalid - or if the specified sub-expression did not participate in a match. -

-
-

- std::string operator[](int - i)const ; -

-
-

- Returns what(i); Can be used to simplify access - to sub-expression matches, and make usage more perl-like. -

-
-
- - - -
-
-
-PrevUpHomeNext -
- - diff --git a/doc/html/boost_regex/ref/deprecated/regex_format.html b/doc/html/boost_regex/ref/deprecated/regex_format.html index c34a8531a..12d4d04ba 100644 --- a/doc/html/boost_regex/ref/deprecated/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated/regex_format.html @@ -1,13 +1,14 @@ - + regex_format (Deprecated) - - + + + @@ -157,14 +158,11 @@
under format strings.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/deprecated/regex_grep.html b/doc/html/boost_regex/ref/deprecated/regex_grep.html index dded2993c..79dd56f35 100644 --- a/doc/html/boost_regex/ref/deprecated/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated/regex_grep.html @@ -1,13 +1,14 @@ - + regex_grep (Deprecated) - - + + + @@ -359,14 +360,11 @@ } -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/deprecated/regex_split.html b/doc/html/boost_regex/ref/deprecated/regex_split.html index fc74ce177..8d5175be7 100644 --- a/doc/html/boost_regex/ref/deprecated/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated/regex_split.html @@ -1,13 +1,14 @@ - + regex_split (deprecated) - - + + - + + @@ -20,7 +21,7 @@

-PrevUpHomeNext +PrevUpHomeNext

@@ -147,17 +148,14 @@ }

- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index ff5a080a5..1af2f6a86 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -1,13 +1,14 @@ - + error_type - - + + + @@ -255,14 +256,11 @@
- - - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/internals.html b/doc/html/boost_regex/ref/internals.html index a7d8cc2d2..9faedee58 100644 --- a/doc/html/boost_regex/ref/internals.html +++ b/doc/html/boost_regex/ref/internals.html @@ -1,13 +1,14 @@ - + Internal Details - - + + - + + @@ -20,25 +21,22 @@

-PrevUpHomeNext +PrevUpHomeNext
- - - -
+

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/ref/internals/uni_iter.html b/doc/html/boost_regex/ref/internals/uni_iter.html index fc320015b..1c6e35859 100644 --- a/doc/html/boost_regex/ref/internals/uni_iter.html +++ b/doc/html/boost_regex/ref/internals/uni_iter.html @@ -1,13 +1,14 @@ - + Unicode Iterators - - + + + @@ -161,14 +162,11 @@
must be in native byte order.

-
- - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 17c6f8d1f..0c4ae6140 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -1,13 +1,14 @@ - + match_flag_type - - + + + @@ -481,14 +482,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 61c0566ee..05b2da5d8 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -1,13 +1,14 @@ - + match_results - - + + + @@ -816,14 +817,11 @@
Effects: Swaps the contents of the two sequences.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 43843eb88..d61701008 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -1,13 +1,14 @@ - + Interfacing With Non-Standard String Types - - + + + @@ -27,7 +28,7 @@ Interfacing With Non-Standard String Types -
+
Working With Unicode and ICU String Types
@@ -71,14 +72,11 @@ class types.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/icu.html b/doc/html/boost_regex/ref/non_std_strings/icu.html index d91c64f74..983afa5e8 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -1,13 +1,14 @@ - + Working With Unicode and ICU String Types - - + + + @@ -27,7 +28,7 @@ Working With Unicode and ICU String Types - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html index a213c920b..c2a3c8487 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html @@ -1,13 +1,14 @@ - + Introduction to using Regex with ICU - - + + + @@ -38,9 +39,7 @@

In order to use this header you will need the ICU - library, and you will need to have built the Boost.Regex library - with ICU - support enabled. + library.

The header will enable you to: @@ -59,15 +58,17 @@ UTF-16 or UTF-32. +

+ CMake users should link to the Boost::regex_icu + target in our CMakeLists.txt in order to have ICU dependencies taken + care of when using this header. +

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index 972cec66f..336478b88 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -1,13 +1,14 @@ - + Unicode Regular Expression Algorithms - - + + + @@ -164,14 +165,11 @@
} -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index ba64e3b73..9ce455063 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -1,13 +1,14 @@ - + Unicode Aware Regex Iterators - - + + + @@ -115,12 +116,12 @@

Calling

-
enumerate_currencies(" $100.23 or £198.12 ");
+
enumerate_currencies(" $100.23 or £198.12 ");

Yields the output:

$100.23
-£198.12
+£198.12
 

Provided of course that the input is encoded as UTF-8. @@ -307,14 +308,11 @@

} -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index 07e37bf3e..6772296e0 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html @@ -1,13 +1,14 @@ - + Unicode regular expression types - - + + + @@ -116,14 +117,11 @@ object from the UTF-16 encoding string s.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html index ea87e6ee1..e7fb077f1 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html @@ -1,13 +1,14 @@ - + Using Boost Regex With MFC Strings - - + + + @@ -27,7 +28,7 @@ Using Boost Regex With MFC Strings - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 981fbb584..9fe321c9e 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -1,13 +1,14 @@ - + Overloaded Algorithms For MFC String Types - - + + + @@ -212,14 +213,11 @@
} -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index 5041ba75c..3b8a79b03 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html @@ -1,13 +1,14 @@ - + Introduction to Boost.Regex and MFC Strings - - + + + @@ -49,14 +50,11 @@ CSimpleStringT<charT> -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index 5b22208ca..bf70b121b 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -1,13 +1,14 @@ - + Iterating Over the Matches Within An MFC String - - + + + @@ -134,14 +135,11 @@
} -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html index e9e872986..cd55970d1 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html @@ -1,13 +1,14 @@ - + Regular Expression Creation From an MFC String - - + + + @@ -41,14 +42,11 @@ f);

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html index 049a154c5..1f1459e16 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html @@ -1,13 +1,14 @@ - + Regex Types Used With MFC Strings - - + + + @@ -42,14 +43,11 @@ and wregex instead.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 929ac244a..0782ded38 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -1,13 +1,14 @@ - + POSIX Compatible C API's - - + + + @@ -537,14 +538,11 @@ that was allocated by regcomp.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 195600c6f..d024f3e71 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -1,13 +1,14 @@ - + regex_iterator - - + + + @@ -203,7 +204,7 @@

- (*it).prefix().last + (*it).prefix().second

@@ -240,7 +241,7 @@

- (*it).suffix().last + (*it).suffix().second

@@ -515,14 +516,11 @@
} - - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 9e9a7b821..efbc4a249 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -1,13 +1,14 @@ - + regex_match - - + + + @@ -173,7 +174,7 @@

- m.prefix().last + m.prefix().second

@@ -209,7 +210,7 @@

- m.suffix().last + m.suffix().second

@@ -400,14 +401,11 @@
} - - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index 61a5237fe..db8c5a4dc 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -1,13 +1,14 @@ - + regex_replace - - + + + @@ -135,7 +136,7 @@

calls

-
std::copy(m.prefix().first, m.prefix().last, out),
+
std::copy(m.prefix().first, m.prefix().second, out),
 

and then calls @@ -150,7 +151,7 @@

calls

-
std::copy(last_m.suffix().first, last_m,suffix().last, out)
+
std::copy(last_m.suffix().first, last_m.suffix().second, out)
 

where last_m is a copy of the last match found. @@ -316,14 +317,11 @@

const char* footer_text = "</PRE>\n</BODY>\n\n";
-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index f10aea594..c464446eb 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -1,13 +1,14 @@ - + regex_search - - + + + @@ -165,7 +166,7 @@

- m.prefix().last + m.prefix().second

@@ -202,7 +203,7 @@

- m.suffix().last + m.suffix().second

@@ -410,14 +411,11 @@
} - - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index d38169789..da808d7cf 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -1,13 +1,14 @@ - + regex_token_iterator - - + + + @@ -468,14 +469,11 @@
} -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index aa809bf78..4e0e777c3 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -1,13 +1,14 @@ - + regex_traits - - + + + @@ -91,14 +92,11 @@
class requirements.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index 049bb0ccf..cbc6c35f0 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -1,13 +1,14 @@ - + sub_match - - + + + @@ -896,14 +897,11 @@
Effects: returns (os << m.str()).

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index f7f706558..b294a19c3 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -1,13 +1,14 @@ - + syntax_option_type - - + + + @@ -26,7 +27,7 @@ - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html index 6c898f551..8a15716aa 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html @@ -1,13 +1,14 @@ - + Options for POSIX Basic Regular Expressions - - + + + @@ -398,14 +399,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html index a98ed8cef..21d502cb7 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html @@ -1,13 +1,14 @@ - + Options for POSIX Extended Regular Expressions - - + + + @@ -351,14 +352,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html index 6e952486c..6b78f20ac 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html @@ -1,13 +1,14 @@ - + Options for Literal Strings - - + + + @@ -141,14 +142,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html index 120bea0dd..60fb20d94 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html @@ -1,13 +1,14 @@ - + Overview of syntax_option_type - - + + + @@ -58,14 +59,11 @@ in an interchangeable manner.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html index 206ed1e43..cfaf46e63 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html @@ -1,13 +1,14 @@ - + Options for Perl Regular Expressions - - + + + @@ -411,14 +412,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html index 0557b4d9d..58c9c6476 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html @@ -1,13 +1,14 @@ - + syntax_option_type Synopsis - - + + + @@ -86,14 +87,11 @@ }// namespace std -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 1573d72a4..d890da021 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -1,13 +1,14 @@ - + Regular Expression Syntax - - - + + + + @@ -26,7 +27,7 @@ -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index e05ccf7eb..609147d1b 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -1,13 +1,14 @@ - + POSIX Extended Regular Expression Syntax - - + + + @@ -231,9 +232,9 @@
sets:

- A character set is a bracket-expression starting with [ and ending with ], - it defines a set of characters, and matches any single character that is - a member of that set. + A character set is a bracket-expression starting with [ + and ending with ], it defines a set of characters, and + matches any single character that is a member of that set.

A bracket expression may contain any combination of the following: @@ -322,7 +323,7 @@

elements the name col may be a symbolic name. A primary sort key is one that ignores case, accentation, or locale-specific tailorings; so for example [[=a=]] matches - any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation + any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform. @@ -1183,14 +1184,11 @@

Utilities, Section 4, Utilities, awk.

-

- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 208fb9d00..7598539b3 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -1,13 +1,14 @@ - + POSIX Basic Regular Expression Syntax - - + + + @@ -176,9 +177,9 @@
sets:

- A character set is a bracket-expression starting with [ and ending with ], - it defines a set of characters, and matches any single character that is - a member of that set. + A character set is a bracket-expression starting with [ + and ending with ], it defines a set of characters, and + matches any single character that is a member of that set.

A bracket expression may contain any combination of the following: @@ -268,7 +269,7 @@

elements the name col may be a collating symbolic name. A primary sort key is one that ignores case, accentation, or locale-specific tailorings; so for example [[=a=]] matches - any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation + any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform. @@ -640,14 +641,11 @@

Emacs Version 21.3.

-

- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 7b1324cfe..43aca0b3a 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -1,13 +1,14 @@ - + Character Class Names - - + + + @@ -27,21 +28,18 @@ Character Class Names - -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html index ad35f0fe2..09afd14da 100644 --- a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html +++ b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html @@ -1,13 +1,14 @@ - + Character classes that are supported by Unicode Regular Expressions - - + + + @@ -525,14 +526,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html index 42918d24a..809e6989d 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html @@ -1,13 +1,14 @@ - + Character Classes that are Always Supported - - + + + @@ -380,14 +381,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 654c21f59..4e63ede31 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -1,13 +1,14 @@ - + Collating Names - - + + + @@ -26,7 +27,7 @@ -
+
Digraphs
POSIX Symbolic Names
@@ -34,14 +35,11 @@ Unicode Characters
-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index a2b502b05..076108858 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -1,13 +1,14 @@ - + Digraphs - - + + + @@ -45,14 +46,11 @@ and the character "c".

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/collating_names/named_unicode.html b/doc/html/boost_regex/syntax/collating_names/named_unicode.html index 4de7775e8..c1a996a55 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -1,13 +1,14 @@ - + Named Unicode Characters - - + + + @@ -38,14 +39,11 @@ would match the Unicode character 0x0418.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html index 4ab6b0d34..53a1b322d 100644 --- a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html +++ b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html @@ -1,13 +1,14 @@ - + POSIX Symbolic Names - - + + + @@ -967,14 +968,11 @@
- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index db03acdf4..157479758 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -1,13 +1,14 @@ - + The Leftmost Longest Rule - - + + + @@ -63,14 +64,11 @@ -
- - -
+

PrevUpHomeNext diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index fffc1b401..aebc61423 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -1,13 +1,14 @@ - + Perl Regular Expression Syntax - - + + + @@ -364,9 +365,14 @@
+

+ Note that a back reference can also be a forward-reference to a sub-expression + that has not yet been seen - this only really makes sense within a repeat, + so for example (\2two|(one))+ will match "oneonetwo". +

Finally the \k escape can be used to refer to named subexpressions, for example - \k<two> will match whatever matched the subexpression + \k<two> will whatever matched the subexpression named "two".

@@ -402,9 +408,9 @@
sets

- A character set is a bracket-expression starting with [] and ending - with , it defines a set of characters, and matches - any single character that is a member of that set. + A character set is a bracket-expression starting with [ + and ending with ], it defines a set of characters, and + matches any single character that is a member of that set.

A bracket expression may contain any combination of the following: @@ -486,7 +492,7 @@

may be a symbolic name. A primary sort key is one that ignores case, accentation, or locale-specific tailorings; so for example [[=a=]] matches - any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation + any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform. @@ -1659,14 +1665,11 @@

Perl 5.8.

- - - -
+
PrevUpHomeNext diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index e91f1a3c9..8da303198 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -1,13 +1,14 @@ - + Unicode and Boost.Regex - - - + + + + @@ -63,21 +64,17 @@

If you have the ICU - library, then Boost.Regex can be configured - to make use of it, and provide a distinct regular expression type (boost::u32regex), - that supports both Unicode specific character properties, and the searching - of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU - string class support. + library, then Boost.Regex provides a distinct regular expression type + (boost::u32regex), that supports both Unicode specific character properties, + and the searching of text that is encoded in either UTF-8, UTF-16, or UTF-32. + See: ICU string class support.

-
- - -
+

PrevUpHomeNext diff --git a/doc/html/index.html b/doc/html/index.html index cb48f2661..d082acfc0 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,11 +1,12 @@ - -Boost.Regex 5.1.3 + +Boost.Regex 7.0.1 - - + + + @@ -22,11 +23,11 @@

-Boost.Regex 5.1.3

+Boost.Regex 7.0.1

John Maddock

-
+

Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -38,17 +39,18 @@

Table of Contents

-
+
Configuration
Compiler Setup
+
Use in Standalone + Mode (without the rest of Boost)
Locale and traits class selection
-
Linkage Options
-
Algorithm Selection
Algorithm Tuning
Building and Installing the Library
+
Module Support (Experimental)
Introduction and Overview
Unicode and Boost.Regex
Understanding Marked Sub-Expressions @@ -163,8 +165,6 @@
regex_grep (Deprecated)
regex_split (deprecated)
-
High Level Class - RegEx (Deprecated)
Internal Details
Unicode Iterators
@@ -180,30 +180,30 @@
FAQ
Performance
-
Testing - simple leftmost-longest matches (platform = linux, compiler = GNU C++ version - 6.3.0)
-
Testing - Perl searches (platform = linux, compiler = GNU C++ version 6.3.0)
-
Testing - simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft - Visual C++ version 14.1)
-
Testing +
Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual - C++ version 14.1)
-
Testing - simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0)
-
Testing + C++ version 14.3)
+
Testing + simple leftmost-longest matches (platform = Windows x64, compiler = GNU C++ + version 11.4.0)
+
Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version - 14.1)
-
Testing + 14.3)
+
Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual - C++ version 14.1)
-
Testing - leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0)
+ C++ version 14.3) +
Testing + Perl searches (platform = Windows x64, compiler = GNU C++ version 11.4.0)
+
Testing + simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft + Visual C++ version 14.3)
+
Testing + leftmost-longest searches (platform = Windows x64, compiler = GNU C++ version + 11.4.0)
+
Testing + simple Perl matches (platform = Windows x64, compiler = GNU C++ version 11.4.0)
Standards Conformance
-
Redistributables
Acknowledgements
History
@@ -214,10 +214,7 @@ version of this manual is also available.

-
- - -

Last revised: October 09, 2017 at 17:30:50 GMT

+
Next
diff --git a/doc/icu_strings.qbk b/doc/icu_strings.qbk index e38e0431c..d13c78800 100644 --- a/doc/icu_strings.qbk +++ b/doc/icu_strings.qbk @@ -18,9 +18,7 @@ contains the data types and algorithms necessary for working with regular expressions in a Unicode aware environment. In order to use this header you will need the -[@http://www.ibm.com/software/globalization/icu/ ICU library], and you will need -to have built the Boost.Regex library with -[link boost_regex.install.building_with_unicode_and_icu_su ICU support enabled]. +[@http://www.ibm.com/software/globalization/icu/ ICU library]. The header will enable you to: @@ -28,6 +26,9 @@ The header will enable you to: * Create regular expressions that support various Unicode data properties, including character classification. * Transparently search Unicode strings that are encoded as either UTF-8, UTF-16 or UTF-32. +CMake users should link to the `Boost::regex_icu` target in our CMakeLists.txt in order to have ICU dependencies +taken care of when using this header. + [endsect] [section:unicode_types Unicode regular expression types] diff --git a/doc/install.qbk b/doc/install.qbk index fdedaebf3..6ed8dc1cb 100644 --- a/doc/install.qbk +++ b/doc/install.qbk @@ -20,97 +20,34 @@ process is the same as for all of boost; see the The library will encase all code inside namespace boost. -Unlike some other template libraries, this library consists of a mixture of -template code (in the headers) and static code and data (in cpp files). -Consequently it is necessary to build the library's support code into a -library or archive file before you can use it, instructions for specific -platforms are as follows: +This is a header only library and all support for +C++03 compilers has now been removed. -[h4 Building with bjam] +The only people that still need to build the external libboost_regex library are those that are using the deprecated POSIX C API's -This is now the preferred method for building and installing this library, -please refer to the -[@../../../../more/getting_started.html getting started guide] for more information. +Further, this library may now be used in "standalone" mode without the rest of the Boost C++ libraries, +in order to do this you must either: -[h4 Building With Unicode and ICU Support] +* Have a C++17 compiler that supports `__has_include`, in this case if `` is not present +then the library will automoatically enter standalone mode. Or: +* Define BOOST_REGEX_STANDALONE when building. -Boost.Regex is now capable of performing a configuration check -to test whether ICU is already installed in your compiler's -search paths. When you build you should see a message like -this: +If you are using this library with ICU, note that since it is now header only, it will be up to you +to link to the ICU libraries if you use `` unless you are using the supplied CMake script. - Performing configuration checks +[h4 Usage with CMake] - - has_icu builds : yes +The library comes with a very basic CMakeLists.txt that allows this library to be used from other CMake scripts. -Which means that ICU has been found, and support for it will be enabled -in the library build. +CMakeLists.txt defines two targets: -[tip If you don't want the regex library to use ICU then build with the -"--disable-icu" command line option.] +* `Boost::regex` This is the target to use for normal header only builds. +* `Boost::regex_icu` This is the target to use if you are using `` in your code, and wish to have the ICU dependencies taken care of for you. -If instead you see: +There is also one configuration option: - Performing configuration checks - - - has_icu builds : no - -Then ICU was not found and support for it will not be compiled into the library. -If you think that it should have been found, then you will need to take a look -at the contents of the file ['boost-root/bin.v2/config.log] for the actual error -messages obtained when the build carried out the configuration check. You will -then need to fix these errors by ensuring your compiler gets invoked with the correct -options, for example: - -[pre bjam include=some-include-path --toolset=toolset-name install] - -will add "some-include-path" to your compilers header include path, or if ICU -has been built with non-standard names for it's binaries, then: - -[pre bjam -sICU_LINK="linker-options-for-icu" --toolset=toolset-name install] - -Will use ['"linker-options-for-icu"] when linking the library rather than the default -ICU binary names. - -You might also need to use the options "cxxflags=-option" and "linkflags=-option" to set compiler and linker -specific options. - -[important Configuration results are cached - if you try rebuilding with different compiler -options then add an "-a" to the bjam command line to force all targets to be rebuilt.] - -If ICU is not already in your compiler's path, but instead headers, libraries and binaries -are located at ['path-to-icu/include], ['path-to-icu/lib] and ['path-to-icu/bin] respectively -then you need to set the environment variable `ICU_PATH` to point to the root directory of your -ICU installation: this typically happens if you're building with MSVC. -For example if ICU was installed to `c:\download\icu` you -might use: - -[pre bjam -sICU_PATH=c:\download\icu --toolset=toolset-name install] - -[important ICU is a C++ library just like Boost is, as such your copy of -ICU must have been built with the same C++ compiler (and compiler version) -that you are using to build Boost. Boost.Regex will not work correctly unless -you ensure that this is the case: it is up to you to ensure that the version -of ICU you are using is binary compatible with the toolset you use to build Boost.] - -And finally, if you want to build/test with multiple compiler versions, all with different ICU -builds, then the only way to achieve that currently is to modify your user-config.jam so that -each toolset has the necessary compiler/linker options set so that ICU is found automatically -by the configuration step (providing the ICU binaries use the standard names, all you have to -add is the appropriate header-include and linker-search paths). - -[h4 Building from Source] - -The Regex library is "just a bunch of source files": nothing special is required to build them. - -You can either build the files under boost-path/libs/regex/src/*.cpp as a library, or add them -directly to your project. This is particularly useful if you need to use specific compiler -options not supported by the default Boost build. - -There are two #defines you should be aware of: - -* BOOST_HAS_ICU should be defined if you want ICU support compiled in. -* BOOST_REGEX_DYN_LINK should be defined if you are building a DLL on Windows. +* BOOST_REGEX_STANDALONE when set then no other Boost libraries are targeted as dependencies, and Boost.Regex is placed in standalone mode. Invoke CMake +with -DBOOST_REGEX_STANDALONE=on to enable standalone mode. [endsect] diff --git a/doc/modules.qbk b/doc/modules.qbk new file mode 100644 index 000000000..6358c23b0 --- /dev/null +++ b/doc/modules.qbk @@ -0,0 +1,40 @@ +[/ + Copyright 2024 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + +[section:modules Module Support (Experimental)] + +This library has experimental support for C++ modules (C++20 or later), currently the support is experimental +not least because at the time of writing (2025) build tools have yet to catch up with module support. + +In order to use this library as a module you simply add a: + +``` +import boost.regex; +``` + +to your code. + +Before that you must first build the module, which consists of these steps: + +* Depending on your compiler, you may need to build the standard library module, and place the standard module somewhere that your compiler can find it. +* Build `libs/regex/module/regex.cxx` into the boost.regex module, and place the module definition file somewhere that your compiler can find it. +* Build all the source files in `libs/regex/module` (including regex.cxx) into a library, and place the result somewhere your linker can find it. + +Visual studio users can simplify all of the above into one step, by placing everything in `libs/regex/module` into a static library project, and then adding the `/interface` +command line option to the regex.cxx source file. + +Known limitations: + +* As of the start of 2025, only very recent versions of clang and msvc are supported. GCC is definitely not supported. +* The regex library must always be consumed via `import boost.regex;` and you can never mix this with `#includes `. +* Ideally the standard library should always be used via `import std` and not via #includes: more recent compilers are mostly making this work, but are still very fragile. +* The regex version imported, is always the "standalone" version which includes no other Boost headers. + +Finally... there are some build and test scripts in `libs/regex/test/module` for msvc and clang. + +[endsect] + diff --git a/doc/old_regex.qbk b/doc/old_regex.qbk deleted file mode 100644 index e2415a751..000000000 --- a/doc/old_regex.qbk +++ /dev/null @@ -1,283 +0,0 @@ -[/ - Copyright 2006-2007 John Maddock. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -] - - -[section:old_regex High Level Class RegEx (Deprecated)] - -The high level wrapper class RegEx is now deprecated and does not form -part of the regular expression standardization proposal. This type still -exists, and existing code will continue to compile, however the following -documentation is unlikely to be further updated. - - #include - -The class RegEx provides a high level simplified interface to the regular -expression library, this class only handles narrow character strings, and -regular expressions always follow the "normal" syntax - that is the -same as the perl / ECMAScript syntax. - - typedef bool (*GrepCallback)(const RegEx& expression); - typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression); - typedef bool (*FindFilesCallback)(const char* file); - - class RegEx - { - public: - RegEx(); - RegEx(const RegEx& o); - ~RegEx(); - RegEx(const char* c, bool icase = false); - explicit RegEx(const std::string& s, bool icase = false); - RegEx& operator=(const RegEx& o); - RegEx& operator=(const char* p); - RegEx& operator=(const std::string& s); - unsigned int SetExpression(const char* p, bool icase = false); - unsigned int SetExpression(const std::string& s, bool icase = false); - std::string Expression()const; - // - // now matching operators: - // - bool Match(const char* p, boost::match_flag_type flags = match_default); - bool Match(const std::string& s, boost::match_flag_type flags = match_default); - bool Search(const char* p, boost::match_flag_type flags = match_default); - bool Search(const std::string& s, boost::match_flag_type flags = match_default); - unsigned int Grep(GrepCallback cb, const char* p, - boost::match_flag_type flags = match_default); - unsigned int Grep(GrepCallback cb, const std::string& s, - boost::match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const char* p, - boost::match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, - boost::match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const char* p, - boost::match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, - boost::match_flag_type flags = match_default); - unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, - boost::match_flag_type flags = match_default); - unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, - bool recurse = false, - boost::match_flag_type flags = match_default); - unsigned int FindFiles(FindFilesCallback cb, const char* files, - bool recurse = false, - boost::match_flag_type flags = match_default); - unsigned int FindFiles(FindFilesCallback cb, const std::string& files, - bool recurse = false, - boost::match_flag_type flags = match_default); - std::string Merge(const std::string& in, const std::string& fmt, - bool copy = true, boost::match_flag_type flags = match_default); - std::string Merge(const char* in, const char* fmt, bool copy = true, - boost::match_flag_type flags = match_default); - unsigned Split(std::vector& v, std::string& s, - boost::match_flag_type flags = match_default, - unsigned max_count = ~0); - // - // now operators for returning what matched in more detail: - // - unsigned int Position(int i = 0)const; - unsigned int Length(int i = 0)const; - bool Matched(int i = 0)const; - unsigned int Line()const; - unsigned int Marks() const; - std::string What(int i)const; - std::string operator[](int i)const ; - - static const unsigned int npos; - }; - -Member functions for class RegEx are defined as follows: - -[table -[[Member][Description]] -[[`RegEx();`][Default constructor, constructs an instance of RegEx without any valid expression. ]] -[[`RegEx(const RegEx& o);`][Copy constructor, all the properties of parameter /o/ - are copied. ]] -[[`RegEx(const char* c, bool icase = false);`][Constructs an instance of RegEx, - setting the expression to /c/, if /icase/ is true then matching is - insensitive to case, otherwise it is sensitive to case. Throws - [bad_expression] on failure. ]] -[[`RegEx(const std::string& s, bool icase = false);`][Constructs an instance of - RegEx, setting the expression to /s/, if /icase/ is true then matching - is insensitive to case, otherwise it is sensitive to case. Throws - [bad_expression] on failure. ]] -[[`RegEx& operator=(const RegEx& o);`][Default assignment operator. ]] -[[`RegEx& operator=(const char* p);`][Assignment operator, equivalent to calling - `SetExpression(p, false)`. Throws [bad_expression] on failure. ]] -[[`RegEx& operator=(const std::string& s);`][Assignment operator, equivalent to - calling `SetExpression(s, false)`. Throws [bad_expression] on failure. ]] -[[`unsigned int SetExpression(const char* p, bool icase = false);`][Sets the - current expression to /p/, if /icase/ is true then matching is - insensitive to case, otherwise it is sensitive to case. - Throws [bad_expression] on failure. ]] -[[`unsigned int SetExpression(const std::string& s, bool icase = false);`] - [Sets the current expression to /s/, if /icase/ is true then matching is - insensitive to case, otherwise it is sensitive to case. Throws - [bad_expression] on failure. ]] -[[`std::string Expression()const;`][Returns a copy of the current regular expression. ]] -[[`bool Match(const char* p, boost::match_flag_type flags = match_default);`] - [Attempts to match the current expression against the text /p/ using - the match flags /flags/ - see [match_flag_type]. Returns /true/ if the - expression matches the whole of the input string. ]] -[[`bool Match(const std::string& s, boost::match_flag_type flags = match_default);`] - [Attempts to match the current expression against the text /s/ using - the [match_flag_type] /flags/. Returns /true/ if the expression matches - the whole of the input string. ]] -[[`bool Search(const char* p, boost::match_flag_type flags = match_default);`] - [Attempts to find a match for the current expression somewhere in - the text /p/ using the [match_flag_type] /flags/. Returns /true/ - if the match succeeds. ]] -[[`bool Search(const std::string& s, boost::match_flag_type flags = match_default);`] - [Attempts to find a match for the current expression somewhere in the - text /s/ using the [match_flag_type] flags. Returns /true/ if the - match succeeds. ]] -[[`unsigned int Grep(GrepCallback cb, const char* p, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /p/ using the - [match_flag_type] /flags/. For each match found calls the call-back - function cb as: `cb(*this);` - If at any stage the call-back function returns /false/ then the grep - operation terminates, otherwise continues until no further matches - are found. Returns the number of matches found.]] -[[`unsigned int Grep(GrepCallback cb, const std::string& s, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /s/ using the - [match_flag_type] flags. For each match found calls the call-back - function cb as: `cb(*this);` - If at any stage the call-back function returns false then the grep operation - terminates, otherwise continues until no further matches are found. - Returns the number of matches found.]] -[[`unsigned int Grep(std::vector& v, const char* p, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /p/ using the - [match_flag_type] flags. For each match pushes a copy of what matched - onto /v/. Returns the number of matches found. ]] -[[`unsigned int Grep(std::vector& v, const std::string& s, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /s/ using the - [match_flag_type] /flags/. For each match pushes a copy of what - matched onto /v/. Returns the number of matches found. ]] -[[`unsigned int Grep(std::vector& v, const char* p, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /p/ using the - [match_flag_type] /flags/. For each match pushes the starting index of - what matched onto /v/. Returns the number of matches found. ]] -[[`unsigned int Grep(std::vector& v, const std::string& s, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the text /s/ using the - [match_flag_type] /flags/. For each match pushes the starting index of what - matched onto /v/. Returns the number of matches found. ]] -[[`unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the files /files/ using - the [match_flag_type] /flags/. For each match calls the call-back function cb. - If the call-back returns false then the algorithm returns without - considering further matches in the current file, or any further files. - - The parameter /files/ can include wild card characters '\*' and '\?', if - the parameter recurse is true then searches sub-directories for matching - file names. - - Returns the total number of matches found. - - May throw an exception derived from `std::runtime_error` if file io fails.]] -[[`unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = match_default);`] - [Finds all matches of the current expression in the files /files/ using the - [match_flag_type] /flags/. For each match calls the call-back function cb. - - If the call-back returns false then the algorithm returns without - considering further matches in the current file, or any further files. - - The parameter /files/ can include wild card characters '\*' and '\?', if - the parameter recurse is true then searches sub-directories for - matching file names. - - Returns the total number of matches found. - - May throw an exception derived from `std::runtime_error` if file io fails.]] - -[[`unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = match_default);`] - [Searches files to find all those which contain at least one match of - the current expression using the [match_flag_type] /flags/. For each - matching file calls the call-back function cb. - If the call-back returns false then the algorithm returns without - considering any further files. - - The parameter /files/ can include wild card characters '\*' and '\?', if - the parameter /recurse/ is true then searches sub-directories for - matching file names. - - Returns the total number of files found. - - May throw an exception derived from `std::runtime_error` if file io fails.]] -[[`unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = match_default);`] - [Searches files to find all those which contain at least one - match of the current expression using the [match_flag_type] /flags/. - For each matching file calls the call-back function cb. - - If the call-back returns false then the algorithm returns without - considering any further files. - - The parameter /files/ can include wild card characters '\*' and '\?', if - the parameter /recurse/ is true then searches sub-directories for - matching file names. - - Returns the total number of files found. - - May throw an exception derived from `std::runtime_error` if file io fails.]] - -[[`std::string Merge(const std::string& in, const std::string& fmt, bool copy = true, boost::match_flag_type flags = match_default);`] - [Performs a search and replace operation: searches through the - string /in/ for all occurrences of the current expression, for each - occurrence replaces the match with the format string /fmt/. Uses /flags/ - to determine what gets matched, and how the format string should be - treated. If /copy/ is true then all unmatched sections of input are - copied unchanged to output, if the flag /format_first_only/ is set then - only the first occurrence of the pattern found is replaced. - Returns the new string. See also - [link boost_regex.format format string syntax], and [match_flag_type].]] -[[`std::string Merge(const char* in, const char* fmt, bool copy = true, boost::match_flag_type flags = match_default);`] - [Performs a search and replace operation: searches through the string /in/ - for all occurrences of the current expression, for each occurrence - replaces the match with the format string /fmt/. Uses /flags/ to determine - what gets matched, and how the format string should be treated. - If /copy/ is true then all unmatched sections of input are copied - unchanged to output, if the flag /format_first_only/ is set then only - the first occurrence of the pattern found is replaced. Returns - the new string. See also [link boost_regex.format format string syntax], and [match_flag_type].]] -[[`unsigned Split(std::vector& v, std::string& s, boost::match_flag_type flags = match_default, unsigned max_count = ~0);`] - [Splits the input string and pushes each one onto the vector. - If the expression contains no marked sub-expressions, then one - string is outputted for each section of the input that does not - match the expression. If the expression does contain marked - sub-expressions, then outputs one string for each marked - sub-expression each time a match occurs. Outputs no more than - /max_count/ strings. Before returning, deletes from the input string - /s/ all of the input that has been processed (all of the string if - /max_count/ was not reached). Returns the number of strings pushed - onto the vector. ]] -[[`unsigned int Position(int i = 0)const;`] - [Returns the position of what matched sub-expression /i/. If `i = 0` - then returns the position of the whole match. Returns `RegEx::npos` if - the supplied index is invalid, or if the specified sub-expression - did not participate in the match. ]] -[[`unsigned int Length(int i = 0)const;`] - [Returns the length of what matched sub-expression i. If `i = 0` then - returns the length of the whole match. Returns `RegEx::npos` if the - supplied index is invalid, or if the specified sub-expression did not - participate in the match. ]] -[[`bool Matched(int i = 0)const;`] - [Returns true if sub-expression /i/ was matched, false otherwise. ]] -[[`unsigned int Line()const;`][Returns the line on which the match occurred, - indexes start from 1 not zero, if no match occurred then returns `RegEx::npos`. ]] -[[`unsigned int Marks() const;`][Returns the number of marked sub-expressions - contained in the expression. Note that this includes the whole - match (sub-expression zero), so the value returned is always >= 1. ]] -[[`std::string What(int i)const;`] - [Returns a copy of what matched sub-expression /i/. If `i = 0` then - returns a copy of the whole match. Returns a null string if the - index is invalid or if the specified sub-expression did not - participate in a match. ]] -[[`std::string operator[](int i)const ;`][Returns `what(i);` - Can be used to simplify access to sub-expression matches, and make - usage more perl-like.]] -] - -[endsect] - diff --git a/doc/redistributables.qbk b/doc/redistributables.qbk deleted file mode 100644 index c310ff671..000000000 --- a/doc/redistributables.qbk +++ /dev/null @@ -1,28 +0,0 @@ -[/ - Copyright 2006-2007 John Maddock. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -] - - -[section:redist Redistributables] - -If you are using Microsoft or Borland C++ and link to a dll version of the -run time library, then you can choose to also link to a dll version of Boost.Regex -by defining the symbol BOOST_REGEX_DYN_LINK when you compile your code. -While these dll's are redistributable, there are no "standard" versions, -so when installing on the users PC, you should place these in a -directory private to your application, and not in the PC's directory path. -Note that if you link to a static version of your run time library, then -you will also link to a static version of Boost.Regex and no dll's will -need to be distributed. The possible Boost.Regex dll and library names are -computed according to the formula given in -[@../../../../more/getting_started.html the getting started guide]. - -Note: you can disable automatic library selection by defining the -symbol BOOST_REGEX_NO_LIB when compiling, this is useful if you want to -build Boost.Regex yourself in your IDE, or if you need to debug Boost.Regex. - -[endsect] - diff --git a/doc/regex.qbk b/doc/regex.qbk index bac8936fa..ebad5c2e9 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -8,7 +8,7 @@ [@http://www.boost.org/LICENSE_1_0.txt]) ] [authors [Maddock, John]] - [version 5.1.3] + [version 7.0.1] [/last-revision $Date$] ] @@ -40,7 +40,6 @@ [template boost_extended_format[] [link boost_regex.format.boost_format_syntax Boost-Extended]] [/depricated stuff:] -[template RegEx[] [link boost_regex.ref.deprecated.old_regex `RegEx`]] [template regcomp[] [link boost_regex.ref.posix.regcomp `regcomp`]] [template regexec[] [link boost_regex.ref.posix.regexec `regexec`]] [template regerror[] [link boost_regex.ref.posix.regerror `regerror`]] @@ -52,6 +51,7 @@ PDF version of this manual is also available]. [include configuration.qbk] [include install.qbk] +[include modules.qbk] [include introduction.qbk] [include unicode.qbk] [include captures.qbk] @@ -85,7 +85,6 @@ PDF version of this manual is also available]. [include regex_format.qbk] [include regex_grep.qbk] [include regex_split.qbk] -[include old_regex.qbk] [endsect] [section:internals Internal Details] @@ -104,7 +103,6 @@ PDF version of this manual is also available]. [include faq.qbk] [include performance.qbk] [include standards.qbk] -[include redistributables.qbk] [include acknowledgements.qbk] [include history.qbk] diff --git a/doc/regex_iterator.qbk b/doc/regex_iterator.qbk index d3c966ba4..92c6c6124 100644 --- a/doc/regex_iterator.qbk +++ b/doc/regex_iterator.qbk @@ -130,13 +130,13 @@ to a [match_results] object, whose members are set as follows: [[`(*it).empty()`][`false`]] [[`(*it).prefix().first`][The end of the last match found, or the start of the underlying sequence if this is the first match enumerated]] -[[`(*it).prefix().last`][The same as the start of the match found: +[[`(*it).prefix().second`][The same as the start of the match found: `(*it)[0].first`]] [[`(*it).prefix().matched`][True if the prefix did not match an empty string: `(*it).prefix().first != (*it).prefix().second`]] [[`(*it).suffix().first`][The same as the end of the match found: `(*it)[0].second`]] -[[`(*it).suffix().last`][The end of the underlying sequence.]] +[[`(*it).suffix().second`][The end of the underlying sequence.]] [[`(*it).suffix().matched`][True if the suffix did not match an empty string: `(*it).suffix().first != (*it).suffix().second`]] [[`(*it)[0].first`][The start of the sequence of characters that matched the regular expression]] diff --git a/doc/regex_match.qbk b/doc/regex_match.qbk index d5039bfc5..bd82436b4 100644 --- a/doc/regex_match.qbk +++ b/doc/regex_match.qbk @@ -85,10 +85,10 @@ given in the table: [[`m.size()`][`1 + e.mark_count()`]] [[`m.empty()`][`false`]] [[`m.prefix().first`][`first`]] -[[`m.prefix().last`][`first`]] +[[`m.prefix().second`][`first`]] [[`m.prefix().matched`][`false`]] [[`m.suffix().first`][`last`]] -[[`m.suffix().last`][`last`]] +[[`m.suffix().second`][`last`]] [[`m.suffix().matched`][`false`]] [[`m[0].first`][`first`]] [[`m[0].second`][`last`]] diff --git a/doc/regex_replace.qbk b/doc/regex_replace.qbk index 7228ba59f..996894382 100644 --- a/doc/regex_replace.qbk +++ b/doc/regex_replace.qbk @@ -97,7 +97,7 @@ Otherwise, for each match found, if calls - std::copy(m.prefix().first, m.prefix().last, out), + std::copy(m.prefix().first, m.prefix().second, out), and then calls @@ -109,7 +109,7 @@ Finally if calls - std::copy(last_m.suffix().first, last_m,suffix().last, out) + std::copy(last_m.suffix().first, last_m.suffix().second, out) where /last_m/ is a copy of the last match found. diff --git a/doc/regex_search.qbk b/doc/regex_search.qbk index 6b8ccc466..f7f5fba04 100644 --- a/doc/regex_search.qbk +++ b/doc/regex_search.qbk @@ -83,10 +83,10 @@ are given in the table: [[`m.size()`][`1 + e.mark_count()`]] [[`m.empty()`][`false`]] [[`m.prefix().first`][`first`]] -[[`m.prefix().last`][`m[0].first`]] +[[`m.prefix().second`][`m[0].first`]] [[`m.prefix().matched`][`m.prefix().first != m.prefix().second`]] [[`m.suffix().first`][`m[0].second`]] -[[`m.suffix().last`][`last`]] +[[`m.suffix().second`][`last`]] [[`m.suffix().matched`][`m.suffix().first != m.suffix().second`]] [[`m[0].first`][The start of the sequence of characters that matched the regular expression]] [[`m[0].second`][The end of the sequence of characters that matched the regular expression]] diff --git a/doc/syntax_basic.qbk b/doc/syntax_basic.qbk index 865ef9959..63aa04be5 100644 --- a/doc/syntax_basic.qbk +++ b/doc/syntax_basic.qbk @@ -118,7 +118,7 @@ But not the string: [h4 Character sets:] -A character set is a bracket-expression starting with \[ and ending with \], +A character set is a bracket-expression starting with [^\[] and ending with [^\]], it defines a set of characters, and matches any single character that is a member of that set. diff --git a/doc/syntax_extended.qbk b/doc/syntax_extended.qbk index 0146d5beb..c1c9e08db 100644 --- a/doc/syntax_extended.qbk +++ b/doc/syntax_extended.qbk @@ -151,7 +151,7 @@ will match either of "abd" or "abef". [h4 Character sets:] -A character set is a bracket-expression starting with \[ and ending with \], +A character set is a bracket-expression starting with [^\[] and ending with [^\]], it defines a set of characters, and matches any single character that is a member of that set. diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index 6ee00e4cc..6d062f468 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -195,7 +195,11 @@ You can also use the \g escape for the same function, for example: [[[^\g{one}]][Match whatever matched the sub-expression named "one"]] ] -Finally the \k escape can be used to refer to named subexpressions, for example [^\k] will match +Note that a back reference can also be a forward-reference to a sub-expression that has not yet +been seen - this only really makes sense within a repeat, so for example `(\2two|(one))+` will +match "oneonetwo". + +Finally the \k escape can be used to refer to named subexpressions, for example [^\k] will whatever matched the subexpression named "two". [h4 Alternation] @@ -217,7 +221,7 @@ if you really want an empty alternative use [^(?:)] as a placeholder, for exampl [h4 Character sets] -A character set is a bracket-expression starting with [^[] and ending with [^]], +A character set is a bracket-expression starting with [^\[] and ending with [^\]], it defines a set of characters, and matches any single character that is a member of that set. diff --git a/doc/thread_safety.qbk b/doc/thread_safety.qbk index af54b900e..deaf19330 100644 --- a/doc/thread_safety.qbk +++ b/doc/thread_safety.qbk @@ -25,11 +25,6 @@ otherwise use a separate instance of [match_results] per thread. The [link boost_regex.ref.posix POSIX API functions] are all re-entrant and thread safe, regular expressions compiled with regcomp can also be shared between threads. -The [link boost_regex.ref.deprecated.old_regex class RegEx] is -only thread safe if each thread gets its own -RegEx instance (apartment threading) - this is a consequence of -RegEx handling both compiling and matching regular expressions. - Finally note that changing the global locale invalidates all compiled regular expressions, therefore calling `set_locale` from one thread while another uses regular expressions will produce unpredictable results. diff --git a/doc/unicode.qbk b/doc/unicode.qbk index 2e86ad0cf..8ab64fcd8 100644 --- a/doc/unicode.qbk +++ b/doc/unicode.qbk @@ -29,10 +29,7 @@ characters, it is not possible to search UTF-8, or even UTF-16 on many platforms If you have the [@http://www.ibm.com/software/globalization/icu/ ICU library], then -Boost.Regex can be -[link boost_regex.install.building_with_unicode_and_icu_su -configured to make use -of it], and provide a distinct regular expression type (boost::u32regex), +Boost.Regex provides a distinct regular expression type (boost::u32regex), that supports both Unicode specific character properties, and the searching of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: [link boost_regex.ref.non_std_strings.icu diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index dd958c7da..a2c190b48 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -1,32 +1,34 @@ # copyright John Maddock 2003 -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. project - : requirements - multi + : requirements + /boost/regex//boost_regex_old + /boost/timer//boost_timer + multi shared:BOOST_REGEX_DYN_LINK=1 # There are unidentified linker problems on these platforms: mipspro-7.4:static sun-5.9:static msvc:all - gcc:all - gcc:-Wextra + gcc:extra U_USING_ICU_NAMESPACE=0 #gcc-mw:static #gcc-mingw:static gcc-cygwin:static + BOOST_TIMER_ENABLE_DEPRECATED ; rule regex-test-run ( sources + : input * : name * ) { - return [ + return [ run # sources $(sources) # dependencies - ../build//boost_regex + /boost/regex//boost_regex : # additional args $(input) : # test-files @@ -37,45 +39,33 @@ rule regex-test-run ( sources + : input * : name * ) ] ; } +path-constant HERE : . ; + test-suite regex-examples : -[ regex-test-run timer/regex_timer.cpp : $(BOOST_ROOT)/libs/regex/example/timer/input_script.txt ] -[ regex-test-run grep/grep.cpp ../../program_options/build//boost_program_options/static : -n -b $(BOOST_ROOT)/boost/regex.hpp $(BOOST_ROOT)/boost/type_traits.hpp : test_grep ] +[ regex-test-run timer/regex_timer.cpp /boost/smart_ptr//boost_smart_ptr : $(HERE)/timer/input_script.txt ] +[ regex-test-run grep/grep.cpp /boost/program_options//boost_program_options/static : -n -b -E include $(HERE)/../include/boost/regex.hpp : test_grep ] [ regex-test-run snippets/credit_card_example.cpp ] [ regex-test-run snippets/mfc_example.cpp ] [ regex-test-run snippets/icu_example.cpp ] -[ regex-test-run snippets/partial_regex_grep.cpp : $(BOOST_ROOT)/libs/regex/index.htm ] -[ regex-test-run snippets/partial_regex_iterate.cpp : $(BOOST_ROOT)/libs/regex/index.htm ] +[ regex-test-run snippets/partial_regex_grep.cpp : $(HERE)/../index.htm ] +[ regex-test-run snippets/partial_regex_iterate.cpp : $(HERE)/../index.htm ] [ regex-test-run snippets/partial_regex_match.cpp : 1234-5678-8765-4 ] -[ regex-test-run snippets/regex_grep_example_1.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_2.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_3.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_4.cpp : $(BOOST_ROOT)/boost/rational.hpp ] +[ regex-test-run snippets/regex_grep_example_1.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] +[ regex-test-run snippets/regex_grep_example_2.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] +[ regex-test-run snippets/regex_grep_example_3.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] +[ regex-test-run snippets/regex_grep_example_4.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] [ regex-test-run snippets/regex_match_example.cpp : -auto ] -[ regex-test-run snippets/regex_merge_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_replace_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_search_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] +[ regex-test-run snippets/regex_merge_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] +[ regex-test-run snippets/regex_replace_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] +[ regex-test-run snippets/regex_search_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] [ regex-test-run snippets/regex_split_example_1.cpp : -auto ] -[ regex-test-run snippets/regex_split_example_2.cpp : $(BOOST_ROOT)/libs/regex/doc/html/index.html ] +[ regex-test-run snippets/regex_split_example_2.cpp : $(HERE)/../doc/html/index.html ] [ regex-test-run snippets/regex_token_iterator_eg_1.cpp : -auto ] -[ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(BOOST_ROOT)/libs/regex/doc/html/index.html ] -[ regex-test-run snippets/regex_iterator_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] +[ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(HERE)/../doc/html/index.html ] +[ regex-test-run snippets/regex_iterator_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ] [ run snippets/captures_example.cpp ../test/captures//boost_regex_extra : : : multi BOOST_REGEX_MATCH_EXTRA=1 ] ; - - - - - - - - - - - - - - diff --git a/example/snippets/CMakeLists.txt b/example/snippets/CMakeLists.txt new file mode 100644 index 000000000..f672785bd --- /dev/null +++ b/example/snippets/CMakeLists.txt @@ -0,0 +1,30 @@ +# Copyright 2019 Mike Dev +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt +# +# NOTE: CMake support for Boost.Regex is currently experimental at best +# and we are currently only building a few examples + +set(examples + partial_regex_grep + partial_regex_iterate + partial_regex_match + regex_grep_example_1 + regex_grep_example_2 + regex_grep_example_3 + regex_grep_example_4 + regex_iterator_example + regex_match_example + regex_merge_example + regex_replace_example + regex_search_example + regex_split_example_1 + regex_split_example_2 + regex_token_iterator_eg_1 + regex_token_iterator_eg_2 +) + +foreach( example IN LISTS examples ) + add_executable( boost_regex_ex_${example} ${example}.cpp ) + target_link_libraries( boost_regex_ex_${example} Boost::regex ) +endforeach() diff --git a/example/snippets/regex_grep_example_4.cpp b/example/snippets/regex_grep_example_4.cpp index 533d896ee..e50383b39 100644 --- a/example/snippets/regex_grep_example_4.cpp +++ b/example/snippets/regex_grep_example_4.cpp @@ -17,7 +17,7 @@ * using a C++ Builder closure as a callback. */ -#ifdef __BORLANDC__ +#if defined(__BORLANDC__) && !defined(__clang__) #include #include @@ -140,7 +140,7 @@ int main(int argc, const char** argv) return 0; } -#else // __BORLANDC__ +#else // __BORLANDC__ && !defined(__clang__) int main() { diff --git a/example/snippets/regex_match_example.cpp b/example/snippets/regex_match_example.cpp index dd10de4d6..16ba79b90 100644 --- a/example/snippets/regex_match_example.cpp +++ b/example/snippets/regex_match_example.cpp @@ -49,7 +49,7 @@ int process_ftp(const char* response, std::string* msg) return -1; } -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x550)) // // problem with std::getline under MSVC6sp3 istream& getline(istream& is, std::string& s) diff --git a/example/snippets/regex_split_example_1.cpp b/example/snippets/regex_split_example_1.cpp index df2ef96bb..76a3c950d 100644 --- a/example/snippets/regex_split_example_1.cpp +++ b/example/snippets/regex_split_example_1.cpp @@ -30,7 +30,7 @@ unsigned tokenise(std::list& l, std::string& s) using namespace std; -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x550)) // // problem with std::getline under MSVC6sp3 istream& getline(istream& is, std::string& s) diff --git a/example/snippets/regex_token_iterator_eg_1.cpp b/example/snippets/regex_token_iterator_eg_1.cpp index f1ecb44de..4bf5c62f0 100644 --- a/example/snippets/regex_token_iterator_eg_1.cpp +++ b/example/snippets/regex_token_iterator_eg_1.cpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 12003 + * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the @@ -23,7 +23,7 @@ using namespace std; -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x550)) // // problem with std::getline under MSVC6sp3 istream& getline(istream& is, std::string& s) diff --git a/example/timer/regex_timer.cpp b/example/timer/regex_timer.cpp index 48f41a9b1..f643cb7d3 100644 --- a/example/timer/regex_timer.cpp +++ b/example/timer/regex_timer.cpp @@ -13,6 +13,8 @@ #pragma warning(disable: 4996 4127) #endif +#define BOOST_TIMER_ENABLE_DEPRECATED + #include #include #include @@ -89,7 +91,7 @@ class string_out_iterator }; namespace boost{ -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) || defined(__SGI_STL_PORT) +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x550)) || defined(__SGI_STL_PORT) // // problem with std::getline under MSVC6sp3 // and C++ Builder 5.5, is this really that hard? @@ -367,16 +369,9 @@ int main(int argc, char**argv) } #if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(UNDER_CE) +#if !defined(BOOST_EMBTC) #pragma comment(lib, "user32.lib") +#else +#pragma comment(lib, "user32.a") +#endif #endif - - - - - - - - - - - diff --git a/include/boost/cregex.hpp b/include/boost/cregex.hpp index b7a918eb8..5313bad0e 100644 --- a/include/boost/cregex.hpp +++ b/include/boost/cregex.hpp @@ -14,7 +14,6 @@ * FILE cregex.cpp * VERSION see * DESCRIPTION: Declares POSIX API functions - * + boost::RegEx high level wrapper. */ #ifndef BOOST_RE_CREGEX_HPP @@ -24,7 +23,7 @@ #include #endif -#include +#include #endif /* include guard */ diff --git a/include/boost/regex.hpp b/include/boost/regex.hpp index 6dc3dfbd4..a36871479 100644 --- a/include/boost/regex.hpp +++ b/include/boost/regex.hpp @@ -28,7 +28,7 @@ #include #endif -#include +#include #endif // include diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index 276e63f78..f2a1a1d7e 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -24,12 +24,28 @@ #include #include #include -#ifndef BOOST_TEST_TR1_REGEX +#if !defined(BOOST_TEST_TR1_REGEX) && !defined(BOOST_REGEX_TEST_MODULE) #include #endif #include #include -#include +#include + +#ifdef BOOST_REGEX_CXX03 +#define RW_NS boost +#else +#define RW_NS std +#endif + + + // + // alter this to std::tr1, to test a std implementation: + // +#ifndef BOOST_TEST_TR1_REGEX +namespace global_regex_namespace = ::boost; +#else +namespace global_regex_namespace = ::std::tr1; +#endif namespace boost{ @@ -70,13 +86,10 @@ inline long hash_value(char_architype val) // } // namespace boost namespace std{ - template<> struct char_traits - { - // The intent is that this template is not instantiated, - // but this typedef gives us a chance of compilation in - // case it is: - typedef boost::char_architype char_type; - }; + // + // We should never use this, if we do it should be an error: + // + template<> struct char_traits; } // // Allocator architype: @@ -121,6 +134,9 @@ bool operator == (const allocator_architype&, const allocator_architype&) template bool operator != (const allocator_architype&, const allocator_architype&) { return false; } +template +void consume_type() {} + namespace boost{ // // regex_traits_architype: @@ -172,15 +188,6 @@ struct regex_traits_architype regex_traits_architype& operator=(const regex_traits_architype&){ return *this; } }; -// -// alter this to std::tr1, to test a std implementation: -// -#ifndef BOOST_TEST_TR1_REGEX -namespace global_regex_namespace = ::boost; -#else -namespace global_regex_namespace = ::std::tr1; -#endif - template struct BitmaskConcept { @@ -267,7 +274,7 @@ template struct regex_traits_computer; template -struct regex_traits_computer< global_regex_namespace::basic_regex > +struct regex_traits_computer< ::boost::basic_regex > { typedef traits type; }; @@ -365,6 +372,8 @@ struct BaseRegexConcept e1 = except.code(); typedef typename Regex::value_type regex_value_type; + regex_value_type val{}; + ignore_unused_variable_warning(val); function_requires< RegexTraitsConcept > >(); function_requires< BaseRegexConcept > >(); } @@ -401,6 +410,10 @@ struct BaseRegexConcept Regex e5(in1, in2, m_flags); ignore_unused_variable_warning(e5); + // equals: + e1 == e2; + e1 != e2; + // assign etc: Regex e; e = m_pointer; @@ -440,15 +453,25 @@ struct BaseRegexConcept // match_results tests - some typedefs are not used, however these // guarante that they exist (some compilers may warn on non-usage) typedef typename match_results_type::value_type mr_value_type; + consume_type(); typedef typename match_results_type::const_reference mr_const_reference; + consume_type(); typedef typename match_results_type::reference mr_reference; + consume_type(); typedef typename match_results_type::const_iterator mr_const_iterator; + consume_type(); typedef typename match_results_type::iterator mr_iterator; + consume_type(); typedef typename match_results_type::difference_type mr_difference_type; + consume_type(); typedef typename match_results_type::size_type mr_size_type; + consume_type(); typedef typename match_results_type::allocator_type mr_allocator_type; + consume_type(); typedef typename match_results_type::char_type mr_char_type; + consume_type(); typedef typename match_results_type::string_type mr_string_type; + consume_type(); match_results_type m1; mr_allocator_type at; @@ -996,37 +1019,36 @@ struct BoostRegexConcept out = regex_format(out, m_cresults, func2b); out = regex_format(out, m_cresults, func1b, f); out = regex_format(out, m_cresults, func1b); - out = regex_format(out, m_cresults, boost::ref(func3b), f); - out = regex_format(out, m_cresults, boost::ref(func3b)); - out = regex_format(out, m_cresults, boost::ref(func2b), f); - out = regex_format(out, m_cresults, boost::ref(func2b)); - out = regex_format(out, m_cresults, boost::ref(func1b), f); - out = regex_format(out, m_cresults, boost::ref(func1b)); - out = regex_format(out, m_cresults, boost::cref(func3b), f); - out = regex_format(out, m_cresults, boost::cref(func3b)); - out = regex_format(out, m_cresults, boost::cref(func2b), f); - out = regex_format(out, m_cresults, boost::cref(func2b)); - out = regex_format(out, m_cresults, boost::cref(func1b), f); - out = regex_format(out, m_cresults, boost::cref(func1b)); - + out = regex_format(out, m_cresults, RW_NS::ref(func3b), f); + out = regex_format(out, m_cresults, RW_NS::ref(func3b)); + out = regex_format(out, m_cresults, RW_NS::ref(func2b), f); + out = regex_format(out, m_cresults, RW_NS::ref(func2b)); + out = regex_format(out, m_cresults, RW_NS::ref(func1b), f); + out = regex_format(out, m_cresults, RW_NS::ref(func1b)); + out = regex_format(out, m_cresults, RW_NS::cref(func3b), f); + out = regex_format(out, m_cresults, RW_NS::cref(func3b)); + out = regex_format(out, m_cresults, RW_NS::cref(func2b), f); + out = regex_format(out, m_cresults, RW_NS::cref(func2b)); + out = regex_format(out, m_cresults, RW_NS::cref(func1b), f); + out = regex_format(out, m_cresults, RW_NS::cref(func1b)); m_string += regex_format(m_cresults, func3b, f); m_string += regex_format(m_cresults, func3b); m_string += regex_format(m_cresults, func2b, f); m_string += regex_format(m_cresults, func2b); m_string += regex_format(m_cresults, func1b, f); m_string += regex_format(m_cresults, func1b); - m_string += regex_format(m_cresults, boost::ref(func3b), f); - m_string += regex_format(m_cresults, boost::ref(func3b)); - m_string += regex_format(m_cresults, boost::ref(func2b), f); - m_string += regex_format(m_cresults, boost::ref(func2b)); - m_string += regex_format(m_cresults, boost::ref(func1b), f); - m_string += regex_format(m_cresults, boost::ref(func1b)); - m_string += regex_format(m_cresults, boost::cref(func3b), f); - m_string += regex_format(m_cresults, boost::cref(func3b)); - m_string += regex_format(m_cresults, boost::cref(func2b), f); - m_string += regex_format(m_cresults, boost::cref(func2b)); - m_string += regex_format(m_cresults, boost::cref(func1b), f); - m_string += regex_format(m_cresults, boost::cref(func1b)); + m_string += regex_format(m_cresults, RW_NS::ref(func3b), f); + m_string += regex_format(m_cresults, RW_NS::ref(func3b)); + m_string += regex_format(m_cresults, RW_NS::ref(func2b), f); + m_string += regex_format(m_cresults, RW_NS::ref(func2b)); + m_string += regex_format(m_cresults, RW_NS::ref(func1b), f); + m_string += regex_format(m_cresults, RW_NS::ref(func1b)); + m_string += regex_format(m_cresults, RW_NS::cref(func3b), f); + m_string += regex_format(m_cresults, RW_NS::cref(func3b)); + m_string += regex_format(m_cresults, RW_NS::cref(func2b), f); + m_string += regex_format(m_cresults, RW_NS::cref(func2b)); + m_string += regex_format(m_cresults, RW_NS::cref(func1b), f); + m_string += regex_format(m_cresults, RW_NS::cref(func1b)); out = m_cresults.format(out, func3b, f); out = m_cresults.format(out, func3b); @@ -1034,18 +1056,18 @@ struct BoostRegexConcept out = m_cresults.format(out, func2b); out = m_cresults.format(out, func1b, f); out = m_cresults.format(out, func1b); - out = m_cresults.format(out, boost::ref(func3b), f); - out = m_cresults.format(out, boost::ref(func3b)); - out = m_cresults.format(out, boost::ref(func2b), f); - out = m_cresults.format(out, boost::ref(func2b)); - out = m_cresults.format(out, boost::ref(func1b), f); - out = m_cresults.format(out, boost::ref(func1b)); - out = m_cresults.format(out, boost::cref(func3b), f); - out = m_cresults.format(out, boost::cref(func3b)); - out = m_cresults.format(out, boost::cref(func2b), f); - out = m_cresults.format(out, boost::cref(func2b)); - out = m_cresults.format(out, boost::cref(func1b), f); - out = m_cresults.format(out, boost::cref(func1b)); + out = m_cresults.format(out, RW_NS::ref(func3b), f); + out = m_cresults.format(out, RW_NS::ref(func3b)); + out = m_cresults.format(out, RW_NS::ref(func2b), f); + out = m_cresults.format(out, RW_NS::ref(func2b)); + out = m_cresults.format(out, RW_NS::ref(func1b), f); + out = m_cresults.format(out, RW_NS::ref(func1b)); + out = m_cresults.format(out, RW_NS::cref(func3b), f); + out = m_cresults.format(out, RW_NS::cref(func3b)); + out = m_cresults.format(out, RW_NS::cref(func2b), f); + out = m_cresults.format(out, RW_NS::cref(func2b)); + out = m_cresults.format(out, RW_NS::cref(func1b), f); + out = m_cresults.format(out, RW_NS::cref(func1b)); m_string += m_cresults.format(func3b, f); m_string += m_cresults.format(func3b); @@ -1053,18 +1075,18 @@ struct BoostRegexConcept m_string += m_cresults.format(func2b); m_string += m_cresults.format(func1b, f); m_string += m_cresults.format(func1b); - m_string += m_cresults.format(boost::ref(func3b), f); - m_string += m_cresults.format(boost::ref(func3b)); - m_string += m_cresults.format(boost::ref(func2b), f); - m_string += m_cresults.format(boost::ref(func2b)); - m_string += m_cresults.format(boost::ref(func1b), f); - m_string += m_cresults.format(boost::ref(func1b)); - m_string += m_cresults.format(boost::cref(func3b), f); - m_string += m_cresults.format(boost::cref(func3b)); - m_string += m_cresults.format(boost::cref(func2b), f); - m_string += m_cresults.format(boost::cref(func2b)); - m_string += m_cresults.format(boost::cref(func1b), f); - m_string += m_cresults.format(boost::cref(func1b)); + m_string += m_cresults.format(RW_NS::ref(func3b), f); + m_string += m_cresults.format(RW_NS::ref(func3b)); + m_string += m_cresults.format(RW_NS::ref(func2b), f); + m_string += m_cresults.format(RW_NS::ref(func2b)); + m_string += m_cresults.format(RW_NS::ref(func1b), f); + m_string += m_cresults.format(RW_NS::ref(func1b)); + m_string += m_cresults.format(RW_NS::cref(func3b), f); + m_string += m_cresults.format(RW_NS::cref(func3b)); + m_string += m_cresults.format(RW_NS::cref(func2b), f); + m_string += m_cresults.format(RW_NS::cref(func2b)); + m_string += m_cresults.format(RW_NS::cref(func1b), f); + m_string += m_cresults.format(RW_NS::cref(func1b)); out = regex_replace(out, m_in, m_in, ce, func3, f); out = regex_replace(out, m_in, m_in, ce, func3); @@ -1072,18 +1094,18 @@ struct BoostRegexConcept out = regex_replace(out, m_in, m_in, ce, func2); out = regex_replace(out, m_in, m_in, ce, func1, f); out = regex_replace(out, m_in, m_in, ce, func1); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func3), f); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func3)); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func2), f); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func2)); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func1), f); - out = regex_replace(out, m_in, m_in, ce, boost::ref(func1)); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func3), f); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func3)); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func2), f); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func2)); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func1), f); - out = regex_replace(out, m_in, m_in, ce, boost::cref(func1)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2)); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1), f); + out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1)); functor3 > func3s; functor2 > func2s; @@ -1094,18 +1116,18 @@ struct BoostRegexConcept m_string += regex_replace(m_string, ce, func2s); m_string += regex_replace(m_string, ce, func1s, f); m_string += regex_replace(m_string, ce, func1s); - m_string += regex_replace(m_string, ce, boost::ref(func3s), f); - m_string += regex_replace(m_string, ce, boost::ref(func3s)); - m_string += regex_replace(m_string, ce, boost::ref(func2s), f); - m_string += regex_replace(m_string, ce, boost::ref(func2s)); - m_string += regex_replace(m_string, ce, boost::ref(func1s), f); - m_string += regex_replace(m_string, ce, boost::ref(func1s)); - m_string += regex_replace(m_string, ce, boost::cref(func3s), f); - m_string += regex_replace(m_string, ce, boost::cref(func3s)); - m_string += regex_replace(m_string, ce, boost::cref(func2s), f); - m_string += regex_replace(m_string, ce, boost::cref(func2s)); - m_string += regex_replace(m_string, ce, boost::cref(func1s), f); - m_string += regex_replace(m_string, ce, boost::cref(func1s)); + m_string += regex_replace(m_string, ce, RW_NS::ref(func3s), f); + m_string += regex_replace(m_string, ce, RW_NS::ref(func3s)); + m_string += regex_replace(m_string, ce, RW_NS::ref(func2s), f); + m_string += regex_replace(m_string, ce, RW_NS::ref(func2s)); + m_string += regex_replace(m_string, ce, RW_NS::ref(func1s), f); + m_string += regex_replace(m_string, ce, RW_NS::ref(func1s)); + m_string += regex_replace(m_string, ce, RW_NS::cref(func3s), f); + m_string += regex_replace(m_string, ce, RW_NS::cref(func3s)); + m_string += regex_replace(m_string, ce, RW_NS::cref(func2s), f); + m_string += regex_replace(m_string, ce, RW_NS::cref(func2s)); + m_string += regex_replace(m_string, ce, RW_NS::cref(func1s), f); + m_string += regex_replace(m_string, ce, RW_NS::cref(func1s)); } std::basic_ostream m_stream; diff --git a/include/boost/regex/config.hpp b/include/boost/regex/config.hpp index f01321c82..1c41da3f4 100644 --- a/include/boost/regex/config.hpp +++ b/include/boost/regex/config.hpp @@ -18,14 +18,46 @@ #ifndef BOOST_REGEX_CONFIG_HPP #define BOOST_REGEX_CONFIG_HPP -/* - * Borland C++ Fix/error check - * this has to go *before* we include any std lib headers: - */ -#if defined(__BORLANDC__) -# include + +#if defined(BOOST_REGEX_RECURSIVE) +#error "All support for the C++03 recursive engine has been removed, this define has no effect anymore." #endif + +#if defined(__has_include) +#if !defined(BOOST_REGEX_STANDALONE) && !__has_include() +#define BOOST_REGEX_STANDALONE +#endif +#endif + +#ifndef BOOST_REGEX_MODULE_EXPORT +#define BOOST_REGEX_MODULE_EXPORT +#define BOOST_REGEX_STATIC_CONST static const +#else +#define BOOST_REGEX_STATIC_CONST inline constexpr +#define BOOST_REGEX_STANDALONE +#endif + +#ifndef BOOST_REGEX_STANDALONE #include +#endif + +/************************************************************************* +* +* Asserts: +* +*************************************************************************/ + +#ifdef BOOST_REGEX_STANDALONE +#ifndef BOOST_REGEX_AS_MODULE +#include +# define BOOST_REGEX_ASSERT(x) assert(x) +#else +# define BOOST_REGEX_ASSERT(x) do{ if(x == 0) { std::printf("%s:%d Assertion Failed", __FILE__, __LINE__); std::abort(); } }while(0) +#endif +#else +#include +# define BOOST_REGEX_ASSERT(x) BOOST_ASSERT(x) +#endif /***************************************************************************** * @@ -41,8 +73,10 @@ # include BOOST_REGEX_USER_CONFIG +#ifndef BOOST_REGEX_STANDALONE # include # include +#endif #else /* @@ -57,6 +91,8 @@ # endif #endif +#define BOOST_REGEX_MAX_RECURSION_DEPTH 100 + /***************************************************************************** * * Boilerplate regex config options: @@ -64,90 +100,50 @@ ****************************************************************************/ /* Obsolete macro, use BOOST_VERSION instead: */ -#define BOOST_RE_VERSION 320 +#define BOOST_RE_VERSION 600 /* fix: */ #if defined(_UNICODE) && !defined(UNICODE) #define UNICODE #endif +#define BOOST_REGEX_JOIN(X, Y) BOOST_REGEX_DO_JOIN(X, Y) +#define BOOST_REGEX_DO_JOIN(X, Y) BOOST_REGEX_DO_JOIN2(X,Y) +#define BOOST_REGEX_DO_JOIN2(X, Y) X##Y -/* -* Define a macro for the namespace that details are placed in, this includes the Boost -* version number to avoid mismatched header and library versions: -*/ -#define BOOST_REGEX_DETAIL_NS BOOST_JOIN(re_detail_, BOOST_VERSION) - -/* - * Fix for gcc prior to 3.4: std::ctype doesn't allow - * masks to be combined, for example: - * std::use_facet >.is(std::ctype_base::lower|std::ctype_base::upper, L'a'); - * returns *false*. - */ -#ifdef __GLIBCPP__ -# define BOOST_REGEX_BUGGY_CTYPE_FACET -#endif +#ifdef BOOST_FALLTHROUGH +# define BOOST_REGEX_FALLTHROUGH BOOST_FALLTHROUGH +#else -/* - * Intel C++ before 8.0 ends up with unresolved externals unless we turn off - * extern template support: - */ -#if defined(BOOST_INTEL) && defined(__cplusplus) && (BOOST_INTEL <= 800) -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES -#endif -/* - * Visual C++ doesn't support external templates with C++ extensions turned off: - */ -#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS) -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES +#if defined(__clang__) && (__cplusplus >= 201103L) && defined(__has_warning) +# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +# define BOOST_REGEX_FALLTHROUGH [[clang::fallthrough]] +# endif #endif - /* - * Oracle compiler in C++11 mode doesn't like external templates for some reason: - */ -#ifdef __SUNPRO_CC -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES +#if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) +# define BOOST_REGEX_FALLTHROUGH [[fallthrough]] #endif - /* - * Shared regex lib will crash without this, frankly it looks a lot like a gcc bug: - */ -#if defined(__MINGW32__) -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES +#if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__GNUC__) && (__GNUC__ >= 7) +# define BOOST_REGEX_FALLTHROUGH __attribute__((fallthrough)) #endif -/* - * Clang fails to export template instances with -fvisibility=hidden, see - * https://github.com/boostorg/regex/issues/49 - */ -#ifdef __clang__ -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES + +#if !defined(BOOST_REGEX_FALLTHROUGH) +# define BOOST_REGEX_FALLTHROUGH #endif -#ifdef __CYGWIN__ -/* We get multiply defined symbols without this: */ -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES #endif -/* - * If there isn't good enough wide character support then there will - * be no wide character regular expressions: - */ -#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) -# if !defined(BOOST_NO_WREGEX) -# define BOOST_NO_WREGEX -# endif +#ifdef BOOST_NORETURN +# define BOOST_REGEX_NORETURN BOOST_NORETURN #else -# if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - /* STLPort on IRIX is misconfigured: does not compile - * as a temporary fix include instead and prevent inclusion - * of STLPort version of */ -# include -# define __STLPORT_CWCTYPE -# define _STLP_CWCTYPE -# endif - -#ifdef __cplusplus -# include +# define BOOST_REGEX_NORETURN #endif -#endif + +/* +* Define a macro for the namespace that details are placed in, this includes the Boost +* version number to avoid mismatched header and library versions: +*/ +#define BOOST_REGEX_DETAIL_NS BOOST_REGEX_JOIN(re_detail_, BOOST_RE_VERSION) /* * If Win32 support has been disabled for boost in general, then @@ -183,50 +179,12 @@ # define BOOST_REGEX_NO_W32 #endif -/***************************************************************************** - * - * Wide character workarounds: - * - ****************************************************************************/ - -/* - * define BOOST_REGEX_HAS_OTHER_WCHAR_T when wchar_t is a native type, but the users - * code may be built with wchar_t as unsigned short: basically when we're building - * with MSVC and the /Zc:wchar_t option we place some extra unsigned short versions - * of the non-inline functions in the library, so that users can still link to the lib, - * irrespective of whether their own code is built with /Zc:wchar_t. - * Note that this does NOT WORK with VC10 and VC14 when the C++ locale is in effect as - * the locale's facets simply do not compile in that case. - * As we default to the C++ locale when compiling for the windows runtime we - * skip in this case aswell. - */ -#if defined(__cplusplus) && \ - (defined(BOOST_MSVC) || defined(__ICL)) && \ - !defined(BOOST_NO_INTRINSIC_WCHAR_T) && \ - defined(BOOST_WINDOWS) && \ - !defined(__SGI_STL_PORT) && \ - !defined(_STLPORT_VERSION) && \ - !defined(BOOST_RWSTD_VER) && \ - ((_MSC_VER < 1600) || !defined(BOOST_REGEX_USE_CPP_LOCALE)) && \ - !BOOST_PLAT_WINDOWS_RUNTIME -# define BOOST_REGEX_HAS_OTHER_WCHAR_T -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4251) -#if BOOST_MSVC < 1700 -# pragma warning(disable : 4231) -#endif -# if BOOST_MSVC < 1600 -# pragma warning(disable : 4660) -# endif -# endif -# if defined(_DLL) && defined(BOOST_MSVC) && (BOOST_MSVC < 1600) -# include - extern template class __declspec(dllimport) std::basic_string; -# endif -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif +#ifdef BOOST_REGEX_STANDALONE +# if defined(_MSC_VER) && !defined(__clang__) && !defined(__GNUC__) +# define BOOST_REGEX_MSVC _MSC_VER +#endif +#elif defined(BOOST_MSVC) +# define BOOST_REGEX_MSVC BOOST_MSVC #endif @@ -236,15 +194,10 @@ * ****************************************************************************/ -#ifndef BOOST_SYMBOL_EXPORT -# define BOOST_SYMBOL_EXPORT -# define BOOST_SYMBOL_IMPORT -#endif - -#if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK) +#if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK) && defined(BOOST_SYMBOL_IMPORT) # if defined(BOOST_REGEX_SOURCE) -# define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT # define BOOST_REGEX_BUILD_DLL +# define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT # else # define BOOST_REGEX_DECL BOOST_SYMBOL_IMPORT # endif @@ -252,17 +205,6 @@ # define BOOST_REGEX_DECL #endif -#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) -# define BOOST_LIB_NAME boost_regex -# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) -# define BOOST_DYN_LINK -# endif -# ifdef BOOST_REGEX_DIAG -# define BOOST_LIB_DIAGNOSTIC -# endif -# include -#endif - /***************************************************************************** * * Set up function call type: @@ -279,9 +221,14 @@ #endif #if defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32) +#if defined(__clang__) +# define BOOST_REGEX_CALL __cdecl +# define BOOST_REGEX_CCALL __cdecl +#else # define BOOST_REGEX_CALL __fastcall # define BOOST_REGEX_CCALL __stdcall #endif +#endif #ifndef BOOST_REGEX_CALL # define BOOST_REGEX_CALL @@ -328,7 +275,7 @@ #if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_NO_STD_LOCALE) # define BOOST_REGEX_USE_CPP_LOCALE #endif -/* otherwise use C+ locale: */ +/* otherwise use C locale: */ #if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) # define BOOST_REGEX_USE_C_LOCALE #endif @@ -349,18 +296,7 @@ * If there are no exceptions then we must report critical-errors * the only way we know how; by terminating. */ -#include -#include -#include - -# define BOOST_REGEX_NOEH_ASSERT(x)\ -if(0 == (x))\ -{\ - std::string s("Error: critical regex++ failure in: ");\ - s.append(#x);\ - std::runtime_error e(s);\ - boost::throw_exception(e);\ -} +# define BOOST_REGEX_NOEH_ASSERT(x) assert(x); #else /* * With exceptions then error handling is taken care of and @@ -378,7 +314,7 @@ if(0 == (x))\ #if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3) # if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) \ - && !defined(__GNUC__) \ + && !(defined(__GNUC__) || defined(__BORLANDC__) && defined(__clang__)) \ && !(defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)) \ && !(defined(__MWERKS__) && (__MWERKS__ <= 0x3003)) # define BOOST_REGEX_HAS_MS_STACK_GUARD @@ -399,25 +335,6 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page(); #endif - -/***************************************************************************** - * - * Algorithm selection and configuration: - * - ****************************************************************************/ - -#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE) -# if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG) && !(defined(_MSC_VER) && (_MSC_VER >= 1400)) -# define BOOST_REGEX_RECURSIVE -# else -# define BOOST_REGEX_NON_RECURSIVE -# endif -#endif - -#ifdef BOOST_REGEX_NON_RECURSIVE -# ifdef BOOST_REGEX_RECURSIVE -# error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE" -# endif # ifndef BOOST_REGEX_BLOCKSIZE # define BOOST_REGEX_BLOCKSIZE 4096 # endif @@ -433,24 +350,8 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page(); # ifndef BOOST_REGEX_MAX_CACHE_BLOCKS # define BOOST_REGEX_MAX_CACHE_BLOCKS 16 # endif -#endif -/***************************************************************************** - * - * helper memory allocation functions: - * - ****************************************************************************/ - -#if defined(__cplusplus) && defined(BOOST_REGEX_NON_RECURSIVE) -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block(); -BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void*); - -}} /* namespaces */ -#endif - /***************************************************************************** * * Diagnostics: @@ -486,6 +387,3 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info(); #endif - - - diff --git a/include/boost/regex/config/borland.hpp b/include/boost/regex/config/borland.hpp deleted file mode 100644 index 51c2126b8..000000000 --- a/include/boost/regex/config/borland.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE boost/regex/config/borland.hpp - * VERSION see - * DESCRIPTION: regex borland-specific config setup. - */ - - -#if defined(__BORLANDC__) -# if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551) - // problems with std::basic_string and dll RTL: -# if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE) -# ifdef BOOST_REGEX_BUILD_DLL -# error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL -# else -# pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!") -# endif -# endif -# ifndef _RTLDLL - // this is harmless for a staic link: -# define _RWSTD_COMPILE_INSTANTIATE -# endif - // external templates cause problems for some reason: -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES -# endif -# if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL) - // C++ Builder 4 and earlier, we can't tell whether we should be using - // the VCL runtime or not, do a static link instead: -# define BOOST_REGEX_STATIC_LINK -# endif - // - // VCL support: - // if we're building a console app then there can't be any VCL (can there?) -# if !defined(__CONSOLE__) && !defined(_NO_VCL) -# define BOOST_REGEX_USE_VCL -# endif - // - // if this isn't Win32 then don't automatically select link - // libraries: - // -# ifndef _Windows -# ifndef BOOST_REGEX_NO_LIB -# define BOOST_REGEX_NO_LIB -# endif -# ifndef BOOST_REGEX_STATIC_LINK -# define BOOST_REGEX_STATIC_LINK -# endif -# endif - -#if __BORLANDC__ < 0x600 -// -// string workarounds: -// -#include -#undef strcmp -#undef strcpy -#endif - -#endif - - diff --git a/include/boost/regex/config/cwchar.hpp b/include/boost/regex/config/cwchar.hpp deleted file mode 100644 index a55089d0a..000000000 --- a/include/boost/regex/config/cwchar.hpp +++ /dev/null @@ -1,207 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE boost/regex/config/cwchar.hpp - * VERSION see - * DESCRIPTION: regex wide character string fixes. - */ - -#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP -#define BOOST_REGEX_CONFIG_CWCHAR_HPP - -#include -#include -#include - -#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// apparently this is required for the RW STL on Linux: -#undef iswalnum -#undef iswalpha -#undef iswblank -#undef iswcntrl -#undef iswdigit -#undef iswgraph -#undef iswlower -#undef iswprint -#undef iswprint -#undef iswpunct -#undef iswspace -#undef iswupper -#undef iswxdigit -#undef iswctype -#undef towlower -#undef towupper -#undef towctrans -#undef wctrans -#undef wctype -#endif - -namespace std{ - -#ifndef BOOST_NO_STDC_NAMESPACE -extern "C"{ -#endif - -#ifdef iswalnum -inline int (iswalnum)(wint_t i) -{ return iswalnum(i); } -#undef iswalnum -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswalnum; -#endif - -#ifdef iswalpha -inline int (iswalpha)(wint_t i) -{ return iswalpha(i); } -#undef iswalpha -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswalpha; -#endif - -#ifdef iswcntrl -inline int (iswcntrl)(wint_t i) -{ return iswcntrl(i); } -#undef iswcntrl -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswcntrl; -#endif - -#ifdef iswdigit -inline int (iswdigit)(wint_t i) -{ return iswdigit(i); } -#undef iswdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswdigit; -#endif - -#ifdef iswgraph -inline int (iswgraph)(wint_t i) -{ return iswgraph(i); } -#undef iswgraph -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswgraph; -#endif - -#ifdef iswlower -inline int (iswlower)(wint_t i) -{ return iswlower(i); } -#undef iswlower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswlower; -#endif - -#ifdef iswprint -inline int (iswprint)(wint_t i) -{ return iswprint(i); } -#undef iswprint -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswprint; -#endif - -#ifdef iswpunct -inline int (iswpunct)(wint_t i) -{ return iswpunct(i); } -#undef iswpunct -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswpunct; -#endif - -#ifdef iswspace -inline int (iswspace)(wint_t i) -{ return iswspace(i); } -#undef iswspace -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswspace; -#endif - -#ifdef iswupper -inline int (iswupper)(wint_t i) -{ return iswupper(i); } -#undef iswupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswupper; -#endif - -#ifdef iswxdigit -inline int (iswxdigit)(wint_t i) -{ return iswxdigit(i); } -#undef iswxdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswxdigit; -#endif - -#ifdef towlower -inline wint_t (towlower)(wint_t i) -{ return towlower(i); } -#undef towlower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::towlower; -#endif - -#ifdef towupper -inline wint_t (towupper)(wint_t i) -{ return towupper(i); } -#undef towupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using :: towupper; -#endif - -#ifdef wcscmp -inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2) -{ return wcscmp(p1,p2); } -#undef wcscmp -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcscmp; -#endif - -#ifdef wcscoll -inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2) -{ return wcscoll(p1,p2); } -#undef wcscoll -#elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE) -using ::wcscoll; -#endif - -#ifdef wcscpy -inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2) -{ return wcscpy(p1,p2); } -#undef wcscpy -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcscpy; -#endif - -#ifdef wcslen -inline size_t (wcslen)(const wchar_t *p) -{ return wcslen(p); } -#undef wcslen -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcslen; -#endif - -#ifdef wcsxfrm -size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s) -{ return wcsxfrm(p1,p2,s); } -#undef wcsxfrm -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcsxfrm; -#endif - - -#ifndef BOOST_NO_STDC_NAMESPACE -} // extern "C" -#endif - -} // namespace std - -#endif - diff --git a/include/boost/regex/icu.hpp b/include/boost/regex/icu.hpp index 1bf71cb4e..d01e61b86 100644 --- a/include/boost/regex/icu.hpp +++ b/include/boost/regex/icu.hpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2004 + * Copyright (c) 2020 * John Maddock * * Use, modification and distribution are subject to the @@ -19,1051 +19,7 @@ #ifndef BOOST_REGEX_ICU_HPP #define BOOST_REGEX_ICU_HPP -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning (push) -#pragma warning (disable: 4251) -#endif - -namespace boost{ - -namespace BOOST_REGEX_DETAIL_NS{ - -// -// Implementation details: -// -class BOOST_REGEX_DECL icu_regex_traits_implementation -{ - typedef UChar32 char_type; - typedef std::size_t size_type; - typedef std::vector string_type; - typedef U_NAMESPACE_QUALIFIER Locale locale_type; - typedef boost::uint_least32_t char_class_type; -public: - icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l) - : m_locale(l) - { - UErrorCode success = U_ZERO_ERROR; - m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); - if(U_SUCCESS(success) == 0) - init_error(); - m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL); - success = U_ZERO_ERROR; - m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); - if(U_SUCCESS(success) == 0) - init_error(); - m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY); - } - U_NAMESPACE_QUALIFIER Locale getloc()const - { - return m_locale; - } - string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const; - string_type transform(const char_type* p1, const char_type* p2) const - { - return do_transform(p1, p2, m_collator.get()); - } - string_type transform_primary(const char_type* p1, const char_type* p2) const - { - return do_transform(p1, p2, m_primary_collator.get()); - } -private: - void init_error() - { - std::runtime_error e("Could not initialize ICU resources"); - boost::throw_exception(e); - } - U_NAMESPACE_QUALIFIER Locale m_locale; // The ICU locale that we're using - boost::scoped_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator; // The full collation object - boost::scoped_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator; // The primary collation object -}; - -inline boost::shared_ptr get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc) -{ - return boost::shared_ptr(new icu_regex_traits_implementation(loc)); -} - -} - -class BOOST_REGEX_DECL icu_regex_traits -{ -public: - typedef UChar32 char_type; - typedef std::size_t size_type; - typedef std::vector string_type; - typedef U_NAMESPACE_QUALIFIER Locale locale_type; -#ifdef BOOST_NO_INT64_T - typedef std::bitset<64> char_class_type; -#else - typedef boost::uint64_t char_class_type; -#endif - - struct boost_extensions_tag{}; - - icu_regex_traits() - : m_pimpl(BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale())) - { - } - static size_type length(const char_type* p); - - ::boost::regex_constants::syntax_type syntax_type(char_type c)const - { - return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_syntax_type(static_cast(c)) : regex_constants::syntax_char; - } - ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const - { - return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_escape_syntax_type(static_cast(c)) : regex_constants::syntax_char; - } - char_type translate(char_type c) const - { - return c; - } - char_type translate_nocase(char_type c) const - { - return ::u_tolower(c); - } - char_type translate(char_type c, bool icase) const - { - return icase ? translate_nocase(c) : translate(c); - } - char_type tolower(char_type c) const - { - return ::u_tolower(c); - } - char_type toupper(char_type c) const - { - return ::u_toupper(c); - } - string_type transform(const char_type* p1, const char_type* p2) const - { - return m_pimpl->transform(p1, p2); - } - string_type transform_primary(const char_type* p1, const char_type* p2) const - { - return m_pimpl->transform_primary(p1, p2); - } - char_class_type lookup_classname(const char_type* p1, const char_type* p2) const; - string_type lookup_collatename(const char_type* p1, const char_type* p2) const; - bool isctype(char_type c, char_class_type f) const; - boost::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const - { - return BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); - } - int value(char_type c, int radix)const - { - return u_digit(c, static_cast< ::int8_t>(radix)); - } - locale_type imbue(locale_type l) - { - locale_type result(m_pimpl->getloc()); - m_pimpl = BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(l); - return result; - } - locale_type getloc()const - { - return locale_type(); - } - std::string error_string(::boost::regex_constants::error_type n) const - { - return BOOST_REGEX_DETAIL_NS::get_default_error_string(n); - } -private: - icu_regex_traits(const icu_regex_traits&); - icu_regex_traits& operator=(const icu_regex_traits&); - - // - // define the bitmasks offsets we need for additional character properties: - // - enum{ - offset_blank = U_CHAR_CATEGORY_COUNT, - offset_space = U_CHAR_CATEGORY_COUNT+1, - offset_xdigit = U_CHAR_CATEGORY_COUNT+2, - offset_underscore = U_CHAR_CATEGORY_COUNT+3, - offset_unicode = U_CHAR_CATEGORY_COUNT+4, - offset_any = U_CHAR_CATEGORY_COUNT+5, - offset_ascii = U_CHAR_CATEGORY_COUNT+6, - offset_horizontal = U_CHAR_CATEGORY_COUNT+7, - offset_vertical = U_CHAR_CATEGORY_COUNT+8 - }; - - // - // and now the masks: - // - static const char_class_type mask_blank; - static const char_class_type mask_space; - static const char_class_type mask_xdigit; - static const char_class_type mask_underscore; - static const char_class_type mask_unicode; - static const char_class_type mask_any; - static const char_class_type mask_ascii; - static const char_class_type mask_horizontal; - static const char_class_type mask_vertical; - - static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2); - - boost::shared_ptr< ::boost::BOOST_REGEX_DETAIL_NS::icu_regex_traits_implementation> m_pimpl; -}; - -} // namespace boost - -// -// template instances: -// -#define BOOST_REGEX_CHAR_T UChar32 -#undef BOOST_REGEX_TRAITS_T -#define BOOST_REGEX_TRAITS_T , icu_regex_traits -#define BOOST_REGEX_ICU_INSTANCES -#ifdef BOOST_REGEX_ICU_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#undef BOOST_REGEX_TRAITS_T -#undef BOOST_REGEX_ICU_INSTANCES -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif - -namespace boost{ - -// types: -typedef basic_regex< ::UChar32, icu_regex_traits> u32regex; -typedef match_results u32match; -typedef match_results u16match; - -// -// Construction of 32-bit regex types from UTF-8 and UTF-16 primitives: -// -namespace BOOST_REGEX_DETAIL_NS{ - -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<1>*) -{ - typedef boost::u8_to_u32_iterator conv_type; - return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); -} - -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<2>*) -{ - typedef boost::u16_to_u32_iterator conv_type; - return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); -} - -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<4>*) -{ - return u32regex(i, j, opt); -} -#else -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<1>*) -{ - typedef boost::u8_to_u32_iterator conv_type; - typedef std::vector vector_type; - vector_type v; - conv_type a(i, i, j), b(j, i, j); - while(a != b) - { - v.push_back(*a); - ++a; - } - if(v.size()) - return u32regex(&*v.begin(), v.size(), opt); - return u32regex(static_cast(0), static_cast(0), opt); -} - -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<2>*) -{ - typedef boost::u16_to_u32_iterator conv_type; - typedef std::vector vector_type; - vector_type v; - conv_type a(i, i, j), b(j, i, j); - while(a != b) - { - v.push_back(*a); - ++a; - } - if(v.size()) - return u32regex(&*v.begin(), v.size(), opt); - return u32regex(static_cast(0), static_cast(0), opt); -} - -template -inline u32regex do_make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt, - const boost::mpl::int_<4>*) -{ - typedef std::vector vector_type; - vector_type v; - while(i != j) - { - v.push_back((UChar32)(*i)); - ++i; - } - if(v.size()) - return u32regex(&*v.begin(), v.size(), opt); - return u32regex(static_cast(0), static_cast(0), opt); -} -#endif -} - -// BOOST_REGEX_UCHAR_IS_WCHAR_T -// -// Source inspection of unicode/umachine.h in ICU version 59 indicates that: -// -// On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode) -// -// On earlier versions, the logic is -// -// #if U_SIZEOF_WCHAR_T==2 -// typedef wchar_t OldUChar; -// #elif defined(__CHAR16_TYPE__) -// typedef __CHAR16_TYPE__ OldUChar; -// #else -// typedef uint16_t OldUChar; -// #endif -// -// That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2 -// -// Hence, - -#define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2) - -#if BOOST_REGEX_UCHAR_IS_WCHAR_T - BOOST_STATIC_ASSERT((boost::is_same::value)); -#else - BOOST_STATIC_ASSERT(!(boost::is_same::value)); -#endif - -// -// Construction from an iterator pair: -// -template -inline u32regex make_u32regex(InputIterator i, - InputIterator j, - boost::regex_constants::syntax_option_type opt) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(i, j, opt, static_cast const*>(0)); -} -// -// construction from UTF-8 nul-terminated strings: -// -inline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(p), opt, static_cast const*>(0)); -} -inline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(reinterpret_cast(p)), opt, static_cast const*>(0)); -} -// -// construction from UTF-16 nul-terminated strings: -// -#ifndef BOOST_NO_WREGEX -inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast const*>(0)); -} -#endif -#if !BOOST_REGEX_UCHAR_IS_WCHAR_T -inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast const*>(0)); -} -#endif -// -// construction from basic_string class-template: -// -template -inline u32regex make_u32regex(const std::basic_string& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.begin(), s.end(), opt, static_cast const*>(0)); -} -// -// Construction from ICU string type: -// -inline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) -{ - return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast const*>(0)); -} - -// -// regex_match overloads that widen the character type as appropriate: -// -namespace BOOST_REGEX_DETAIL_NS{ -template -void copy_results(MR1& out, MR2 const& in, NSubs named_subs) -{ - // copy results from an adapted MR2 match_results: - out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base()); - out.set_base(in.base().base()); - out.set_named_subs(named_subs); - for(int i = 0; i < (int)in.size(); ++i) - { - if(in[i].matched || !i) - { - out.set_first(in[i].first.base(), i); - out.set_second(in[i].second.base(), i, in[i].matched); - } - } -#ifdef BOOST_REGEX_MATCH_EXTRA - // Copy full capture info as well: - for(int i = 0; i < (int)in.size(); ++i) - { - if(in[i].captures().size()) - { - out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type()); - for(int j = 0; j < (int)out[i].captures().size(); ++j) - { - out[i].get_captures()[j].first = in[i].captures()[j].first.base(); - out[i].get_captures()[j].second = in[i].captures()[j].second.base(); - out[i].get_captures()[j].matched = in[i].captures()[j].matched; - } - } - } -#endif -} - -template -inline bool do_regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - boost::mpl::int_<4> const*) -{ - return ::boost::regex_match(first, last, m, e, flags); -} -template -bool do_regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - boost::mpl::int_<2> const*) -{ - typedef u16_to_u32_iterator conv_type; - typedef match_results match_type; - //typedef typename match_type::allocator_type alloc_type; - match_type what; - bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); - // copy results across to m: - if(result) copy_results(m, what, e.get_named_subs()); - return result; -} -template -bool do_regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - boost::mpl::int_<1> const*) -{ - typedef u8_to_u32_iterator conv_type; - typedef match_results match_type; - //typedef typename match_type::allocator_type alloc_type; - match_type what; - bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); - // copy results across to m: - if(result) copy_results(m, what, e.get_named_subs()); - return result; -} -} // namespace BOOST_REGEX_DETAIL_NS - -template -inline bool u32regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const UChar* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); -} -#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) -inline bool u32regex_match(const wchar_t* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); -} -#endif -inline bool u32regex_match(const char* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const unsigned char* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const std::string& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); -} -#ifndef BOOST_NO_STD_WSTRING -inline bool u32regex_match(const std::wstring& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); -} -#endif -inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); -} -// -// regex_match overloads that do not return what matched: -// -template -inline bool u32regex_match(BidiIterator first, BidiIterator last, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const UChar* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); -} -#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) -inline bool u32regex_match(const wchar_t* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); -} -#endif -inline bool u32regex_match(const char* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const unsigned char* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); -} -inline bool u32regex_match(const std::string& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); -} -#ifndef BOOST_NO_STD_WSTRING -inline bool u32regex_match(const std::wstring& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); -} -#endif -inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); -} - -// -// regex_search overloads that widen the character type as appropriate: -// -namespace BOOST_REGEX_DETAIL_NS{ -template -inline bool do_regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - BidiIterator base, - boost::mpl::int_<4> const*) -{ - return ::boost::regex_search(first, last, m, e, flags, base); -} -template -bool do_regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - BidiIterator base, - boost::mpl::int_<2> const*) -{ - typedef u16_to_u32_iterator conv_type; - typedef match_results match_type; - //typedef typename match_type::allocator_type alloc_type; - match_type what; - bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); - // copy results across to m: - if(result) copy_results(m, what, e.get_named_subs()); - return result; -} -template -bool do_regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - BidiIterator base, - boost::mpl::int_<1> const*) -{ - typedef u8_to_u32_iterator conv_type; - typedef match_results match_type; - //typedef typename match_type::allocator_type alloc_type; - match_type what; - bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); - // copy results across to m: - if(result) copy_results(m, what, e.get_named_subs()); - return result; -} -} - -template -inline bool u32regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); -} -template -inline bool u32regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const u32regex& e, - match_flag_type flags, - BidiIterator base) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, base, static_cast const*>(0)); -} -inline bool u32regex_search(const UChar* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); -} -#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) -inline bool u32regex_search(const wchar_t* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); -} -#endif -inline bool u32regex_search(const char* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); -} -inline bool u32regex_search(const unsigned char* p, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); -} -inline bool u32regex_search(const std::string& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); -} -#ifndef BOOST_NO_STD_WSTRING -inline bool u32regex_search(const std::wstring& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); -} -#endif -inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, - match_results& m, - const u32regex& e, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); -} -template -inline bool u32regex_search(BidiIterator first, BidiIterator last, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); -} -inline bool u32regex_search(const UChar* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); -} -#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) -inline bool u32regex_search(const wchar_t* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); -} -#endif -inline bool u32regex_search(const char* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); -} -inline bool u32regex_search(const unsigned char* p, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); -} -inline bool u32regex_search(const std::string& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); -} -#ifndef BOOST_NO_STD_WSTRING -inline bool u32regex_search(const std::wstring& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); -} -#endif -inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, - const u32regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); -} - -// -// overloads for regex_replace with utf-8 and utf-16 data types: -// -namespace BOOST_REGEX_DETAIL_NS{ -template -inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > - make_utf32_seq(I i, I j, mpl::int_<1> const*) -{ - return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(i, i, j), boost::u8_to_u32_iterator(j, i, j)); -} -template -inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > - make_utf32_seq(I i, I j, mpl::int_<2> const*) -{ - return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(i, i, j), boost::u16_to_u32_iterator(j, i, j)); -} -template -inline std::pair< I, I > - make_utf32_seq(I i, I j, mpl::int_<4> const*) -{ - return std::pair< I, I >(i, j); -} -template -inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > - make_utf32_seq(const charT* p, mpl::int_<1> const*) -{ - std::size_t len = std::strlen((const char*)p); - return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(p, p, p+len), boost::u8_to_u32_iterator(p+len, p, p+len)); -} -template -inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > - make_utf32_seq(const charT* p, mpl::int_<2> const*) -{ - std::size_t len = u_strlen((const UChar*)p); - return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(p, p, p + len), boost::u16_to_u32_iterator(p+len, p, p + len)); -} -template -inline std::pair< const charT*, const charT* > - make_utf32_seq(const charT* p, mpl::int_<4> const*) -{ - return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p)); -} -template -inline OutputIterator make_utf32_out(OutputIterator o, mpl::int_<4> const*) -{ - return o; -} -template -inline utf16_output_iterator make_utf32_out(OutputIterator o, mpl::int_<2> const*) -{ - return o; -} -template -inline utf8_output_iterator make_utf32_out(OutputIterator o, mpl::int_<1> const*) -{ - return o; -} - -template -OutputIterator do_regex_replace(OutputIterator out, - std::pair const& in, - const u32regex& e, - const std::pair& fmt, - match_flag_type flags - ) -{ - // unfortunately we have to copy the format string in order to pass in onward: - std::vector f; -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - f.assign(fmt.first, fmt.second); -#else - f.clear(); - I2 pos = fmt.first; - while(pos != fmt.second) - f.push_back(*pos++); -#endif - - regex_iterator i(in.first, in.second, e, flags); - regex_iterator j; - if(i == j) - { - if(!(flags & regex_constants::format_no_copy)) - out = BOOST_REGEX_DETAIL_NS::copy(in.first, in.second, out); - } - else - { - I1 last_m = in.first; - while(i != j) - { - if(!(flags & regex_constants::format_no_copy)) - out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out); - if(f.size()) - out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits()); - else - out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, static_cast(0), static_cast(0), flags, e.get_traits()); - last_m = (*i)[0].second; - if(flags & regex_constants::format_first_only) - break; - ++i; - } - if(!(flags & regex_constants::format_no_copy)) - out = BOOST_REGEX_DETAIL_NS::copy(last_m, in.second, out); - } - return out; -} -template -inline const BaseIterator& extract_output_base(const BaseIterator& b) -{ - return b; -} -template -inline BaseIterator extract_output_base(const utf8_output_iterator& b) -{ - return b.base(); -} -template -inline BaseIterator extract_output_base(const utf16_output_iterator& b) -{ - return b.base(); -} -} // BOOST_REGEX_DETAIL_NS - -template -inline OutputIterator u32regex_replace(OutputIterator out, - BidirectionalIterator first, - BidirectionalIterator last, - const u32regex& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::extract_output_base - ( - BOOST_REGEX_DETAIL_NS::do_regex_replace( - BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), - BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), - e, - BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt, static_cast const*>(0)), - flags) - ); -} - -template -inline OutputIterator u32regex_replace(OutputIterator out, - Iterator first, - Iterator last, - const u32regex& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::extract_output_base - ( - BOOST_REGEX_DETAIL_NS::do_regex_replace( - BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), - BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), - e, - BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.begin(), fmt.end(), static_cast const*>(0)), - flags) - ); -} - -template -inline OutputIterator u32regex_replace(OutputIterator out, - Iterator first, - Iterator last, - const u32regex& e, - const U_NAMESPACE_QUALIFIER UnicodeString& fmt, - match_flag_type flags = match_default) -{ - return BOOST_REGEX_DETAIL_NS::extract_output_base - ( - BOOST_REGEX_DETAIL_NS::do_regex_replace( - BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), - BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), - e, - BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), - flags) - ); -} - -template -std::basic_string u32regex_replace(const std::basic_string& s, - const u32regex& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - std::basic_string result; - BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); - u32regex_replace(i, s.begin(), s.end(), e, fmt, flags); - return result; -} - -template -std::basic_string u32regex_replace(const std::basic_string& s, - const u32regex& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - std::basic_string result; - BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); - u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags); - return result; -} - -namespace BOOST_REGEX_DETAIL_NS{ - -class unicode_string_out_iterator -{ - U_NAMESPACE_QUALIFIER UnicodeString* out; -public: - unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {} - unicode_string_out_iterator& operator++() { return *this; } - unicode_string_out_iterator& operator++(int) { return *this; } - unicode_string_out_iterator& operator*() { return *this; } - unicode_string_out_iterator& operator=(UChar v) - { - *out += v; - return *this; - } - typedef std::ptrdiff_t difference_type; - typedef UChar value_type; - typedef value_type* pointer; - typedef value_type& reference; - typedef std::output_iterator_tag iterator_category; -}; - -} - -inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, - const u32regex& e, - const UChar* fmt, - match_flag_type flags = match_default) -{ - U_NAMESPACE_QUALIFIER UnicodeString result; - BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); - u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags); - return result; -} - -inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, - const u32regex& e, - const U_NAMESPACE_QUALIFIER UnicodeString& fmt, - match_flag_type flags = match_default) -{ - U_NAMESPACE_QUALIFIER UnicodeString result; - BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); - BOOST_REGEX_DETAIL_NS::do_regex_replace( - BOOST_REGEX_DETAIL_NS::make_utf32_out(i, static_cast const*>(0)), - BOOST_REGEX_DETAIL_NS::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast const*>(0)), - e, - BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), - flags); - return result; -} - -} // namespace boost. - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -#include -#include +#include +#include #endif diff --git a/include/boost/regex/pattern_except.hpp b/include/boost/regex/pattern_except.hpp index 004b67f3f..78e9abb62 100644 --- a/include/boost/regex/pattern_except.hpp +++ b/include/boost/regex/pattern_except.hpp @@ -23,78 +23,6 @@ #include #endif -#include -#include -#include +#include -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4275) -#endif -class BOOST_REGEX_DECL regex_error : public std::runtime_error -{ -public: - explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0); - explicit regex_error(regex_constants::error_type err); - ~regex_error() throw(); - regex_constants::error_type code()const - { return m_error_code; } - std::ptrdiff_t position()const - { return m_position; } - void raise()const; -private: - regex_constants::error_type m_error_code; - std::ptrdiff_t m_position; -}; - -typedef regex_error bad_pattern; -typedef regex_error bad_expression; - -namespace BOOST_REGEX_DETAIL_NS{ - -BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex); - -template -void raise_error(const traits& t, regex_constants::error_type code) -{ - (void)t; // warning suppression - std::runtime_error e(t.error_string(code)); - ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(e); -} - -} - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) #endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif - - - diff --git a/include/boost/regex/pending/object_cache.hpp b/include/boost/regex/pending/object_cache.hpp index c47862f0e..3ca451ef6 100644 --- a/include/boost/regex/pending/object_cache.hpp +++ b/include/boost/regex/pending/object_cache.hpp @@ -19,147 +19,7 @@ #ifndef BOOST_REGEX_OBJECT_CACHE_HPP #define BOOST_REGEX_OBJECT_CACHE_HPP -#include -#include -#include -#include -#include -#include -#ifdef BOOST_HAS_THREADS -#include -#endif - -namespace boost{ - -template -class object_cache -{ -public: - typedef std::pair< ::boost::shared_ptr, Key const*> value_type; - typedef std::list list_type; - typedef typename list_type::iterator list_iterator; - typedef std::map map_type; - typedef typename map_type::iterator map_iterator; - typedef typename list_type::size_type size_type; - static boost::shared_ptr get(const Key& k, size_type l_max_cache_size); - -private: - static boost::shared_ptr do_get(const Key& k, size_type l_max_cache_size); - - struct data - { - list_type cont; - map_type index; - }; - - // Needed by compilers not implementing the resolution to DR45. For reference, - // see http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#45. - friend struct data; -}; - -template -boost::shared_ptr object_cache::get(const Key& k, size_type l_max_cache_size) -{ -#ifdef BOOST_HAS_THREADS - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT; - - boost::static_mutex::scoped_lock l(mut); - if(l) - { - return do_get(k, l_max_cache_size); - } - // - // what do we do if the lock fails? - // for now just throw, but we should never really get here... - // - ::boost::throw_exception(std::runtime_error("Error in thread safety code: could not acquire a lock")); -#if defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION) || defined(BOOST_NO_EXCEPTIONS) - return boost::shared_ptr(); -#endif -#else - return do_get(k, l_max_cache_size); -#endif -} - -template -boost::shared_ptr object_cache::do_get(const Key& k, size_type l_max_cache_size) -{ - typedef typename object_cache::data object_data; - typedef typename map_type::size_type map_size_type; - static object_data s_data; - - // - // see if the object is already in the cache: - // - map_iterator mpos = s_data.index.find(k); - if(mpos != s_data.index.end()) - { - // - // Eureka! - // We have a cached item, bump it up the list and return it: - // - if(--(s_data.cont.end()) != mpos->second) - { - // splice out the item we want to move: - list_type temp; - temp.splice(temp.end(), s_data.cont, mpos->second); - // and now place it at the end of the list: - s_data.cont.splice(s_data.cont.end(), temp, temp.begin()); - BOOST_ASSERT(*(s_data.cont.back().second) == k); - // update index with new position: - mpos->second = --(s_data.cont.end()); - BOOST_ASSERT(&(mpos->first) == mpos->second->second); - BOOST_ASSERT(&(mpos->first) == s_data.cont.back().second); - } - return s_data.cont.back().first; - } - // - // if we get here then the item is not in the cache, - // so create it: - // - boost::shared_ptr result(new Object(k)); - // - // Add it to the list, and index it: - // - s_data.cont.push_back(value_type(result, static_cast(0))); - s_data.index.insert(std::make_pair(k, --(s_data.cont.end()))); - s_data.cont.back().second = &(s_data.index.find(k)->first); - map_size_type s = s_data.index.size(); - BOOST_ASSERT(s_data.index[k]->first.get() == result.get()); - BOOST_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); - BOOST_ASSERT(s_data.index.find(k)->first == k); - if(s > l_max_cache_size) - { - // - // We have too many items in the list, so we need to start - // popping them off the back of the list, but only if they're - // being held uniquely by us: - // - list_iterator pos = s_data.cont.begin(); - list_iterator last = s_data.cont.end(); - while((pos != last) && (s > l_max_cache_size)) - { - if(pos->first.unique()) - { - list_iterator condemmed(pos); - ++pos; - // now remove the items from our containers, - // then order has to be as follows: - BOOST_ASSERT(s_data.index.find(*(condemmed->second)) != s_data.index.end()); - s_data.index.erase(*(condemmed->second)); - s_data.cont.erase(condemmed); - --s; - } - else - ++pos; - } - BOOST_ASSERT(s_data.index[k]->first.get() == result.get()); - BOOST_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); - BOOST_ASSERT(s_data.index.find(k)->first == k); - } - return result; -} - -} +#include +#include #endif diff --git a/include/boost/regex/pending/static_mutex.hpp b/include/boost/regex/pending/static_mutex.hpp deleted file mode 100644 index 344926f6a..000000000 --- a/include/boost/regex/pending/static_mutex.hpp +++ /dev/null @@ -1,182 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE static_mutex.hpp - * VERSION see - * DESCRIPTION: Declares static_mutex lock type, there are three different - * implementations: POSIX pthreads, WIN32 threads, and portable, - * these are described in more detail below. - */ - -#ifndef BOOST_REGEX_STATIC_MUTEX_HPP -#define BOOST_REGEX_STATIC_MUTEX_HPP - -#include -#include // dll import/export options. - -#ifdef BOOST_HAS_PTHREADS -#include -#endif - -#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER) -// -// pthreads version: -// simple wrap around a pthread_mutex_t initialized with -// PTHREAD_MUTEX_INITIALIZER. -// -namespace boost{ - -class static_mutex; - -#define BOOST_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER, } - -class BOOST_REGEX_DECL scoped_static_mutex_lock -{ -public: - scoped_static_mutex_lock(static_mutex& mut, bool lk = true); - ~scoped_static_mutex_lock(); - inline bool locked()const - { - return m_have_lock; - } - inline operator void const*()const - { - return locked() ? this : 0; - } - void lock(); - void unlock(); -private: - static_mutex& m_mutex; - bool m_have_lock; -}; - -class static_mutex -{ -public: - typedef scoped_static_mutex_lock scoped_lock; - pthread_mutex_t m_mutex; -}; - -} // namespace boost -#elif defined(BOOST_HAS_WINTHREADS) -// -// Win32 version: -// Use a 32-bit int as a lock, along with a test-and-set -// implementation using InterlockedCompareExchange. -// - -#include - -namespace boost{ - -class BOOST_REGEX_DECL scoped_static_mutex_lock; - -class static_mutex -{ -public: - typedef scoped_static_mutex_lock scoped_lock; - boost::int32_t m_mutex; -}; - -#define BOOST_STATIC_MUTEX_INIT { 0, } - -class BOOST_REGEX_DECL scoped_static_mutex_lock -{ -public: - scoped_static_mutex_lock(static_mutex& mut, bool lk = true); - ~scoped_static_mutex_lock(); - operator void const*()const - { - return locked() ? this : 0; - } - bool locked()const - { - return m_have_lock; - } - void lock(); - void unlock(); -private: - static_mutex& m_mutex; - bool m_have_lock; - scoped_static_mutex_lock(const scoped_static_mutex_lock&); - scoped_static_mutex_lock& operator=(const scoped_static_mutex_lock&); -}; - -} // namespace - -#else -// -// Portable version of a static mutex based on Boost.Thread library: -// This has to use a single mutex shared by all instances of static_mutex -// because boost::call_once doesn't alow us to pass instance information -// down to the initialisation proceedure. In fact the initialisation routine -// may need to be called more than once - but only once per instance. -// -// Since this preprocessor path is almost never taken, we hide these header -// dependencies so that build tools don't find them. -// -#define BOOST_REGEX_H1 -#define BOOST_REGEX_H2 -#define BOOST_REGEX_H3 -#include BOOST_REGEX_H1 -#include BOOST_REGEX_H2 -#include BOOST_REGEX_H3 -#undef BOOST_REGEX_H1 -#undef BOOST_REGEX_H2 -#undef BOOST_REGEX_H3 - -namespace boost{ - -class BOOST_REGEX_DECL scoped_static_mutex_lock; -extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex(); - -class BOOST_REGEX_DECL static_mutex -{ -public: - typedef scoped_static_mutex_lock scoped_lock; - static void init(); - static boost::recursive_mutex* m_pmutex; - static boost::once_flag m_once; -}; - -#define BOOST_STATIC_MUTEX_INIT { } - -class BOOST_REGEX_DECL scoped_static_mutex_lock -{ -public: - scoped_static_mutex_lock(static_mutex& mut, bool lk = true); - ~scoped_static_mutex_lock(); - operator void const*()const; - bool locked()const; - void lock(); - void unlock(); -private: - boost::unique_lock* m_plock; - bool m_have_lock; -}; - -inline scoped_static_mutex_lock::operator void const*()const -{ - return locked() ? this : 0; -} - -inline bool scoped_static_mutex_lock::locked()const -{ - return m_have_lock; -} - -} // namespace - -#endif - -#endif diff --git a/include/boost/regex/pending/unicode_iterator.hpp b/include/boost/regex/pending/unicode_iterator.hpp index becb17ad5..da36ecb53 100644 --- a/include/boost/regex/pending/unicode_iterator.hpp +++ b/include/boost/regex/pending/unicode_iterator.hpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2004 + * Copyright (c) 2020 * John Maddock * * Use, modification and distribution are subject to the @@ -16,770 +16,11 @@ * DESCRIPTION: Iterator adapters for converting between different Unicode encodings. */ -/**************************************************************************** +#ifndef BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP +#define BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP -Contents: -~~~~~~~~~ +#include +#include -1) Read Only, Input Adapters: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -template -class u32_to_u8_iterator; - -Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-8. - -template -class u8_to_u32_iterator; - -Adapts sequence of UTF-8 code points to "look like" a sequence of UTF-32. - -template -class u32_to_u16_iterator; - -Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-16. - -template -class u16_to_u32_iterator; - -Adapts sequence of UTF-16 code points to "look like" a sequence of UTF-32. - -2) Single pass output iterator adapters: - -template -class utf8_output_iterator; - -Accepts UTF-32 code points and forwards them on as UTF-8 code points. - -template -class utf16_output_iterator; - -Accepts UTF-32 code points and forwards them on as UTF-16 code points. - -****************************************************************************/ - -#ifndef BOOST_REGEX_UNICODE_ITERATOR_HPP -#define BOOST_REGEX_UNICODE_ITERATOR_HPP -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_STD_LOCALE -#include -#include -#endif -#include // CHAR_BIT - -namespace boost{ - -namespace detail{ - -static const ::boost::uint16_t high_surrogate_base = 0xD7C0u; -static const ::boost::uint16_t low_surrogate_base = 0xDC00u; -static const ::boost::uint32_t ten_bit_mask = 0x3FFu; - -inline bool is_high_surrogate(::boost::uint16_t v) -{ - return (v & 0xFFFFFC00u) == 0xd800u; -} -inline bool is_low_surrogate(::boost::uint16_t v) -{ - return (v & 0xFFFFFC00u) == 0xdc00u; -} -template -inline bool is_surrogate(T v) -{ - return (v & 0xFFFFF800u) == 0xd800; -} - -inline unsigned utf8_byte_count(boost::uint8_t c) -{ - // if the most significant bit with a zero in it is in position - // 8-N then there are N bytes in this UTF-8 sequence: - boost::uint8_t mask = 0x80u; - unsigned result = 0; - while(c & mask) - { - ++result; - mask >>= 1; - } - return (result == 0) ? 1 : ((result > 4) ? 4 : result); -} - -inline unsigned utf8_trailing_byte_count(boost::uint8_t c) -{ - return utf8_byte_count(c) - 1; -} - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4100) -#endif -#ifndef BOOST_NO_EXCEPTIONS -BOOST_NORETURN -#endif -inline void invalid_utf32_code_point(::boost::uint32_t val) -{ -#ifndef BOOST_NO_STD_LOCALE - std::stringstream ss; - ss << "Invalid UTF-32 code point U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-16 sequence"; - std::out_of_range e(ss.str()); -#else - std::out_of_range e("Invalid UTF-32 code point encountered while trying to encode UTF-16 sequence"); -#endif - boost::throw_exception(e); -} -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - - -} // namespace detail - -template -class u32_to_u16_iterator - : public boost::iterator_facade, U16Type, std::bidirectional_iterator_tag, const U16Type> -{ - typedef boost::iterator_facade, U16Type, std::bidirectional_iterator_tag, const U16Type> base_type; - -#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef typename std::iterator_traits::value_type base_value_type; - - BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32); - BOOST_STATIC_ASSERT(sizeof(U16Type)*CHAR_BIT == 16); -#endif - -public: - typename base_type::reference - dereference()const - { - if(m_current == 2) - extract_current(); - return m_values[m_current]; - } - bool equal(const u32_to_u16_iterator& that)const - { - if(m_position == that.m_position) - { - // Both m_currents must be equal, or both even - // this is the same as saying their sum must be even: - return (m_current + that.m_current) & 1u ? false : true; - } - return false; - } - void increment() - { - // if we have a pending read then read now, so that we know whether - // to skip a position, or move to a low-surrogate: - if(m_current == 2) - { - // pending read: - extract_current(); - } - // move to the next surrogate position: - ++m_current; - // if we've reached the end skip a position: - if(m_values[m_current] == 0) - { - m_current = 2; - ++m_position; - } - } - void decrement() - { - if(m_current != 1) - { - // decrementing an iterator always leads to a valid position: - --m_position; - extract_current(); - m_current = m_values[1] ? 1 : 0; - } - else - { - m_current = 0; - } - } - BaseIterator base()const - { - return m_position; - } - // construct: - u32_to_u16_iterator() : m_position(), m_current(0) - { - m_values[0] = 0; - m_values[1] = 0; - m_values[2] = 0; - } - u32_to_u16_iterator(BaseIterator b) : m_position(b), m_current(2) - { - m_values[0] = 0; - m_values[1] = 0; - m_values[2] = 0; - } -private: - - void extract_current()const - { - // begin by checking for a code point out of range: - ::boost::uint32_t v = *m_position; - if(v >= 0x10000u) - { - if(v > 0x10FFFFu) - detail::invalid_utf32_code_point(*m_position); - // split into two surrogates: - m_values[0] = static_cast(v >> 10) + detail::high_surrogate_base; - m_values[1] = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; - m_current = 0; - BOOST_ASSERT(detail::is_high_surrogate(m_values[0])); - BOOST_ASSERT(detail::is_low_surrogate(m_values[1])); - } - else - { - // 16-bit code point: - m_values[0] = static_cast(*m_position); - m_values[1] = 0; - m_current = 0; - // value must not be a surrogate: - if(detail::is_surrogate(m_values[0])) - detail::invalid_utf32_code_point(*m_position); - } - } - BaseIterator m_position; - mutable U16Type m_values[3]; - mutable unsigned m_current; -}; - -template -class u16_to_u32_iterator - : public boost::iterator_facade, U32Type, std::bidirectional_iterator_tag, const U32Type> -{ - typedef boost::iterator_facade, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type; - // special values for pending iterator reads: - BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu); - -#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef typename std::iterator_traits::value_type base_value_type; - - BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 16); - BOOST_STATIC_ASSERT(sizeof(U32Type)*CHAR_BIT == 32); -#endif - -public: - typename base_type::reference - dereference()const - { - if(m_value == pending_read) - extract_current(); - return m_value; - } - bool equal(const u16_to_u32_iterator& that)const - { - return m_position == that.m_position; - } - void increment() - { - // skip high surrogate first if there is one: - if(detail::is_high_surrogate(*m_position)) ++m_position; - ++m_position; - m_value = pending_read; - } - void decrement() - { - --m_position; - // if we have a low surrogate then go back one more: - if(detail::is_low_surrogate(*m_position)) - --m_position; - m_value = pending_read; - } - BaseIterator base()const - { - return m_position; - } - // construct: - u16_to_u32_iterator() : m_position() - { - m_value = pending_read; - } - u16_to_u32_iterator(BaseIterator b) : m_position(b) - { - m_value = pending_read; - } - // - // Range checked version: - // - u16_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) - { - m_value = pending_read; - // - // The range must not start with a low surrogate, or end in a high surrogate, - // otherwise we run the risk of running outside the underlying input range. - // Likewise b must not be located at a low surrogate. - // - boost::uint16_t val; - if(start != end) - { - if((b != start) && (b != end)) - { - val = *b; - if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) - invalid_code_point(val); - } - val = *start; - if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) - invalid_code_point(val); - val = *--end; - if(detail::is_high_surrogate(val)) - invalid_code_point(val); - } - } -private: - static void invalid_code_point(::boost::uint16_t val) - { -#ifndef BOOST_NO_STD_LOCALE - std::stringstream ss; - ss << "Misplaced UTF-16 surrogate U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-32 sequence"; - std::out_of_range e(ss.str()); -#else - std::out_of_range e("Misplaced UTF-16 surrogate encountered while trying to encode UTF-32 sequence"); -#endif - boost::throw_exception(e); - } - void extract_current()const - { - m_value = static_cast(static_cast< ::boost::uint16_t>(*m_position)); - // if the last value is a high surrogate then adjust m_position and m_value as needed: - if(detail::is_high_surrogate(*m_position)) - { - // precondition; next value must have be a low-surrogate: - BaseIterator next(m_position); - ::boost::uint16_t t = *++next; - if((t & 0xFC00u) != 0xDC00u) - invalid_code_point(t); - m_value = (m_value - detail::high_surrogate_base) << 10; - m_value |= (static_cast(static_cast< ::boost::uint16_t>(t)) & detail::ten_bit_mask); - } - // postcondition; result must not be a surrogate: - if(detail::is_surrogate(m_value)) - invalid_code_point(static_cast< ::boost::uint16_t>(m_value)); - } - BaseIterator m_position; - mutable U32Type m_value; -}; - -template -class u32_to_u8_iterator - : public boost::iterator_facade, U8Type, std::bidirectional_iterator_tag, const U8Type> -{ - typedef boost::iterator_facade, U8Type, std::bidirectional_iterator_tag, const U8Type> base_type; - -#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef typename std::iterator_traits::value_type base_value_type; - - BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32); - BOOST_STATIC_ASSERT(sizeof(U8Type)*CHAR_BIT == 8); -#endif - -public: - typename base_type::reference - dereference()const - { - if(m_current == 4) - extract_current(); - return m_values[m_current]; - } - bool equal(const u32_to_u8_iterator& that)const - { - if(m_position == that.m_position) - { - // either the m_current's must be equal, or one must be 0 and - // the other 4: which means neither must have bits 1 or 2 set: - return (m_current == that.m_current) - || (((m_current | that.m_current) & 3) == 0); - } - return false; - } - void increment() - { - // if we have a pending read then read now, so that we know whether - // to skip a position, or move to a low-surrogate: - if(m_current == 4) - { - // pending read: - extract_current(); - } - // move to the next surrogate position: - ++m_current; - // if we've reached the end skip a position: - if(m_values[m_current] == 0) - { - m_current = 4; - ++m_position; - } - } - void decrement() - { - if((m_current & 3) == 0) - { - --m_position; - extract_current(); - m_current = 3; - while(m_current && (m_values[m_current] == 0)) - --m_current; - } - else - --m_current; - } - BaseIterator base()const - { - return m_position; - } - // construct: - u32_to_u8_iterator() : m_position(), m_current(0) - { - m_values[0] = 0; - m_values[1] = 0; - m_values[2] = 0; - m_values[3] = 0; - m_values[4] = 0; - } - u32_to_u8_iterator(BaseIterator b) : m_position(b), m_current(4) - { - m_values[0] = 0; - m_values[1] = 0; - m_values[2] = 0; - m_values[3] = 0; - m_values[4] = 0; - } -private: - - void extract_current()const - { - boost::uint32_t c = *m_position; - if(c > 0x10FFFFu) - detail::invalid_utf32_code_point(c); - if(c < 0x80u) - { - m_values[0] = static_cast(c); - m_values[1] = static_cast(0u); - m_values[2] = static_cast(0u); - m_values[3] = static_cast(0u); - } - else if(c < 0x800u) - { - m_values[0] = static_cast(0xC0u + (c >> 6)); - m_values[1] = static_cast(0x80u + (c & 0x3Fu)); - m_values[2] = static_cast(0u); - m_values[3] = static_cast(0u); - } - else if(c < 0x10000u) - { - m_values[0] = static_cast(0xE0u + (c >> 12)); - m_values[1] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); - m_values[2] = static_cast(0x80u + (c & 0x3Fu)); - m_values[3] = static_cast(0u); - } - else - { - m_values[0] = static_cast(0xF0u + (c >> 18)); - m_values[1] = static_cast(0x80u + ((c >> 12) & 0x3Fu)); - m_values[2] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); - m_values[3] = static_cast(0x80u + (c & 0x3Fu)); - } - m_current= 0; - } - BaseIterator m_position; - mutable U8Type m_values[5]; - mutable unsigned m_current; -}; - -template -class u8_to_u32_iterator - : public boost::iterator_facade, U32Type, std::bidirectional_iterator_tag, const U32Type> -{ - typedef boost::iterator_facade, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type; - // special values for pending iterator reads: - BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu); - -#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef typename std::iterator_traits::value_type base_value_type; - - BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 8); - BOOST_STATIC_ASSERT(sizeof(U32Type)*CHAR_BIT == 32); -#endif - -public: - typename base_type::reference - dereference()const - { - if(m_value == pending_read) - extract_current(); - return m_value; - } - bool equal(const u8_to_u32_iterator& that)const - { - return m_position == that.m_position; - } - void increment() - { - // We must not start with a continuation character: - if((static_cast(*m_position) & 0xC0) == 0x80) - invalid_sequence(); - // skip high surrogate first if there is one: - unsigned c = detail::utf8_byte_count(*m_position); - if(m_value == pending_read) - { - // Since we haven't read in a value, we need to validate the code points: - for(unsigned i = 0; i < c; ++i) - { - ++m_position; - // We must have a continuation byte: - if((i != c - 1) && ((static_cast(*m_position) & 0xC0) != 0x80)) - invalid_sequence(); - } - } - else - { - std::advance(m_position, c); - } - m_value = pending_read; - } - void decrement() - { - // Keep backtracking until we don't have a trailing character: - unsigned count = 0; - while((*--m_position & 0xC0u) == 0x80u) ++count; - // now check that the sequence was valid: - if(count != detail::utf8_trailing_byte_count(*m_position)) - invalid_sequence(); - m_value = pending_read; - } - BaseIterator base()const - { - return m_position; - } - // construct: - u8_to_u32_iterator() : m_position() - { - m_value = pending_read; - } - u8_to_u32_iterator(BaseIterator b) : m_position(b) - { - m_value = pending_read; - } - // - // Checked constructor: - // - u8_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) - { - m_value = pending_read; - // - // We must not start with a continuation character, or end with a - // truncated UTF-8 sequence otherwise we run the risk of going past - // the start/end of the underlying sequence: - // - if(start != end) - { - unsigned char v = *start; - if((v & 0xC0u) == 0x80u) - invalid_sequence(); - if((b != start) && (b != end) && ((*b & 0xC0u) == 0x80u)) - invalid_sequence(); - BaseIterator pos = end; - do - { - v = *--pos; - } - while((start != pos) && ((v & 0xC0u) == 0x80u)); - std::ptrdiff_t extra = detail::utf8_byte_count(v); - if(std::distance(pos, end) < extra) - invalid_sequence(); - } - } -private: - static void invalid_sequence() - { - std::out_of_range e("Invalid UTF-8 sequence encountered while trying to encode UTF-32 character"); - boost::throw_exception(e); - } - void extract_current()const - { - m_value = static_cast(static_cast< ::boost::uint8_t>(*m_position)); - // we must not have a continuation character: - if((m_value & 0xC0u) == 0x80u) - invalid_sequence(); - // see how many extra bytes we have: - unsigned extra = detail::utf8_trailing_byte_count(*m_position); - // extract the extra bits, 6 from each extra byte: - BaseIterator next(m_position); - for(unsigned c = 0; c < extra; ++c) - { - ++next; - m_value <<= 6; - // We must have a continuation byte: - if((static_cast(*next) & 0xC0) != 0x80) - invalid_sequence(); - m_value += static_cast(*next) & 0x3Fu; - } - // we now need to remove a few of the leftmost bits, but how many depends - // upon how many extra bytes we've extracted: - static const boost::uint32_t masks[4] = - { - 0x7Fu, - 0x7FFu, - 0xFFFFu, - 0x1FFFFFu, - }; - m_value &= masks[extra]; - // check the result is in range: - if(m_value > static_cast(0x10FFFFu)) - invalid_sequence(); - // The result must not be a surrogate: - if((m_value >= static_cast(0xD800)) && (m_value <= static_cast(0xDFFF))) - invalid_sequence(); - // We should not have had an invalidly encoded UTF8 sequence: - if((extra > 0) && (m_value <= static_cast(masks[extra - 1]))) - invalid_sequence(); - } - BaseIterator m_position; - mutable U32Type m_value; -}; - -template -class utf16_output_iterator -{ -public: - typedef void difference_type; - typedef void value_type; - typedef boost::uint32_t* pointer; - typedef boost::uint32_t& reference; - typedef std::output_iterator_tag iterator_category; - - utf16_output_iterator(const BaseIterator& b) - : m_position(b){} - utf16_output_iterator(const utf16_output_iterator& that) - : m_position(that.m_position){} - utf16_output_iterator& operator=(const utf16_output_iterator& that) - { - m_position = that.m_position; - return *this; - } - const utf16_output_iterator& operator*()const - { - return *this; - } - void operator=(boost::uint32_t val)const - { - push(val); - } - utf16_output_iterator& operator++() - { - return *this; - } - utf16_output_iterator& operator++(int) - { - return *this; - } - BaseIterator base()const - { - return m_position; - } -private: - void push(boost::uint32_t v)const - { - if(v >= 0x10000u) - { - // begin by checking for a code point out of range: - if(v > 0x10FFFFu) - detail::invalid_utf32_code_point(v); - // split into two surrogates: - *m_position++ = static_cast(v >> 10) + detail::high_surrogate_base; - *m_position++ = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; - } - else - { - // 16-bit code point: - // value must not be a surrogate: - if(detail::is_surrogate(v)) - detail::invalid_utf32_code_point(v); - *m_position++ = static_cast(v); - } - } - mutable BaseIterator m_position; -}; - -template -class utf8_output_iterator -{ -public: - typedef void difference_type; - typedef void value_type; - typedef boost::uint32_t* pointer; - typedef boost::uint32_t& reference; - typedef std::output_iterator_tag iterator_category; - - utf8_output_iterator(const BaseIterator& b) - : m_position(b){} - utf8_output_iterator(const utf8_output_iterator& that) - : m_position(that.m_position){} - utf8_output_iterator& operator=(const utf8_output_iterator& that) - { - m_position = that.m_position; - return *this; - } - const utf8_output_iterator& operator*()const - { - return *this; - } - void operator=(boost::uint32_t val)const - { - push(val); - } - utf8_output_iterator& operator++() - { - return *this; - } - utf8_output_iterator& operator++(int) - { - return *this; - } - BaseIterator base()const - { - return m_position; - } -private: - void push(boost::uint32_t c)const - { - if(c > 0x10FFFFu) - detail::invalid_utf32_code_point(c); - if(c < 0x80u) - { - *m_position++ = static_cast(c); - } - else if(c < 0x800u) - { - *m_position++ = static_cast(0xC0u + (c >> 6)); - *m_position++ = static_cast(0x80u + (c & 0x3Fu)); - } - else if(c < 0x10000u) - { - *m_position++ = static_cast(0xE0u + (c >> 12)); - *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); - *m_position++ = static_cast(0x80u + (c & 0x3Fu)); - } - else - { - *m_position++ = static_cast(0xF0u + (c >> 18)); - *m_position++ = static_cast(0x80u + ((c >> 12) & 0x3Fu)); - *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); - *m_position++ = static_cast(0x80u + (c & 0x3Fu)); - } - } - mutable BaseIterator m_position; -}; - -} // namespace boost - -#endif // BOOST_REGEX_UNICODE_ITERATOR_HPP +#endif // BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP diff --git a/include/boost/regex/regex_traits.hpp b/include/boost/regex/regex_traits.hpp index 730ba6e0d..fb25b6009 100644 --- a/include/boost/regex/regex_traits.hpp +++ b/include/boost/regex/regex_traits.hpp @@ -24,7 +24,7 @@ #endif # ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -# include +# include # endif #endif // include diff --git a/include/boost/regex/user.hpp b/include/boost/regex/user.hpp index 33b101364..8e047dcdf 100644 --- a/include/boost/regex/user.hpp +++ b/include/boost/regex/user.hpp @@ -59,14 +59,6 @@ // exception handling. // #define BOOST_REGEX_HAS_MS_STACK_GUARD -// define this if you want to use the recursive algorithm -// even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined. -// #define BOOST_REGEX_RECURSIVE - -// define this if you want to use the non-recursive -// algorithm, even if the recursive version would be the default. -// #define BOOST_REGEX_NON_RECURSIVE - // define this if you want to set the size of the memory blocks // used by the non-recursive algorithm. // #define BOOST_REGEX_BLOCKSIZE 4096 @@ -91,3 +83,7 @@ // define this if you want regex to use __cdecl calling convensions, even when __fastcall is available: // #define BOOST_REGEX_NO_FASTCALL + +// define this to control how deep non-avoidable recursive function calls can go, typical expressions +// and format strings should only recurse a handful of times, this is mainly to prevent DOS type attacks. +// #define BOOST_REGEX_MAX_RECURSION_DEPTH 100 diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp deleted file mode 100644 index 196237201..000000000 --- a/include/boost/regex/v4/basic_regex.hpp +++ /dev/null @@ -1,787 +0,0 @@ -/* - * - * Copyright (c) 1998-2004 John Maddock - * Copyright 2011 Garmin Ltd. or its subsidiaries - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org/ for most recent version. - * FILE basic_regex.cpp - * VERSION see - * DESCRIPTION: Declares template class basic_regex. - */ - -#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP -#define BOOST_REGEX_V4_BASIC_REGEX_HPP - -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4251) -#if BOOST_MSVC < 1700 -# pragma warning(disable : 4231) -#endif -#if BOOST_MSVC < 1600 -#pragma warning(disable : 4660) -#endif -#if BOOST_MSVC < 1910 -#pragma warning(disable:4800) -#endif -#endif - -namespace BOOST_REGEX_DETAIL_NS{ - -// -// forward declaration, we will need this one later: -// -template -class basic_regex_parser; - -template -void bubble_down_one(I first, I last) -{ - if(first != last) - { - I next = last - 1; - while((next != first) && (*next < *(next-1))) - { - (next-1)->swap(*next); - --next; - } - } -} - -template -inline int hash_value_from_capture_name(Iterator i, Iterator j) -{ - std::size_t r = boost::hash_range(i, j); - r %= ((std::numeric_limits::max)() - 10001); - r += 10000; - return static_cast(r); -} - -class named_subexpressions -{ -public: - struct name - { - template - name(const charT* i, const charT* j, int idx) - : index(idx) - { - hash = hash_value_from_capture_name(i, j); - } - name(int h, int idx) - : index(idx), hash(h) - { - } - int index; - int hash; - bool operator < (const name& other)const - { - return hash < other.hash; - } - bool operator == (const name& other)const - { - return hash == other.hash; - } - void swap(name& other) - { - std::swap(index, other.index); - std::swap(hash, other.hash); - } - }; - - typedef std::vector::const_iterator const_iterator; - typedef std::pair range_type; - - named_subexpressions(){} - - template - void set_name(const charT* i, const charT* j, int index) - { - m_sub_names.push_back(name(i, j, index)); - bubble_down_one(m_sub_names.begin(), m_sub_names.end()); - } - template - int get_id(const charT* i, const charT* j)const - { - name t(i, j, 0); - typename std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); - if((pos != m_sub_names.end()) && (*pos == t)) - { - return pos->index; - } - return -1; - } - template - range_type equal_range(const charT* i, const charT* j)const - { - name t(i, j, 0); - return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); - } - int get_id(int h)const - { - name t(h, 0); - std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); - if((pos != m_sub_names.end()) && (*pos == t)) - { - return pos->index; - } - return -1; - } - range_type equal_range(int h)const - { - name t(h, 0); - return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); - } -private: - std::vector m_sub_names; -}; - -// -// class regex_data: -// represents the data we wish to expose to the matching algorithms. -// -template -struct regex_data : public named_subexpressions -{ - typedef regex_constants::syntax_option_type flag_type; - typedef std::size_t size_type; - - regex_data(const ::boost::shared_ptr< - ::boost::regex_traits_wrapper >& t) - : m_ptraits(t), m_expression(0), m_expression_len(0), m_disable_match_any(false) {} - regex_data() - : m_ptraits(new ::boost::regex_traits_wrapper()), m_expression(0), m_expression_len(0), m_disable_match_any(false) {} - - ::boost::shared_ptr< - ::boost::regex_traits_wrapper - > m_ptraits; // traits class instance - flag_type m_flags; // flags with which we were compiled - int m_status; // error code (0 implies OK). - const charT* m_expression; // the original expression - std::ptrdiff_t m_expression_len; // the length of the original expression - size_type m_mark_count; // the number of marked sub-expressions - BOOST_REGEX_DETAIL_NS::re_syntax_base* m_first_state; // the first state of the machine - unsigned m_restart_type; // search optimisation type - unsigned char m_startmap[1 << CHAR_BIT]; // which characters can start a match - unsigned int m_can_be_null; // whether we can match a null string - BOOST_REGEX_DETAIL_NS::raw_storage m_data; // the buffer in which our states are constructed - typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character - std::vector< - std::pair< - std::size_t, std::size_t> > m_subs; // Position of sub-expressions within the *string*. - bool m_has_recursions; // whether we have recursive expressions; - bool m_disable_match_any; // when set we need to disable the match_any flag as it causes different/buggy behaviour. -}; -// -// class basic_regex_implementation -// pimpl implementation class for basic_regex. -// -template -class basic_regex_implementation - : public regex_data -{ -public: - typedef regex_constants::syntax_option_type flag_type; - typedef std::ptrdiff_t difference_type; - typedef std::size_t size_type; - typedef typename traits::locale_type locale_type; - typedef const charT* const_iterator; - - basic_regex_implementation(){} - basic_regex_implementation(const ::boost::shared_ptr< - ::boost::regex_traits_wrapper >& t) - : regex_data(t) {} - void assign(const charT* arg_first, - const charT* arg_last, - flag_type f) - { - regex_data* pdat = this; - basic_regex_parser parser(pdat); - parser.parse(arg_first, arg_last, f); - } - - locale_type BOOST_REGEX_CALL imbue(locale_type l) - { - return this->m_ptraits->imbue(l); - } - locale_type BOOST_REGEX_CALL getloc()const - { - return this->m_ptraits->getloc(); - } - std::basic_string BOOST_REGEX_CALL str()const - { - std::basic_string result; - if(this->m_status == 0) - result = std::basic_string(this->m_expression, this->m_expression_len); - return result; - } - const_iterator BOOST_REGEX_CALL expression()const - { - return this->m_expression; - } - std::pair BOOST_REGEX_CALL subexpression(std::size_t n)const - { - const std::pair& pi = this->m_subs.at(n); - std::pair p(expression() + pi.first, expression() + pi.second); - return p; - } - // - // begin, end: - const_iterator BOOST_REGEX_CALL begin()const - { - return (this->m_status ? 0 : this->m_expression); - } - const_iterator BOOST_REGEX_CALL end()const - { - return (this->m_status ? 0 : this->m_expression + this->m_expression_len); - } - flag_type BOOST_REGEX_CALL flags()const - { - return this->m_flags; - } - size_type BOOST_REGEX_CALL size()const - { - return this->m_expression_len; - } - int BOOST_REGEX_CALL status()const - { - return this->m_status; - } - size_type BOOST_REGEX_CALL mark_count()const - { - return this->m_mark_count - 1; - } - const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const - { - return this->m_first_state; - } - unsigned get_restart_type()const - { - return this->m_restart_type; - } - const unsigned char* get_map()const - { - return this->m_startmap; - } - const ::boost::regex_traits_wrapper& get_traits()const - { - return *(this->m_ptraits); - } - bool can_be_null()const - { - return this->m_can_be_null; - } - const regex_data& get_data()const - { - basic_regex_implementation const* p = this; - return *static_cast*>(p); - } -}; - -} // namespace BOOST_REGEX_DETAIL_NS -// -// class basic_regex: -// represents the compiled -// regular expression: -// - -#ifdef BOOST_REGEX_NO_FWD -template > -#else -template -#endif -class basic_regex : public regbase -{ -public: - // typedefs: - typedef std::size_t traits_size_type; - typedef typename traits::string_type traits_string_type; - typedef charT char_type; - typedef traits traits_type; - - typedef charT value_type; - typedef charT& reference; - typedef const charT& const_reference; - typedef const charT* const_iterator; - typedef const_iterator iterator; - typedef std::ptrdiff_t difference_type; - typedef std::size_t size_type; - typedef regex_constants::syntax_option_type flag_type; - // locale_type - // placeholder for actual locale type used by the - // traits class to localise *this. - typedef typename traits::locale_type locale_type; - -public: - explicit basic_regex(){} - explicit basic_regex(const charT* p, flag_type f = regex_constants::normal) - { - assign(p, f); - } - basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) - { - assign(p1, p2, f); - } - basic_regex(const charT* p, size_type len, flag_type f) - { - assign(p, len, f); - } - basic_regex(const basic_regex& that) - : m_pimpl(that.m_pimpl) {} - ~basic_regex(){} - basic_regex& BOOST_REGEX_CALL operator=(const basic_regex& that) - { - return assign(that); - } - basic_regex& BOOST_REGEX_CALL operator=(const charT* ptr) - { - return assign(ptr); - } - - // - // assign: - basic_regex& assign(const basic_regex& that) - { - m_pimpl = that.m_pimpl; - return *this; - } - basic_regex& assign(const charT* p, flag_type f = regex_constants::normal) - { - return assign(p, p + traits::length(p), f); - } - basic_regex& assign(const charT* p, size_type len, flag_type f) - { - return assign(p, p + len, f); - } -private: - basic_regex& do_assign(const charT* p1, - const charT* p2, - flag_type f); -public: - basic_regex& assign(const charT* p1, - const charT* p2, - flag_type f = regex_constants::normal) - { - return do_assign(p1, p2, f); - } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) - - template - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - { - return set_expression(p.data(), p.data() + p.size(), f); - } - - template - explicit basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal) - { - assign(p, f); - } - - template - basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) - { - typedef typename traits::string_type seq_type; - seq_type a(arg_first, arg_last); - if(a.size()) - assign(static_cast(&*a.begin()), static_cast(&*a.begin() + a.size()), f); - else - assign(static_cast(0), static_cast(0), f); - } - - template - basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - return assign(p.data(), p.data() + p.size(), regex_constants::normal); - } - - template - basic_regex& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regex_constants::normal) - { - return assign(s.data(), s.data() + s.size(), f); - } - - template - basic_regex& BOOST_REGEX_CALL assign(InputIterator arg_first, - InputIterator arg_last, - flag_type f = regex_constants::normal) - { - typedef typename traits::string_type seq_type; - seq_type a(arg_first, arg_last); - if(a.size()) - { - const charT* p1 = &*a.begin(); - const charT* p2 = &*a.begin() + a.size(); - return assign(p1, p2, f); - } - return assign(static_cast(0), static_cast(0), f); - } -#else - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - { - return set_expression(p.data(), p.data() + p.size(), f); - } - - basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal) - { - assign(p, f); - } - - basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - return assign(p.data(), p.data() + p.size(), regex_constants::normal); - } - - basic_regex& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regex_constants::normal) - { - return assign(s.data(), s.data() + s.size(), f); - } - -#endif - - // - // locale: - locale_type BOOST_REGEX_CALL imbue(locale_type l); - locale_type BOOST_REGEX_CALL getloc()const - { - return m_pimpl.get() ? m_pimpl->getloc() : locale_type(); - } - // - // getflags: - // retained for backwards compatibility only, "flags" - // is now the preferred name: - flag_type BOOST_REGEX_CALL getflags()const - { - return flags(); - } - flag_type BOOST_REGEX_CALL flags()const - { - return m_pimpl.get() ? m_pimpl->flags() : 0; - } - // - // str: - std::basic_string BOOST_REGEX_CALL str()const - { - return m_pimpl.get() ? m_pimpl->str() : std::basic_string(); - } - // - // begin, end, subexpression: - std::pair BOOST_REGEX_CALL subexpression(std::size_t n)const - { - if(!m_pimpl.get()) - boost::throw_exception(std::logic_error("Can't access subexpressions in an invalid regex.")); - return m_pimpl->subexpression(n); - } - const_iterator BOOST_REGEX_CALL begin()const - { - return (m_pimpl.get() ? m_pimpl->begin() : 0); - } - const_iterator BOOST_REGEX_CALL end()const - { - return (m_pimpl.get() ? m_pimpl->end() : 0); - } - // - // swap: - void BOOST_REGEX_CALL swap(basic_regex& that)throw() - { - m_pimpl.swap(that.m_pimpl); - } - // - // size: - size_type BOOST_REGEX_CALL size()const - { - return (m_pimpl.get() ? m_pimpl->size() : 0); - } - // - // max_size: - size_type BOOST_REGEX_CALL max_size()const - { - return UINT_MAX; - } - // - // empty: - bool BOOST_REGEX_CALL empty()const - { - return (m_pimpl.get() ? 0 != m_pimpl->status() : true); - } - - size_type BOOST_REGEX_CALL mark_count()const - { - return (m_pimpl.get() ? m_pimpl->mark_count() : 0); - } - - int status()const - { - return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty); - } - - int BOOST_REGEX_CALL compare(const basic_regex& that) const - { - if(m_pimpl.get() == that.m_pimpl.get()) - return 0; - if(!m_pimpl.get()) - return -1; - if(!that.m_pimpl.get()) - return 1; - if(status() != that.status()) - return status() - that.status(); - if(flags() != that.flags()) - return flags() - that.flags(); - return str().compare(that.str()); - } - bool BOOST_REGEX_CALL operator==(const basic_regex& e)const - { - return compare(e) == 0; - } - bool BOOST_REGEX_CALL operator != (const basic_regex& e)const - { - return compare(e) != 0; - } - bool BOOST_REGEX_CALL operator<(const basic_regex& e)const - { - return compare(e) < 0; - } - bool BOOST_REGEX_CALL operator>(const basic_regex& e)const - { - return compare(e) > 0; - } - bool BOOST_REGEX_CALL operator<=(const basic_regex& e)const - { - return compare(e) <= 0; - } - bool BOOST_REGEX_CALL operator>=(const basic_regex& e)const - { - return compare(e) >= 0; - } - - // - // The following are deprecated as public interfaces - // but are available for compatibility with earlier versions. - const charT* BOOST_REGEX_CALL expression()const - { - return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0); - } - unsigned int BOOST_REGEX_CALL set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) - { - assign(p1, p2, f | regex_constants::no_except); - return status(); - } - unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regex_constants::normal) - { - assign(p, f | regex_constants::no_except); - return status(); - } - unsigned int BOOST_REGEX_CALL error_code()const - { - return status(); - } - // - // private access methods: - // - const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->get_first_state(); - } - unsigned get_restart_type()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->get_restart_type(); - } - const unsigned char* get_map()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->get_map(); - } - const ::boost::regex_traits_wrapper& get_traits()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->get_traits(); - } - bool can_be_null()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->can_be_null(); - } - const BOOST_REGEX_DETAIL_NS::regex_data& get_data()const - { - BOOST_ASSERT(0 != m_pimpl.get()); - return m_pimpl->get_data(); - } - boost::shared_ptr get_named_subs()const - { - return m_pimpl; - } - -private: - shared_ptr > m_pimpl; -}; - -// -// out of line members; -// these are the only members that mutate the basic_regex object, -// and are designed to provide the strong exception guarentee -// (in the event of a throw, the state of the object remains unchanged). -// -template -basic_regex& basic_regex::do_assign(const charT* p1, - const charT* p2, - flag_type f) -{ - shared_ptr > temp; - if(!m_pimpl.get()) - { - temp = shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); - } - else - { - temp = shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation(m_pimpl->m_ptraits)); - } - temp->assign(p1, p2, f); - temp.swap(m_pimpl); - return *this; -} - -template -typename basic_regex::locale_type BOOST_REGEX_CALL basic_regex::imbue(locale_type l) -{ - shared_ptr > temp(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); - locale_type result = temp->imbue(l); - temp.swap(m_pimpl); - return result; -} - -// -// non-members: -// -template -void swap(basic_regex& e1, basic_regex& e2) -{ - e1.swap(e2); -} - -#ifndef BOOST_NO_STD_LOCALE -template -std::basic_ostream& - operator << (std::basic_ostream& os, - const basic_regex& e) -{ - return (os << e.str()); -} -#else -template -std::ostream& operator << (std::ostream& os, const basic_regex& e) -{ - return (os << e.str()); -} -#endif - -// -// class reg_expression: -// this is provided for backwards compatibility only, -// it is deprecated, no not use! -// -#ifdef BOOST_REGEX_NO_FWD -template > -#else -template -#endif -class reg_expression : public basic_regex -{ -public: - typedef typename basic_regex::flag_type flag_type; - typedef typename basic_regex::size_type size_type; - explicit reg_expression(){} - explicit reg_expression(const charT* p, flag_type f = regex_constants::normal) - : basic_regex(p, f){} - reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) - : basic_regex(p1, p2, f){} - reg_expression(const charT* p, size_type len, flag_type f) - : basic_regex(p, len, f){} - reg_expression(const reg_expression& that) - : basic_regex(that) {} - ~reg_expression(){} - reg_expression& BOOST_REGEX_CALL operator=(const reg_expression& that) - { - return this->assign(that); - } - -#if !defined(BOOST_NO_MEMBER_TEMPLATES) - template - explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - : basic_regex(p, f) - { - } - - template - reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) - : basic_regex(arg_first, arg_last, f) - { - } - - template - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - this->assign(p); - return *this; - } -#else - explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - : basic_regex(p, f) - { - } - - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - this->assign(p); - return *this; - } -#endif - -}; - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - diff --git a/include/boost/regex/v4/c_regex_traits.hpp b/include/boost/regex/v4/c_regex_traits.hpp deleted file mode 100644 index d99b0f341..000000000 --- a/include/boost/regex/v4/c_regex_traits.hpp +++ /dev/null @@ -1,211 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE c_regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits class that wraps the global C locale. - */ - -#ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_C_REGEX_TRAITS_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_WORKAROUND_HPP -#include -#endif - -#include - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::strlen; using ::tolower; -} -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ - -template -struct c_regex_traits; - -template<> -struct BOOST_REGEX_DECL c_regex_traits -{ - c_regex_traits(){} - typedef char char_type; - typedef std::size_t size_type; - typedef std::string string_type; - struct locale_type{}; - typedef boost::uint32_t char_class_type; - - static size_type length(const char_type* p) - { - return (std::strlen)(p); - } - - char translate(char c) const - { - return c; - } - char translate_nocase(char c) const - { - return static_cast((std::tolower)(static_cast(c))); - } - - static string_type BOOST_REGEX_CALL transform(const char* p1, const char* p2); - static string_type BOOST_REGEX_CALL transform_primary(const char* p1, const char* p2); - - static char_class_type BOOST_REGEX_CALL lookup_classname(const char* p1, const char* p2); - static string_type BOOST_REGEX_CALL lookup_collatename(const char* p1, const char* p2); - - static bool BOOST_REGEX_CALL isctype(char, char_class_type); - static int BOOST_REGEX_CALL value(char, int); - - locale_type imbue(locale_type l) - { return l; } - locale_type getloc()const - { return locale_type(); } - -private: - // this type is not copyable: - c_regex_traits(const c_regex_traits&); - c_regex_traits& operator=(const c_regex_traits&); -}; - -#ifndef BOOST_NO_WREGEX -template<> -struct BOOST_REGEX_DECL c_regex_traits -{ - c_regex_traits(){} - typedef wchar_t char_type; - typedef std::size_t size_type; - typedef std::wstring string_type; - struct locale_type{}; - typedef boost::uint32_t char_class_type; - - static size_type length(const char_type* p) - { - return (std::wcslen)(p); - } - - wchar_t translate(wchar_t c) const - { - return c; - } - wchar_t translate_nocase(wchar_t c) const - { - return (std::towlower)(c); - } - - static string_type BOOST_REGEX_CALL transform(const wchar_t* p1, const wchar_t* p2); - static string_type BOOST_REGEX_CALL transform_primary(const wchar_t* p1, const wchar_t* p2); - - static char_class_type BOOST_REGEX_CALL lookup_classname(const wchar_t* p1, const wchar_t* p2); - static string_type BOOST_REGEX_CALL lookup_collatename(const wchar_t* p1, const wchar_t* p2); - - static bool BOOST_REGEX_CALL isctype(wchar_t, char_class_type); - static int BOOST_REGEX_CALL value(wchar_t, int); - - locale_type imbue(locale_type l) - { return l; } - locale_type getloc()const - { return locale_type(); } - -private: - // this type is not copyable: - c_regex_traits(const c_regex_traits&); - c_regex_traits& operator=(const c_regex_traits&); -}; - -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -// -// Provide an unsigned short version as well, so the user can link to this -// no matter whether they build with /Zc:wchar_t or not (MSVC specific). -// -template<> -struct BOOST_REGEX_DECL c_regex_traits -{ - c_regex_traits(){} - typedef unsigned short char_type; - typedef std::size_t size_type; - typedef std::basic_string string_type; - struct locale_type{}; - typedef boost::uint32_t char_class_type; - - static size_type length(const char_type* p) - { - return (std::wcslen)((const wchar_t*)p); - } - - unsigned short translate(unsigned short c) const - { - return c; - } - unsigned short translate_nocase(unsigned short c) const - { - return (std::towlower)((wchar_t)c); - } - - static string_type BOOST_REGEX_CALL transform(const unsigned short* p1, const unsigned short* p2); - static string_type BOOST_REGEX_CALL transform_primary(const unsigned short* p1, const unsigned short* p2); - - static char_class_type BOOST_REGEX_CALL lookup_classname(const unsigned short* p1, const unsigned short* p2); - static string_type BOOST_REGEX_CALL lookup_collatename(const unsigned short* p1, const unsigned short* p2); - - static bool BOOST_REGEX_CALL isctype(unsigned short, char_class_type); - static int BOOST_REGEX_CALL value(unsigned short, int); - - locale_type imbue(locale_type l) - { return l; } - locale_type getloc()const - { return locale_type(); } - -private: - // this type is not copyable: - c_regex_traits(const c_regex_traits&); - c_regex_traits& operator=(const c_regex_traits&); -}; - -#endif - -#endif // BOOST_NO_WREGEX - -} - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - - - diff --git a/include/boost/regex/v4/char_regex_traits.hpp b/include/boost/regex/v4/char_regex_traits.hpp deleted file mode 100644 index e8a501ca0..000000000 --- a/include/boost/regex/v4/char_regex_traits.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * Copyright (c) 2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE char_regex_traits.cpp - * VERSION see - * DESCRIPTION: Declares deprecated traits classes char_regex_traits<>. - */ - - -#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP -#define BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ - -namespace deprecated{ -// -// class char_regex_traits_i -// provides case insensitive traits classes (deprecated): -template -class char_regex_traits_i : public regex_traits {}; - -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - -}; - -#ifndef BOOST_NO_WREGEX -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - -}; -#endif -} // namespace deprecated -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // include - diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp deleted file mode 100644 index b7b32d8a5..000000000 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ /dev/null @@ -1,1154 +0,0 @@ -/* - * - * Copyright (c) 2004 John Maddock - * Copyright 2011 Garmin Ltd. or its subsidiaries - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE cpp_regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits class cpp_regex_traits. - */ - -#ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED - -#include -#include -#include - -#ifndef BOOST_NO_STD_LOCALE - -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED -#include -#endif -#ifdef BOOST_HAS_THREADS -#include -#endif -#ifndef BOOST_REGEX_PRIMARY_TRANSFORM -#include -#endif -#ifndef BOOST_REGEX_OBJECT_CACHE_HPP -#include -#endif - -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4786 4251) -#endif - -namespace boost{ - -// -// forward declaration is needed by some compilers: -// -template -class cpp_regex_traits; - -namespace BOOST_REGEX_DETAIL_NS{ - -// -// class parser_buf: -// acts as a stream buffer which wraps around a pair of pointers: -// -template > -class parser_buf : public ::std::basic_streambuf -{ - typedef ::std::basic_streambuf base_type; - typedef typename base_type::int_type int_type; - typedef typename base_type::char_type char_type; - typedef typename base_type::pos_type pos_type; - typedef ::std::streamsize streamsize; - typedef typename base_type::off_type off_type; -public: - parser_buf() : base_type() { setbuf(0, 0); } - const charT* getnext() { return this->gptr(); } -protected: - std::basic_streambuf* setbuf(char_type* s, streamsize n); - typename parser_buf::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which); - typename parser_buf::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which); -private: - parser_buf& operator=(const parser_buf&); - parser_buf(const parser_buf&); -}; - -template -std::basic_streambuf* -parser_buf::setbuf(char_type* s, streamsize n) -{ - this->setg(s, s, s + n); - return this; -} - -template -typename parser_buf::pos_type -parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) -{ - typedef typename boost::int_t::least cast_type; - - if(which & ::std::ios_base::out) - return pos_type(off_type(-1)); - std::ptrdiff_t size = this->egptr() - this->eback(); - std::ptrdiff_t pos = this->gptr() - this->eback(); - charT* g = this->eback(); - switch(static_cast(way)) - { - case ::std::ios_base::beg: - if((off < 0) || (off > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + off, g + size); - break; - case ::std::ios_base::end: - if((off < 0) || (off > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + size - off, g + size); - break; - case ::std::ios_base::cur: - { - std::ptrdiff_t newpos = static_cast(pos + off); - if((newpos < 0) || (newpos > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + newpos, g + size); - break; - } - default: ; - } -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4244) -#endif - return static_cast(this->gptr() - this->eback()); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -typename parser_buf::pos_type -parser_buf::seekpos(pos_type sp, ::std::ios_base::openmode which) -{ - if(which & ::std::ios_base::out) - return pos_type(off_type(-1)); - off_type size = static_cast(this->egptr() - this->eback()); - charT* g = this->eback(); - if(off_type(sp) <= size) - { - this->setg(g, g + off_type(sp), g + size); - } - return pos_type(off_type(-1)); -} - -// -// class cpp_regex_traits_base: -// acts as a container for locale and the facets we are using. -// -template -struct cpp_regex_traits_base -{ - cpp_regex_traits_base(const std::locale& l) - { imbue(l); } - std::locale imbue(const std::locale& l); - - std::locale m_locale; - std::ctype const* m_pctype; -#ifndef BOOST_NO_STD_MESSAGES - std::messages const* m_pmessages; -#endif - std::collate const* m_pcollate; - - bool operator<(const cpp_regex_traits_base& b)const - { - if(m_pctype == b.m_pctype) - { -#ifndef BOOST_NO_STD_MESSAGES - if(m_pmessages == b.m_pmessages) - { - return m_pcollate < b.m_pcollate; - } - return m_pmessages < b.m_pmessages; -#else - return m_pcollate < b.m_pcollate; -#endif - } - return m_pctype < b.m_pctype; - } - bool operator==(const cpp_regex_traits_base& b)const - { - return (m_pctype == b.m_pctype) -#ifndef BOOST_NO_STD_MESSAGES - && (m_pmessages == b.m_pmessages) -#endif - && (m_pcollate == b.m_pcollate); - } -}; - -template -std::locale cpp_regex_traits_base::imbue(const std::locale& l) -{ - std::locale result(m_locale); - m_locale = l; - m_pctype = &BOOST_USE_FACET(std::ctype, l); -#ifndef BOOST_NO_STD_MESSAGES - m_pmessages = BOOST_HAS_FACET(std::messages, l) ? &BOOST_USE_FACET(std::messages, l) : 0; -#endif - m_pcollate = &BOOST_USE_FACET(std::collate, l); - return result; -} - -// -// class cpp_regex_traits_char_layer: -// implements methods that require specialisation for narrow characters: -// -template -class cpp_regex_traits_char_layer : public cpp_regex_traits_base -{ - typedef std::basic_string string_type; - typedef std::map map_type; - typedef typename map_type::const_iterator map_iterator_type; -public: - cpp_regex_traits_char_layer(const std::locale& l) - : cpp_regex_traits_base(l) - { - init(); - } - cpp_regex_traits_char_layer(const cpp_regex_traits_base& b) - : cpp_regex_traits_base(b) - { - init(); - } - void init(); - - regex_constants::syntax_type syntax_type(charT c)const - { - map_iterator_type i = m_char_map.find(c); - return ((i == m_char_map.end()) ? 0 : i->second); - } - regex_constants::escape_syntax_type escape_syntax_type(charT c) const - { - map_iterator_type i = m_char_map.find(c); - if(i == m_char_map.end()) - { - if(this->m_pctype->is(std::ctype_base::lower, c)) return regex_constants::escape_type_class; - if(this->m_pctype->is(std::ctype_base::upper, c)) return regex_constants::escape_type_not_class; - return 0; - } - return i->second; - } - -private: - string_type get_default_message(regex_constants::syntax_type); - // TODO: use a hash table when available! - map_type m_char_map; -}; - -template -void cpp_regex_traits_char_layer::init() -{ - // we need to start by initialising our syntax map so we know which - // character is used for which purpose: -#ifndef BOOST_NO_STD_MESSAGES -#ifndef __IBMCPP__ - typename std::messages::catalog cat = static_cast::catalog>(-1); -#else - typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); -#endif - std::string cat_name(cpp_regex_traits::get_catalog_name()); - if(cat_name.size() && (this->m_pmessages != 0)) - { - cat = this->m_pmessages->open( - cat_name, - this->m_locale); - if((int)cat < 0) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if((int)cat >= 0) - { -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i)); - for(typename string_type::size_type j = 0; j < mss.size(); ++j) - { - m_char_map[mss[j]] = i; - } - } - this->m_pmessages->close(cat); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - if(this->m_pmessages) - this->m_pmessages->close(cat); - throw; - } -#endif - } - else - { -#endif - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - const char* ptr = get_default_syntax(i); - while(ptr && *ptr) - { - m_char_map[this->m_pctype->widen(*ptr)] = i; - ++ptr; - } - } -#ifndef BOOST_NO_STD_MESSAGES - } -#endif -} - -template -typename cpp_regex_traits_char_layer::string_type - cpp_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) -{ - const char* ptr = get_default_syntax(i); - string_type result; - while(ptr && *ptr) - { - result.append(1, this->m_pctype->widen(*ptr)); - ++ptr; - } - return result; -} - -// -// specialised version for narrow characters: -// -template <> -class BOOST_REGEX_DECL cpp_regex_traits_char_layer : public cpp_regex_traits_base -{ - typedef std::string string_type; -public: - cpp_regex_traits_char_layer(const std::locale& l) - : cpp_regex_traits_base(l) - { - init(); - } - cpp_regex_traits_char_layer(const cpp_regex_traits_base& l) - : cpp_regex_traits_base(l) - { - init(); - } - - regex_constants::syntax_type syntax_type(char c)const - { - return m_char_map[static_cast(c)]; - } - regex_constants::escape_syntax_type escape_syntax_type(char c) const - { - return m_char_map[static_cast(c)]; - } - -private: - regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; - void init(); -}; - -#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET -enum -{ - char_class_space=1<<0, - char_class_print=1<<1, - char_class_cntrl=1<<2, - char_class_upper=1<<3, - char_class_lower=1<<4, - char_class_alpha=1<<5, - char_class_digit=1<<6, - char_class_punct=1<<7, - char_class_xdigit=1<<8, - char_class_alnum=char_class_alpha|char_class_digit, - char_class_graph=char_class_alnum|char_class_punct, - char_class_blank=1<<9, - char_class_word=1<<10, - char_class_unicode=1<<11, - char_class_horizontal_space=1<<12, - char_class_vertical_space=1<<13 -}; - -#endif - -// -// class cpp_regex_traits_implementation: -// provides pimpl implementation for cpp_regex_traits. -// -template -class cpp_regex_traits_implementation : public cpp_regex_traits_char_layer -{ -public: - typedef typename cpp_regex_traits::char_class_type char_class_type; - typedef typename std::ctype::mask native_mask_type; - typedef typename boost::make_unsigned::type unsigned_native_mask_type; -#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET - BOOST_STATIC_CONSTANT(char_class_type, mask_blank = 1u << 24); - BOOST_STATIC_CONSTANT(char_class_type, mask_word = 1u << 25); - BOOST_STATIC_CONSTANT(char_class_type, mask_unicode = 1u << 26); - BOOST_STATIC_CONSTANT(char_class_type, mask_horizontal = 1u << 27); - BOOST_STATIC_CONSTANT(char_class_type, mask_vertical = 1u << 28); -#endif - - typedef std::basic_string string_type; - typedef charT char_type; - //cpp_regex_traits_implementation(); - cpp_regex_traits_implementation(const std::locale& l) - : cpp_regex_traits_char_layer(l) - { - init(); - } - cpp_regex_traits_implementation(const cpp_regex_traits_base& l) - : cpp_regex_traits_char_layer(l) - { - init(); - } - std::string error_string(regex_constants::error_type n) const - { - if(!m_error_strings.empty()) - { - std::map::const_iterator p = m_error_strings.find(n); - return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; - } - return get_default_error_string(n); - } - char_class_type lookup_classname(const charT* p1, const charT* p2) const - { - char_class_type result = lookup_classname_imp(p1, p2); - if(result == 0) - { - string_type temp(p1, p2); - this->m_pctype->tolower(&*temp.begin(), &*temp.begin() + temp.size()); - result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); - } - return result; - } - string_type lookup_collatename(const charT* p1, const charT* p2) const; - string_type transform_primary(const charT* p1, const charT* p2) const; - string_type transform(const charT* p1, const charT* p2) const; -private: - std::map m_error_strings; // error messages indexed by numberic ID - std::map m_custom_class_names; // character class names - std::map m_custom_collate_names; // collating element names - unsigned m_collate_type; // the form of the collation string - charT m_collate_delim; // the collation group delimiter - // - // helpers: - // - char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; - void init(); -#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET -public: - bool isctype(charT c, char_class_type m)const; -#endif -}; - -#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET -#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) - -template -typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_blank; -template -typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_word; -template -typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_unicode; -template -typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_vertical; -template -typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_horizontal; - -#endif -#endif - -template -typename cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const -{ - // - // PRECONDITIONS: - // - // A bug in gcc 3.2 (and maybe other versions as well) treats - // p1 as a null terminated string, for efficiency reasons - // we work around this elsewhere, but just assert here that - // we adhere to gcc's (buggy) preconditions... - // - BOOST_ASSERT(*p2 == 0); - string_type result; -#if defined(_CPPLIB_VER) - // - // A bug in VC11 and 12 causes the program to hang if we pass a null-string - // to std::collate::transform, but only for certain locales :-( - // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). - // - if(*p1 == 0) - { - return string_type(1, charT(0)); - } -#endif - // - // swallowing all exceptions here is a bad idea - // however at least one std lib will always throw - // std::bad_alloc for certain arguments... - // -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - // - // What we do here depends upon the format of the sort key returned by - // sort key returned by this->transform: - // - switch(m_collate_type) - { - case sort_C: - case sort_unknown: - // the best we can do is translate to lower case, then get a regular sort key: - { - result.assign(p1, p2); - this->m_pctype->tolower(&*result.begin(), &*result.begin() + result.size()); - result = this->m_pcollate->transform(&*result.begin(), &*result.begin() + result.size()); - break; - } - case sort_fixed: - { - // get a regular sort key, and then truncate it: - result.assign(this->m_pcollate->transform(p1, p2)); - result.erase(this->m_collate_delim); - break; - } - case sort_delim: - // get a regular sort key, and then truncate everything after the delim: - result.assign(this->m_pcollate->transform(p1, p2)); - std::size_t i; - for(i = 0; i < result.size(); ++i) - { - if(result[i] == m_collate_delim) - break; - } - result.erase(i); - break; - } -#ifndef BOOST_NO_EXCEPTIONS - }catch(...){} -#endif - while(result.size() && (charT(0) == *result.rbegin())) - result.erase(result.size() - 1); - if(result.empty()) - { - // character is ignorable at the primary level: - result = string_type(1, charT(0)); - } - return result; -} - -template -typename cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::transform(const charT* p1, const charT* p2) const -{ - // - // PRECONDITIONS: - // - // A bug in gcc 3.2 (and maybe other versions as well) treats - // p1 as a null terminated string, for efficiency reasons - // we work around this elsewhere, but just assert here that - // we adhere to gcc's (buggy) preconditions... - // - BOOST_ASSERT(*p2 == 0); - // - // swallowing all exceptions here is a bad idea - // however at least one std lib will always throw - // std::bad_alloc for certain arguments... - // - string_type result, result2; -#if defined(_CPPLIB_VER) - // - // A bug in VC11 and 12 causes the program to hang if we pass a null-string - // to std::collate::transform, but only for certain locales :-( - // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). - // - if(*p1 == 0) - { - return result; - } -#endif -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - result = this->m_pcollate->transform(p1, p2); - // - // Borland's STLPort version returns a NULL-terminated - // string that has garbage at the end - each call to - // std::collate::transform returns a different string! - // So as a workaround, we'll truncate the string at the first NULL - // which _seems_ to work.... -#if BOOST_WORKAROUND(__BORLANDC__, < 0x580) - result.erase(result.find(charT(0))); -#else - // - // some implementations (Dinkumware) append unnecessary trailing \0's: - while(result.size() && (charT(0) == *result.rbegin())) - result.erase(result.size() - 1); -#endif - // - // We may have NULL's used as separators between sections of the collate string, - // an example would be Boost.Locale. We have no way to detect this case via - // #defines since this can be used with any compiler/platform combination. - // Unfortunately our state machine (which was devised when all implementations - // used underlying C language API's) can't cope with that case. One workaround - // is to replace each character with 2, fortunately this code isn't used that - // much as this is now slower than before :-( - // - typedef typename make_unsigned::type uchar_type; - result2.reserve(result.size() * 2 + 2); - for(unsigned i = 0; i < result.size(); ++i) - { - if(static_cast(result[i]) == (std::numeric_limits::max)()) - { - result2.append(1, charT((std::numeric_limits::max)())).append(1, charT('b')); - } - else - { - result2.append(1, static_cast(1 + static_cast(result[i]))).append(1, charT('b') - 1); - } - } - BOOST_ASSERT(std::find(result2.begin(), result2.end(), charT(0)) == result2.end()); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - } -#endif - return result2; -} - - -template -typename cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const -{ - typedef typename std::map::const_iterator iter_type; - if(m_custom_collate_names.size()) - { - iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); - if(pos != m_custom_collate_names.end()) - return pos->second; - } -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - std::string name(p1, p2); -#else - std::string name; - const charT* p0 = p1; - while(p0 != p2) - name.append(1, char(*p0++)); -#endif - name = lookup_default_collate_name(name); -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - if(name.size()) - return string_type(name.begin(), name.end()); -#else - if(name.size()) - { - string_type result; - typedef std::string::const_iterator iter; - iter b = name.begin(); - iter e = name.end(); - while(b != e) - result.append(1, charT(*b++)); - return result; - } -#endif - if(p2 - p1 == 1) - return string_type(1, *p1); - return string_type(); -} - -template -void cpp_regex_traits_implementation::init() -{ -#ifndef BOOST_NO_STD_MESSAGES -#ifndef __IBMCPP__ - typename std::messages::catalog cat = static_cast::catalog>(-1); -#else - typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); -#endif - std::string cat_name(cpp_regex_traits::get_catalog_name()); - if(cat_name.size() && (this->m_pmessages != 0)) - { - cat = this->m_pmessages->open( - cat_name, - this->m_locale); - if((int)cat < 0) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if((int)cat >= 0) - { - // - // Error messages: - // - for(boost::regex_constants::error_type i = static_cast(0); - i <= boost::regex_constants::error_unknown; - i = static_cast(i + 1)) - { - const char* p = get_default_error_string(i); - string_type default_message; - while(*p) - { - default_message.append(1, this->m_pctype->widen(*p)); - ++p; - } - string_type s = this->m_pmessages->get(cat, 0, i+200, default_message); - std::string result; - for(std::string::size_type j = 0; j < s.size(); ++j) - { - result.append(1, this->m_pctype->narrow(s[j], 0)); - } - m_error_strings[i] = result; - } - // - // Custom class names: - // -#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET - static const char_class_type masks[16] = - { - static_cast(std::ctype::alnum), - static_cast(std::ctype::alpha), - static_cast(std::ctype::cntrl), - static_cast(std::ctype::digit), - static_cast(std::ctype::graph), - cpp_regex_traits_implementation::mask_horizontal, - static_cast(std::ctype::lower), - static_cast(std::ctype::print), - static_cast(std::ctype::punct), - static_cast(std::ctype::space), - static_cast(std::ctype::upper), - cpp_regex_traits_implementation::mask_vertical, - static_cast(std::ctype::xdigit), - cpp_regex_traits_implementation::mask_blank, - cpp_regex_traits_implementation::mask_word, - cpp_regex_traits_implementation::mask_unicode, - }; -#else - static const char_class_type masks[16] = - { - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alnum, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alpha, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_cntrl, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_digit, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_graph, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_horizontal_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_lower, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_print, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_punct, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_upper, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_vertical_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_xdigit, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_blank, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_word, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_unicode, - }; -#endif - static const string_type null_string; - for(unsigned int j = 0; j <= 13; ++j) - { - string_type s(this->m_pmessages->get(cat, 0, j+300, null_string)); - if(s.size()) - this->m_custom_class_names[s] = masks[j]; - } - } -#endif - // - // get the collation format used by m_pcollate: - // - m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); -} - -template -typename cpp_regex_traits_implementation::char_class_type - cpp_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const -{ -#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET - static const char_class_type masks[22] = - { - 0, - static_cast(std::ctype::alnum), - static_cast(std::ctype::alpha), - cpp_regex_traits_implementation::mask_blank, - static_cast(std::ctype::cntrl), - static_cast(std::ctype::digit), - static_cast(std::ctype::digit), - static_cast(std::ctype::graph), - cpp_regex_traits_implementation::mask_horizontal, - static_cast(std::ctype::lower), - static_cast(std::ctype::lower), - static_cast(std::ctype::print), - static_cast(std::ctype::punct), - static_cast(std::ctype::space), - static_cast(std::ctype::space), - static_cast(std::ctype::upper), - cpp_regex_traits_implementation::mask_unicode, - static_cast(std::ctype::upper), - cpp_regex_traits_implementation::mask_vertical, - static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, - static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, - static_cast(std::ctype::xdigit), - }; -#else - static const char_class_type masks[22] = - { - 0, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alnum, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alpha, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_blank, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_cntrl, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_digit, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_digit, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_graph, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_horizontal_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_lower, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_lower, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_print, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_punct, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_upper, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_unicode, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_upper, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_vertical_space, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alnum | ::boost::BOOST_REGEX_DETAIL_NS::char_class_word, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_alnum | ::boost::BOOST_REGEX_DETAIL_NS::char_class_word, - ::boost::BOOST_REGEX_DETAIL_NS::char_class_xdigit, - }; -#endif - if(m_custom_class_names.size()) - { - typedef typename std::map, char_class_type>::const_iterator map_iter; - map_iter pos = m_custom_class_names.find(string_type(p1, p2)); - if(pos != m_custom_class_names.end()) - return pos->second; - } - std::size_t state_id = 1 + BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); - BOOST_ASSERT(state_id < sizeof(masks) / sizeof(masks[0])); - return masks[state_id]; -} - -#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET -template -bool cpp_regex_traits_implementation::isctype(const charT c, char_class_type mask) const -{ - return - ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_space) && (this->m_pctype->is(std::ctype::space, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_print) && (this->m_pctype->is(std::ctype::print, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_cntrl) && (this->m_pctype->is(std::ctype::cntrl, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_upper) && (this->m_pctype->is(std::ctype::upper, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_lower) && (this->m_pctype->is(std::ctype::lower, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_alpha) && (this->m_pctype->is(std::ctype::alpha, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_digit) && (this->m_pctype->is(std::ctype::digit, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_punct) && (this->m_pctype->is(std::ctype::punct, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_xdigit) && (this->m_pctype->is(std::ctype::xdigit, c))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_blank) && (this->m_pctype->is(std::ctype::space, c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_word) && (c == '_')) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_unicode) && ::boost::BOOST_REGEX_DETAIL_NS::is_extended(c)) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_vertical_space) && (is_separator(c) || (c == '\v'))) - || ((mask & ::boost::BOOST_REGEX_DETAIL_NS::char_class_horizontal_space) && this->m_pctype->is(std::ctype::space, c) && !(is_separator(c) || (c == '\v'))); -} -#endif - - -template -inline boost::shared_ptr > create_cpp_regex_traits(const std::locale& l) -{ - cpp_regex_traits_base key(l); - return ::boost::object_cache, cpp_regex_traits_implementation >::get(key, 5); -} - -} // BOOST_REGEX_DETAIL_NS - -template -class cpp_regex_traits -{ -private: - typedef std::ctype ctype_type; -public: - typedef charT char_type; - typedef std::size_t size_type; - typedef std::basic_string string_type; - typedef std::locale locale_type; - typedef boost::uint_least32_t char_class_type; - - struct boost_extensions_tag{}; - - cpp_regex_traits() - : m_pimpl(BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(std::locale())) - { } - static size_type length(const char_type* p) - { - return std::char_traits::length(p); - } - regex_constants::syntax_type syntax_type(charT c)const - { - return m_pimpl->syntax_type(c); - } - regex_constants::escape_syntax_type escape_syntax_type(charT c) const - { - return m_pimpl->escape_syntax_type(c); - } - charT translate(charT c) const - { - return c; - } - charT translate_nocase(charT c) const - { - return m_pimpl->m_pctype->tolower(c); - } - charT translate(charT c, bool icase) const - { - return icase ? m_pimpl->m_pctype->tolower(c) : c; - } - charT tolower(charT c) const - { - return m_pimpl->m_pctype->tolower(c); - } - charT toupper(charT c) const - { - return m_pimpl->m_pctype->toupper(c); - } - string_type transform(const charT* p1, const charT* p2) const - { - return m_pimpl->transform(p1, p2); - } - string_type transform_primary(const charT* p1, const charT* p2) const - { - return m_pimpl->transform_primary(p1, p2); - } - char_class_type lookup_classname(const charT* p1, const charT* p2) const - { - return m_pimpl->lookup_classname(p1, p2); - } - string_type lookup_collatename(const charT* p1, const charT* p2) const - { - return m_pimpl->lookup_collatename(p1, p2); - } - bool isctype(charT c, char_class_type f) const - { -#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET - typedef typename std::ctype::mask ctype_mask; - - static const ctype_mask mask_base = - static_cast( - std::ctype::alnum - | std::ctype::alpha - | std::ctype::cntrl - | std::ctype::digit - | std::ctype::graph - | std::ctype::lower - | std::ctype::print - | std::ctype::punct - | std::ctype::space - | std::ctype::upper - | std::ctype::xdigit); - - if((f & mask_base) - && (m_pimpl->m_pctype->is( - static_cast(f & mask_base), c))) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_word) && (c == '_')) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_blank) - && m_pimpl->m_pctype->is(std::ctype::space, c) - && !BOOST_REGEX_DETAIL_NS::is_separator(c)) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical) - && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_horizontal) - && this->isctype(c, std::ctype::space) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical)) - return true; -#ifdef __CYGWIN__ - // - // Cygwin has a buggy ctype facet, see https://www.cygwin.com/ml/cygwin/2012-08/msg00178.html: - // - else if((f & std::ctype::xdigit) == std::ctype::xdigit) - { - if((c >= 'a') && (c <= 'f')) - return true; - if((c >= 'A') && (c <= 'F')) - return true; - } -#endif - return false; -#else - return m_pimpl->isctype(c, f); -#endif - } - boost::intmax_t toi(const charT*& p1, const charT* p2, int radix)const; - int value(charT c, int radix)const - { - const charT* pc = &c; - return (int)toi(pc, pc + 1, radix); - } - locale_type imbue(locale_type l) - { - std::locale result(getloc()); - m_pimpl = BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(l); - return result; - } - locale_type getloc()const - { - return m_pimpl->m_locale; - } - std::string error_string(regex_constants::error_type n) const - { - return m_pimpl->error_string(n); - } - - // - // extension: - // set the name of the message catalog in use (defaults to "boost_regex"). - // - static std::string catalog_name(const std::string& name); - static std::string get_catalog_name(); - -private: - boost::shared_ptr > m_pimpl; - // - // catalog name handler: - // - static std::string& get_catalog_name_inst(); - -#ifdef BOOST_HAS_THREADS - static static_mutex& get_mutex_inst(); -#endif -}; - - -template -boost::intmax_t cpp_regex_traits::toi(const charT*& first, const charT* last, int radix)const -{ - BOOST_REGEX_DETAIL_NS::parser_buf sbuf; // buffer for parsing numbers. - std::basic_istream is(&sbuf); // stream for parsing numbers. - - // we do NOT want to parse any thousands separators inside the stream: - last = std::find(first, last, BOOST_USE_FACET(std::numpunct, is.getloc()).thousands_sep()); - - sbuf.pubsetbuf(const_cast(static_cast(first)), static_cast(last-first)); - is.clear(); - if(std::abs(radix) == 16) is >> std::hex; - else if(std::abs(radix) == 8) is >> std::oct; - else is >> std::dec; - boost::intmax_t val; - if(is >> val) - { - first = first + ((last - first) - sbuf.in_avail()); - return val; - } - else - return -1; -} - -template -std::string cpp_regex_traits::catalog_name(const std::string& name) -{ -#ifdef BOOST_HAS_THREADS - static_mutex::scoped_lock lk(get_mutex_inst()); -#endif - std::string result(get_catalog_name_inst()); - get_catalog_name_inst() = name; - return result; -} - -template -std::string& cpp_regex_traits::get_catalog_name_inst() -{ - static std::string s_name; - return s_name; -} - -template -std::string cpp_regex_traits::get_catalog_name() -{ -#ifdef BOOST_HAS_THREADS - static_mutex::scoped_lock lk(get_mutex_inst()); -#endif - std::string result(get_catalog_name_inst()); - return result; -} - -#ifdef BOOST_HAS_THREADS -template -static_mutex& cpp_regex_traits::get_mutex_inst() -{ - static static_mutex s_mutex = BOOST_STATIC_MUTEX_INIT; - return s_mutex; -} -#endif - - -} // boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - -#endif - - diff --git a/include/boost/regex/v4/cregex.hpp b/include/boost/regex/v4/cregex.hpp deleted file mode 100644 index 67abfbee1..000000000 --- a/include/boost/regex/v4/cregex.hpp +++ /dev/null @@ -1,330 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE cregex.cpp - * VERSION see - * DESCRIPTION: Declares POSIX API functions - * + boost::RegEx high level wrapper. - */ - -#ifndef BOOST_RE_CREGEX_HPP_INCLUDED -#define BOOST_RE_CREGEX_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#include -#include - -#ifdef __cplusplus -#include -#else -#include -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -/* include these defs only for POSIX compatablity */ -#ifdef __cplusplus -namespace boost{ -extern "C" { -#endif - -#if defined(__cplusplus) && !defined(BOOST_NO_STDC_NAMESPACE) -typedef std::ptrdiff_t regoff_t; -typedef std::size_t regsize_t; -#else -typedef ptrdiff_t regoff_t; -typedef size_t regsize_t; -#endif - -typedef struct -{ - unsigned int re_magic; -#ifdef __cplusplus - std::size_t re_nsub; /* number of parenthesized subexpressions */ -#else - size_t re_nsub; -#endif - const char* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - match_flag_type eflags; /* none of your business :-) */ -} regex_tA; - -#ifndef BOOST_NO_WREGEX -typedef struct -{ - unsigned int re_magic; -#ifdef __cplusplus - std::size_t re_nsub; /* number of parenthesized subexpressions */ -#else - size_t re_nsub; -#endif - const wchar_t* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - match_flag_type eflags; /* none of your business :-) */ -} regex_tW; -#endif - -typedef struct -{ - regoff_t rm_so; /* start of match */ - regoff_t rm_eo; /* end of match */ -} regmatch_t; - -/* regcomp() flags */ -typedef enum{ - REG_BASIC = 0000, - REG_EXTENDED = 0001, - REG_ICASE = 0002, - REG_NOSUB = 0004, - REG_NEWLINE = 0010, - REG_NOSPEC = 0020, - REG_PEND = 0040, - REG_DUMP = 0200, - REG_NOCOLLATE = 0400, - REG_ESCAPE_IN_LISTS = 01000, - REG_NEWLINE_ALT = 02000, - REG_PERLEX = 04000, - - REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX, - REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS, - REG_GREP = REG_BASIC | REG_NEWLINE_ALT, - REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT, - - REG_ASSERT = 15, - REG_INVARG = 16, - REG_ATOI = 255, /* convert name to number (!) */ - REG_ITOA = 0400 /* convert number to name (!) */ -} reg_comp_flags; - -/* regexec() flags */ -typedef enum{ - REG_NOTBOL = 00001, - REG_NOTEOL = 00002, - REG_STARTEND = 00004 -} reg_exec_flags; - -/* - * POSIX error codes: - */ -typedef unsigned reg_error_t; -typedef reg_error_t reg_errcode_t; /* backwards compatibility */ - -static const reg_error_t REG_NOERROR = 0; /* Success. */ -static const reg_error_t REG_NOMATCH = 1; /* Didn't find a match (for regexec). */ - - /* POSIX regcomp return error codes. (In the order listed in the - standard.) */ -static const reg_error_t REG_BADPAT = 2; /* Invalid pattern. */ -static const reg_error_t REG_ECOLLATE = 3; /* Undefined collating element. */ -static const reg_error_t REG_ECTYPE = 4; /* Invalid character class name. */ -static const reg_error_t REG_EESCAPE = 5; /* Trailing backslash. */ -static const reg_error_t REG_ESUBREG = 6; /* Invalid back reference. */ -static const reg_error_t REG_EBRACK = 7; /* Unmatched left bracket. */ -static const reg_error_t REG_EPAREN = 8; /* Parenthesis imbalance. */ -static const reg_error_t REG_EBRACE = 9; /* Unmatched \{. */ -static const reg_error_t REG_BADBR = 10; /* Invalid contents of \{\}. */ -static const reg_error_t REG_ERANGE = 11; /* Invalid range end. */ -static const reg_error_t REG_ESPACE = 12; /* Ran out of memory. */ -static const reg_error_t REG_BADRPT = 13; /* No preceding re for repetition op. */ -static const reg_error_t REG_EEND = 14; /* unexpected end of expression */ -static const reg_error_t REG_ESIZE = 15; /* expression too big */ -static const reg_error_t REG_ERPAREN = 8; /* = REG_EPAREN : unmatched right parenthesis */ -static const reg_error_t REG_EMPTY = 17; /* empty expression */ -static const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */ -static const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */ -static const reg_error_t REG_ESTACK = 19; /* out of stack space */ -static const reg_error_t REG_E_PERL = 20; /* Perl (?...) error */ -static const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */ -static const reg_error_t REG_ENOSYS = 21; /* = REG_E_UNKNOWN : Reserved. */ - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*); - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*); -#endif - -#ifdef UNICODE -#define regcomp regcompW -#define regerror regerrorW -#define regexec regexecW -#define regfree regfreeW -#define regex_t regex_tW -#else -#define regcomp regcompA -#define regerror regerrorA -#define regexec regexecA -#define regfree regfreeA -#define regex_t regex_tA -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef __cplusplus -} /* extern "C" */ -} /* namespace */ -#endif - -#if defined(__cplusplus) -/* - * C++ high level wrapper goes here: - */ -#include -#include -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -class RegEx; - -namespace BOOST_REGEX_DETAIL_NS{ - -class RegExData; -struct pred1; -struct pred2; -struct pred3; -struct pred4; - -} /* namespace BOOST_REGEX_DETAIL_NS */ - -#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_DISABLE_WIN32) -typedef bool (__cdecl *GrepCallback)(const RegEx& expression); -typedef bool (__cdecl *GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (__cdecl *FindFilesCallback)(const char* file); -#else -typedef bool (*GrepCallback)(const RegEx& expression); -typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (*FindFilesCallback)(const char* file); -#endif - -class BOOST_REGEX_DECL RegEx -{ -private: - BOOST_REGEX_DETAIL_NS::RegExData* pdata; -public: - RegEx(); - RegEx(const RegEx& o); - ~RegEx(); - explicit RegEx(const char* c, bool icase = false); - explicit RegEx(const std::string& s, bool icase = false); - RegEx& operator=(const RegEx& o); - RegEx& operator=(const char* p); - RegEx& operator=(const std::string& s){ return this->operator=(s.c_str()); } - unsigned int SetExpression(const char* p, bool icase = false); - unsigned int SetExpression(const std::string& s, bool icase = false){ return SetExpression(s.c_str(), icase); } - std::string Expression()const; - unsigned int error_code()const; - /* - * now matching operators: - */ - bool Match(const char* p, match_flag_type flags = match_default); - bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); } - bool Search(const char* p, match_flag_type flags = match_default); - bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); } - unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default); - unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } -#ifndef BOOST_REGEX_NO_FILEITER - unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); } - unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); } -#endif - - std::string Merge(const std::string& in, const std::string& fmt, - bool copy = true, match_flag_type flags = match_default); - std::string Merge(const char* in, const char* fmt, - bool copy = true, match_flag_type flags = match_default); - - std::size_t Split(std::vector& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0); - /* - * now operators for returning what matched in more detail: - */ - std::size_t Position(int i = 0)const; - std::size_t Length(int i = 0)const; - bool Matched(int i = 0)const; - std::size_t Marks()const; - std::string What(int i = 0)const; - std::string operator[](int i)const { return What(i); } - - static const std::size_t npos; - - friend struct BOOST_REGEX_DETAIL_NS::pred1; - friend struct BOOST_REGEX_DETAIL_NS::pred2; - friend struct BOOST_REGEX_DETAIL_NS::pred3; - friend struct BOOST_REGEX_DETAIL_NS::pred4; -}; - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} /* namespace boost */ - -#endif /* __cplusplus */ - -#endif /* include guard */ - - - - - - - - - - diff --git a/include/boost/regex/v4/fileiter.hpp b/include/boost/regex/v4/fileiter.hpp deleted file mode 100644 index 7c865c630..000000000 --- a/include/boost/regex/v4/fileiter.hpp +++ /dev/null @@ -1,452 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE fileiter.hpp - * VERSION see - * DESCRIPTION: Declares various platform independent file and - * directory iterators, plus binary file input in - * the form of class map_file. - */ - -#ifndef BOOST_RE_FILEITER_HPP_INCLUDED -#define BOOST_RE_FILEITER_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#include - -#ifndef BOOST_REGEX_NO_FILEITER - -#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32) -#error "Sorry, can't mix with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows" -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32) -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_WIN32_DIR -#else -#define BOOST_REGEX_FI_POSIX_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#endif - -#if defined(BOOST_REGEX_FI_WIN32_MAP)||defined(BOOST_REGEX_FI_WIN32_DIR) -#include -#endif - -#if defined(BOOST_REGEX_FI_WIN32_DIR) - -#include - -namespace boost{ - namespace BOOST_REGEX_DETAIL_NS{ - -#ifndef BOOST_NO_ANSI_APIS -typedef WIN32_FIND_DATAA _fi_find_data; -#else -typedef WIN32_FIND_DATAW _fi_find_data; -#endif -typedef HANDLE _fi_find_handle; - - } // namespace BOOST_REGEX_DETAIL_NS - -} // namespace boost - -#define _fi_invalid_handle INVALID_HANDLE_VALUE -#define _fi_dir FILE_ATTRIBUTE_DIRECTORY - -#elif defined(BOOST_REGEX_FI_POSIX_DIR) - -#include -#include -#include -#include -#include -#include -#include - -#if defined(__SUNPRO_CC) -using std::list; -#endif - -#ifndef MAX_PATH -#define MAX_PATH 256 -#endif - -namespace boost{ - namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -struct _fi_find_data -{ - unsigned dwFileAttributes; - char cFileName[MAX_PATH]; -}; - -struct _fi_priv_data; - -typedef _fi_priv_data* _fi_find_handle; -#define _fi_invalid_handle 0 -#define _fi_dir 1 - -_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData); -bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData); -bool _fi_FindClose(_fi_find_handle hFindFile); - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - - } // namespace BOOST_REGEX_DETAIL_NS -} // namespace boost - -#ifdef FindFirstFile - #undef FindFirstFile -#endif -#ifdef FindNextFile - #undef FindNextFile -#endif -#ifdef FindClose - #undef FindClose -#endif - -#define FindFirstFileA _fi_FindFirstFile -#define FindNextFileA _fi_FindNextFile -#define FindClose _fi_FindClose - -#endif - -namespace boost{ - namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile - -class BOOST_REGEX_DECL mapfile -{ - HANDLE hfile; - HANDLE hmap; - const char* _first; - const char* _last; -public: - - typedef const char* iterator; - - mapfile(){ hfile = hmap = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = hmap = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - const char* begin(){ return _first; } - const char* end(){ return _last; } - size_t size(){ return _last - _first; } - bool valid(){ return (hfile != 0) && (hfile != INVALID_HANDLE_VALUE); } -}; - - -#else - -class BOOST_REGEX_DECL mapfile_iterator; - -class BOOST_REGEX_DECL mapfile -{ - typedef char* pointer; - std::FILE* hfile; - long int _size; - pointer* _first; - pointer* _last; - mutable std::list condemed; - enum sizes - { - buf_size = 4096 - }; - void lock(pointer* node)const; - void unlock(pointer* node)const; -public: - - typedef mapfile_iterator iterator; - - mapfile(){ hfile = 0; _size = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = 0; _size = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - iterator begin()const; - iterator end()const; - unsigned long size()const{ return _size; } - bool valid()const{ return hfile != 0; } - friend class mapfile_iterator; -}; - -class BOOST_REGEX_DECL mapfile_iterator -{ - typedef mapfile::pointer internal_pointer; - internal_pointer* node; - const mapfile* file; - unsigned long offset; - long position()const - { - return file ? ((node - file->_first) * mapfile::buf_size + offset) : 0; - } - void position(long pos) - { - if(file) - { - node = file->_first + (pos / mapfile::buf_size); - offset = pos % mapfile::buf_size; - } - } -public: - typedef std::ptrdiff_t difference_type; - typedef char value_type; - typedef const char* pointer; - typedef const char& reference; - typedef std::random_access_iterator_tag iterator_category; - - mapfile_iterator() { node = 0; file = 0; offset = 0; } - mapfile_iterator(const mapfile* f, long arg_position) - { - BOOST_ASSERT(f); - file = f; - node = f->_first + arg_position / mapfile::buf_size; - offset = arg_position % mapfile::buf_size; - file->lock(node); - } - mapfile_iterator(const mapfile_iterator& i) - { - file = i.file; - node = i.node; - offset = i.offset; - if(file) - file->lock(node); - } - ~mapfile_iterator() - { - if(file && node) - file->unlock(node); - } - mapfile_iterator& operator = (const mapfile_iterator& i); - char operator* ()const - { - BOOST_ASSERT(node >= file->_first); - BOOST_ASSERT(node < file->_last); - return file ? *(*node + sizeof(int) + offset) : char(0); - } - char operator[] (long off)const - { - mapfile_iterator tmp(*this); - tmp += off; - return *tmp; - } - mapfile_iterator& operator++ (); - mapfile_iterator operator++ (int); - mapfile_iterator& operator-- (); - mapfile_iterator operator-- (int); - - mapfile_iterator& operator += (long off) - { - position(position() + off); - return *this; - } - mapfile_iterator& operator -= (long off) - { - position(position() - off); - return *this; - } - - friend inline bool operator==(const mapfile_iterator& i, const mapfile_iterator& j) - { - return (i.file == j.file) && (i.node == j.node) && (i.offset == j.offset); - } - - friend inline bool operator!=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return !(i == j); - } - - friend inline bool operator<(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() < j.position(); - } - friend inline bool operator>(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() > j.position(); - } - friend inline bool operator<=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() <= j.position(); - } - friend inline bool operator>=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() >= j.position(); - } - - friend mapfile_iterator operator + (const mapfile_iterator& i, long off); - friend mapfile_iterator operator + (long off, const mapfile_iterator& i) - { - mapfile_iterator tmp(i); - return tmp += off; - } - friend mapfile_iterator operator - (const mapfile_iterator& i, long off); - friend inline long operator - (const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() - j.position(); - } -}; - -#endif - -// _fi_sep determines the directory separator, either '\\' or '/' -BOOST_REGEX_DECL extern const char* _fi_sep; - -struct file_iterator_ref -{ - _fi_find_handle hf; - _fi_find_data _data; - long count; -}; - - -class BOOST_REGEX_DECL file_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - file_iterator(); - file_iterator(const char* wild); - ~file_iterator(); - file_iterator(const file_iterator&); - file_iterator& operator=(const file_iterator&); - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - file_iterator& operator++() { next(); return *this; } - file_iterator operator++(int); - const char* operator*() { return path(); } - - friend inline bool operator == (const file_iterator& f1, const file_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - friend inline bool operator != (const file_iterator& f1, const file_iterator& f2) - { - return !(f1 == f2); - } - -}; - -// dwa 9/13/00 - suppress unused parameter warning -inline bool operator < (const file_iterator&, const file_iterator&) -{ - return false; -} - - -class BOOST_REGEX_DECL directory_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - directory_iterator(); - directory_iterator(const char* wild); - ~directory_iterator(); - directory_iterator(const directory_iterator& other); - directory_iterator& operator=(const directory_iterator& other); - - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - directory_iterator& operator++() { next(); return *this; } - directory_iterator operator++(int); - const char* operator*() { return path(); } - - static const char* separator() { return _fi_sep; } - - friend inline bool operator == (const directory_iterator& f1, const directory_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - - friend inline bool operator != (const directory_iterator& f1, const directory_iterator& f2) - { - return !(f1 == f2); - } - - }; - -inline bool operator < (const directory_iterator&, const directory_iterator&) -{ - return false; -} - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - - -} // namespace BOOST_REGEX_DETAIL_NS -using boost::BOOST_REGEX_DETAIL_NS::directory_iterator; -using boost::BOOST_REGEX_DETAIL_NS::file_iterator; -using boost::BOOST_REGEX_DETAIL_NS::mapfile; -} // namespace boost - -#endif // BOOST_REGEX_NO_FILEITER -#endif // BOOST_RE_FILEITER_HPP - - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/instances.hpp b/include/boost/regex/v4/instances.hpp deleted file mode 100644 index 0e423437c..000000000 --- a/include/boost/regex/v4/instances.hpp +++ /dev/null @@ -1,236 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE instances.cpp - * VERSION see - * DESCRIPTION: Defines those template instances that are placed in the - * library rather than in the users object files. - */ - -// -// note no include guard, we may include this multiple times: -// -#ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -namespace boost{ - -// -// this header can be included multiple times, each time with -// a different character type, BOOST_REGEX_CHAR_T must be defined -// first: -// -#ifndef BOOST_REGEX_CHAR_T -# error "BOOST_REGEX_CHAR_T not defined" -#endif - -#ifndef BOOST_REGEX_TRAITS_T -# define BOOST_REGEX_TRAITS_T , boost::regex_traits -#endif - -// -// what follows is compiler specific: -// - -#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600) - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option push -Jgx -# endif - -template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; -template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >; -#ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; -#endif - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option pop -# endif - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - -#elif defined(BOOST_MSVC) || defined(__ICL) - -# ifndef BOOST_REGEX_INSTANTIATE -# ifdef __GNUC__ -# define template __extension__ extern template -# else -# if BOOST_MSVC > 1310 -# define BOOST_REGEX_TEMPLATE_DECL -# endif -# define template extern template -# endif -# endif - -#ifndef BOOST_REGEX_TEMPLATE_DECL -# define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL -#endif - -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4251) -#if BOOST_MSVC < 1700 -# pragma warning(disable : 4231) -#endif -# if BOOST_MSVC < 1600 -# pragma warning(disable : 4660) -# endif -# endif - -template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; - -template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >; -#ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_TEMPLATE_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; -#endif -#if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\ - && !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\ - && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\ - && !defined(BOOST_REGEX_ICU_INSTANCES) -template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string::const_iterator >; -#ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_TEMPLATE_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_matcher< std::basic_string::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >; -#endif -#endif - - -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif - -# ifdef template -# undef template -# endif - -#undef BOOST_REGEX_TEMPLATE_DECL - -#elif (defined(__GNUC__) && (__GNUC__ >= 3)) || !defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) - -#if defined(__clang__) -# pragma clang diagnostic push -# if defined(__APPLE_CC__) -# if (__clang_major__ > 6) -# pragma clang diagnostic ignored "-Wkeyword-macro" -# endif -# else -# if (__clang_major__ > 3) || ((__clang_major__ == 3) && (__clang_minor__ > 5)) -# pragma clang diagnostic ignored "-Wkeyword-macro" -# endif -# endif -#endif - -# ifndef BOOST_REGEX_INSTANTIATE -# ifdef __GNUC__ -# define template __extension__ extern template -# else -# define template extern template -# endif -# endif - -#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_REGEX_ICU_INSTANCES) -namespace BOOST_REGEX_DETAIL_NS{ -template BOOST_REGEX_DECL -std::locale cpp_regex_traits_base::imbue(const std::locale& l); - -template BOOST_REGEX_DECL -cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::transform_primary(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const; -template BOOST_REGEX_DECL -cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::transform(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const; -template BOOST_REGEX_DECL -cpp_regex_traits_implementation::string_type - cpp_regex_traits_implementation::lookup_collatename(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const; -template BOOST_REGEX_DECL -void cpp_regex_traits_implementation::init(); -template BOOST_REGEX_DECL -cpp_regex_traits_implementation::char_class_type - cpp_regex_traits_implementation::lookup_classname_imp(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const; -#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET -template BOOST_REGEX_DECL -bool cpp_regex_traits_implementation::isctype(const BOOST_REGEX_CHAR_T c, char_class_type mask) const; -#endif -} // namespace -template BOOST_REGEX_DECL -boost::intmax_t cpp_regex_traits::toi(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last, int radix)const; -template BOOST_REGEX_DECL -std::string cpp_regex_traits::catalog_name(const std::string& name); -template BOOST_REGEX_DECL -std::string& cpp_regex_traits::get_catalog_name_inst(); -template BOOST_REGEX_DECL -std::string cpp_regex_traits::get_catalog_name(); -#ifdef BOOST_HAS_THREADS -template BOOST_REGEX_DECL -static_mutex& cpp_regex_traits::get_mutex_inst(); -#endif -#endif - -template BOOST_REGEX_DECL basic_regex& - basic_regex::do_assign( - const BOOST_REGEX_CHAR_T* p1, - const BOOST_REGEX_CHAR_T* p2, - flag_type f); -template BOOST_REGEX_DECL basic_regex::locale_type BOOST_REGEX_CALL - basic_regex::imbue(locale_type l); - -template BOOST_REGEX_DECL void BOOST_REGEX_CALL - match_results::maybe_assign( - const match_results& m); - -namespace BOOST_REGEX_DETAIL_NS{ -template BOOST_REGEX_DECL void perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::construct_init( - const basic_regex& e, match_flag_type f); -template BOOST_REGEX_DECL bool perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::match(); -template BOOST_REGEX_DECL bool perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::find(); -} // namespace - -#if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \ - && !defined(BOOST_REGEX_ICU_INSTANCES)\ - && !defined(__SGI_STL_PORT)\ - && !defined(_STLPORT_VERSION) -// std:basic_string<>::const_iterator instances as well: -template BOOST_REGEX_DECL void BOOST_REGEX_CALL - match_results::const_iterator>::maybe_assign( - const match_results::const_iterator>& m); - -namespace BOOST_REGEX_DETAIL_NS{ -template BOOST_REGEX_DECL void perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::construct_init( - const basic_regex& e, match_flag_type f); -template BOOST_REGEX_DECL bool perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::match(); -template BOOST_REGEX_DECL bool perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::find(); -} // namespace -#endif - -# ifdef template -# undef template -# endif - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES - - - - - diff --git a/include/boost/regex/v4/iterator_category.hpp b/include/boost/regex/v4/iterator_category.hpp deleted file mode 100644 index 9e4014237..000000000 --- a/include/boost/regex/v4/iterator_category.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * - * Copyright (c) 2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match.hpp - * VERSION see - * DESCRIPTION: Iterator traits for selecting an iterator type as - * an integral constant expression. - */ - - -#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP -#define BOOST_REGEX_ITERATOR_CATEGORY_HPP - -#include -#include -#include - -namespace boost{ -namespace detail{ - -template -struct is_random_imp -{ -#ifndef BOOST_NO_STD_ITERATOR_TRAITS -private: - typedef typename std::iterator_traits::iterator_category cat; -public: - BOOST_STATIC_CONSTANT(bool, value = (::boost::is_convertible::value)); -#else - BOOST_STATIC_CONSTANT(bool, value = false); -#endif -}; - -template -struct is_random_pointer_imp -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template -struct is_random_imp_selector -{ - template - struct rebind - { - typedef is_random_imp type; - }; -}; - -template <> -struct is_random_imp_selector -{ - template - struct rebind - { - typedef is_random_pointer_imp type; - }; -}; - -} - -template -struct is_random_access_iterator -{ -private: - typedef detail::is_random_imp_selector< ::boost::is_pointer::value> selector; - typedef typename selector::template rebind bound_type; - typedef typename bound_type::type answer; -public: - BOOST_STATIC_CONSTANT(bool, value = answer::value); -}; - -#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -template -const bool is_random_access_iterator::value; -#endif - -} - -#endif - diff --git a/include/boost/regex/v4/iterator_traits.hpp b/include/boost/regex/v4/iterator_traits.hpp deleted file mode 100644 index ae45ecb80..000000000 --- a/include/boost/regex/v4/iterator_traits.hpp +++ /dev/null @@ -1,135 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE iterator_traits.cpp - * VERSION see - * DESCRIPTION: Declares iterator traits workarounds. - */ - -#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP -#define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ -namespace BOOST_REGEX_DETAIL_NS{ - -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) - -template -struct regex_iterator_traits -{ - typedef typename T::iterator_category iterator_category; - typedef typename T::value_type value_type; -#if !defined(BOOST_NO_STD_ITERATOR) - typedef typename T::difference_type difference_type; - typedef typename T::pointer pointer; - typedef typename T::reference reference; -#else - typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef value_type& reference; -#endif -}; - -template -struct pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; -template -struct const_pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef const T* pointer; - typedef const T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; - -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -// -// the follwoing are needed for ICU support: -// -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; - -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#endif - -#if defined(__SGI_STL_PORT) && defined(__STL_DEBUG) -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#ifndef BOOST_NO_STD_WSTRING -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#endif // BOOST_NO_WSTRING -#endif // stport - -#else - -template -struct regex_iterator_traits : public std::iterator_traits {}; - -#endif - -} // namespace BOOST_REGEX_DETAIL_NS -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp deleted file mode 100644 index aa8fd5326..000000000 --- a/include/boost/regex/v4/match_flags.hpp +++ /dev/null @@ -1,149 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE match_flags.hpp - * VERSION see - * DESCRIPTION: Declares match_flags type. - */ - -#ifndef BOOST_REGEX_V4_MATCH_FLAGS -#define BOOST_REGEX_V4_MATCH_FLAGS - -#ifdef __cplusplus -# include -#endif - -#ifdef __cplusplus -namespace boost{ - namespace regex_constants{ -#endif - -typedef enum _match_flags -{ - match_default = 0, - match_not_bol = 1, /* first is not start of line */ - match_not_eol = match_not_bol << 1, /* last is not end of line */ - match_not_bob = match_not_eol << 1, /* first is not start of buffer */ - match_not_eob = match_not_bob << 1, /* last is not end of buffer */ - match_not_bow = match_not_eob << 1, /* first is not start of word */ - match_not_eow = match_not_bow << 1, /* last is not end of word */ - match_not_dot_newline = match_not_eow << 1, /* \n is not matched by '.' */ - match_not_dot_null = match_not_dot_newline << 1, /* '\0' is not matched by '.' */ - match_prev_avail = match_not_dot_null << 1, /* *--first is a valid expression */ - match_init = match_prev_avail << 1, /* internal use */ - match_any = match_init << 1, /* don't care what we match */ - match_not_null = match_any << 1, /* string can't be null */ - match_continuous = match_not_null << 1, /* each grep match must continue from */ - /* uninterupted from the previous one */ - match_partial = match_continuous << 1, /* find partial matches */ - - match_stop = match_partial << 1, /* stop after first match (grep) V3 only */ - match_not_initial_null = match_stop, /* don't match initial null, V4 only */ - match_all = match_stop << 1, /* must find the whole of input even if match_any is set */ - match_perl = match_all << 1, /* Use perl matching rules */ - match_posix = match_perl << 1, /* Use POSIX matching rules */ - match_nosubs = match_posix << 1, /* don't trap marked subs */ - match_extra = match_nosubs << 1, /* include full capture information for repeated captures */ - match_single_line = match_extra << 1, /* treat text as single line and ignor any \n's when matching ^ and $. */ - match_unused1 = match_single_line << 1, /* unused */ - match_unused2 = match_unused1 << 1, /* unused */ - match_unused3 = match_unused2 << 1, /* unused */ - match_max = match_unused3, - - format_perl = 0, /* perl style replacement */ - format_default = 0, /* ditto. */ - format_sed = match_max << 1, /* sed style replacement. */ - format_all = format_sed << 1, /* enable all extentions to sytax. */ - format_no_copy = format_all << 1, /* don't copy non-matching segments. */ - format_first_only = format_no_copy << 1, /* Only replace first occurance. */ - format_is_if = format_first_only << 1, /* internal use only. */ - format_literal = format_is_if << 1, /* treat string as a literal */ - - match_not_any = match_not_bol | match_not_eol | match_not_bob - | match_not_eob | match_not_bow | match_not_eow | match_not_dot_newline - | match_not_dot_null | match_prev_avail | match_init | match_not_null - | match_continuous | match_partial | match_stop | match_not_initial_null - | match_stop | match_all | match_perl | match_posix | match_nosubs - | match_extra | match_single_line | match_unused1 | match_unused2 - | match_unused3 | match_max | format_perl | format_default | format_sed - | format_all | format_no_copy | format_first_only | format_is_if - | format_literal - - -} match_flags; - -#if defined(__BORLANDC__) || (defined(_MSC_VER) && (_MSC_VER <= 1310)) -typedef unsigned long match_flag_type; -#else -typedef match_flags match_flag_type; - - -#ifdef __cplusplus -inline match_flags operator&(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) & static_cast(m2)); } -inline match_flags operator|(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) | static_cast(m2)); } -inline match_flags operator^(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) ^ static_cast(m2)); } -inline match_flags operator~(match_flags m1) -{ return static_cast(~static_cast(m1)); } -inline match_flags& operator&=(match_flags& m1, match_flags m2) -{ m1 = m1&m2; return m1; } -inline match_flags& operator|=(match_flags& m1, match_flags m2) -{ m1 = m1|m2; return m1; } -inline match_flags& operator^=(match_flags& m1, match_flags m2) -{ m1 = m1^m2; return m1; } -#endif -#endif - -#ifdef __cplusplus -} /* namespace regex_constants */ -/* - * import names into boost for backwards compatiblity: - */ -using regex_constants::match_flag_type; -using regex_constants::match_default; -using regex_constants::match_not_bol; -using regex_constants::match_not_eol; -using regex_constants::match_not_bob; -using regex_constants::match_not_eob; -using regex_constants::match_not_bow; -using regex_constants::match_not_eow; -using regex_constants::match_not_dot_newline; -using regex_constants::match_not_dot_null; -using regex_constants::match_prev_avail; -/* using regex_constants::match_init; */ -using regex_constants::match_any; -using regex_constants::match_not_null; -using regex_constants::match_continuous; -using regex_constants::match_partial; -/*using regex_constants::match_stop; */ -using regex_constants::match_all; -using regex_constants::match_perl; -using regex_constants::match_posix; -using regex_constants::match_nosubs; -using regex_constants::match_extra; -using regex_constants::match_single_line; -/*using regex_constants::match_max; */ -using regex_constants::format_all; -using regex_constants::format_sed; -using regex_constants::format_perl; -using regex_constants::format_default; -using regex_constants::format_no_copy; -using regex_constants::format_first_only; -/*using regex_constants::format_is_if;*/ - -} /* namespace boost */ -#endif /* __cplusplus */ -#endif /* include guard */ - diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp deleted file mode 100644 index 50af421ea..000000000 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ /dev/null @@ -1,145 +0,0 @@ - /* - * Copyright (c) 2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE mem_block_cache.hpp - * VERSION see - * DESCRIPTION: memory block cache used by the non-recursive matcher. - */ - -#ifndef BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP -#define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP - -#include -#ifdef BOOST_HAS_THREADS -#include -#endif - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -#ifndef BOOST_NO_CXX11_HDR_ATOMIC - #include - #if ATOMIC_POINTER_LOCK_FREE == 2 - #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE - #define BOOST_REGEX_ATOMIC_POINTER std::atomic - #endif -#endif - -namespace boost{ -namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */ -struct mem_block_cache -{ - std::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; - - ~mem_block_cache() - { - for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { - if (cache[i].load()) ::operator delete(cache[i].load()); - } - } - void* get() - { - for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { - void* p = cache[i].load(); - if (p != NULL) { - if (cache[i].compare_exchange_strong(p, NULL)) return p; - } - } - return ::operator new(BOOST_REGEX_BLOCKSIZE); - } - void put(void* ptr) - { - for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { - void* p = cache[i].load(); - if (p == NULL) { - if (cache[i].compare_exchange_strong(p, ptr)) return; - } - } - ::operator delete(ptr); - } -}; - - -#else /* lock-based implementation */ - - -struct mem_block_node -{ - mem_block_node* next; -}; - -struct mem_block_cache -{ - // this member has to be statically initialsed: - mem_block_node* next; - unsigned cached_blocks; -#ifdef BOOST_HAS_THREADS - boost::static_mutex mut; -#endif - - ~mem_block_cache() - { - while(next) - { - mem_block_node* old = next; - next = next->next; - ::operator delete(old); - } - } - void* get() - { -#ifdef BOOST_HAS_THREADS - boost::static_mutex::scoped_lock g(mut); -#endif - if(next) - { - mem_block_node* result = next; - next = next->next; - --cached_blocks; - return result; - } - return ::operator new(BOOST_REGEX_BLOCKSIZE); - } - void put(void* p) - { -#ifdef BOOST_HAS_THREADS - boost::static_mutex::scoped_lock g(mut); -#endif - if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) - { - ::operator delete(p); - } - else - { - mem_block_node* old = static_cast(p); - old->next = next; - next = old; - ++cached_blocks; - } - } -}; -#endif - -extern mem_block_cache block_cache; - -} -} // namespace boost - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - -#endif - diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp deleted file mode 100644 index 6c33ba477..000000000 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ /dev/null @@ -1,1131 +0,0 @@ -/* - * - * Copyright (c) 2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE perl_matcher_common.cpp - * VERSION see - * DESCRIPTION: Definitions of perl_matcher member functions that are - * specific to the recursive implementation. - */ - -#ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4800) -#endif - -namespace boost{ -namespace BOOST_REGEX_DETAIL_NS{ - -template -class backup_subex -{ - int index; - sub_match sub; -public: - template - backup_subex(const match_results& w, int i) - : index(i), sub(w[i], false) {} - template - void restore(match_results& w) - { - w.set_first(sub.first, index, index == 0); - w.set_second(sub.second, index, sub.matched, index == 0); - } - const sub_match& get() { return sub; } -}; - -template -bool perl_matcher::match_all_states() -{ - static matcher_proc_type const s_match_vtable[34] = - { - (&perl_matcher::match_startmark), - &perl_matcher::match_endmark, - &perl_matcher::match_literal, - &perl_matcher::match_start_line, - &perl_matcher::match_end_line, - &perl_matcher::match_wild, - &perl_matcher::match_match, - &perl_matcher::match_word_boundary, - &perl_matcher::match_within_word, - &perl_matcher::match_word_start, - &perl_matcher::match_word_end, - &perl_matcher::match_buffer_start, - &perl_matcher::match_buffer_end, - &perl_matcher::match_backref, - &perl_matcher::match_long_set, - &perl_matcher::match_set, - &perl_matcher::match_jump, - &perl_matcher::match_alt, - &perl_matcher::match_rep, - &perl_matcher::match_combining, - &perl_matcher::match_soft_buffer_end, - &perl_matcher::match_restart_continue, - // Although this next line *should* be evaluated at compile time, in practice - // some compilers (VC++) emit run-time initialisation which breaks thread - // safety, so use a dispatch function instead: - //(::boost::is_random_access_iterator::value ? &perl_matcher::match_dot_repeat_fast : &perl_matcher::match_dot_repeat_slow), - &perl_matcher::match_dot_repeat_dispatch, - &perl_matcher::match_char_repeat, - &perl_matcher::match_set_repeat, - &perl_matcher::match_long_set_repeat, - &perl_matcher::match_backstep, - &perl_matcher::match_assert_backref, - &perl_matcher::match_toggle_case, - &perl_matcher::match_recursion, - &perl_matcher::match_fail, - &perl_matcher::match_accept, - &perl_matcher::match_commit, - &perl_matcher::match_then, - }; - - if(state_count > max_state_count) - raise_error(traits_inst, regex_constants::error_complexity); - while(pstate) - { - matcher_proc_type proc = s_match_vtable[pstate->type]; - ++state_count; - if(!(this->*proc)()) - { - if((m_match_flags & match_partial) && (position == last) && (position != search_base)) - m_has_partial_match = true; - return 0; - } - } - return true; -} - -template -bool perl_matcher::match_startmark() -{ - int index = static_cast(pstate)->index; - icase = static_cast(pstate)->icase; - bool r = true; - switch(index) - { - case 0: - pstate = pstate->next.p; - break; - case -1: - case -2: - { - // forward lookahead assert: - BidiIterator old_position(position); - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - r = match_all_states(); - pstate = next_pstate; - position = old_position; - if((r && (index != -1)) || (!r && (index != -2))) - r = false; - else - r = true; - if(r && m_have_accept) - r = skip_until_paren(INT_MAX); - break; - } - case -3: - { - // independent sub-expression: - bool old_independent = m_independent; - m_independent = true; - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - bool can_backtrack = m_can_backtrack; - r = match_all_states(); - if(r) - m_can_backtrack = can_backtrack; - pstate = next_pstate; - m_independent = old_independent; -#ifdef BOOST_REGEX_MATCH_EXTRA - if(r && (m_match_flags & match_extra)) - { - // - // our captures have been stored in *m_presult - // we need to unpack them, and insert them - // back in the right order when we unwind the stack: - // - unsigned i; - match_results tm(*m_presult); - for(i = 0; i < tm.size(); ++i) - (*m_presult)[i].get_captures().clear(); - // match everything else: - r = match_all_states(); - // now place the stored captures back: - for(i = 0; i < tm.size(); ++i) - { - typedef typename sub_match::capture_sequence_type seq; - seq& s1 = (*m_presult)[i].get_captures(); - const seq& s2 = tm[i].captures(); - s1.insert( - s1.end(), - s2.begin(), - s2.end()); - } - } -#endif - if(r && m_have_accept) - r = skip_until_paren(INT_MAX); - break; - } - case -4: - { - // conditional expression: - const re_alt* alt = static_cast(pstate->next.p); - BOOST_ASSERT(alt->type == syntax_element_alt); - pstate = alt->next.p; - if(pstate->type == syntax_element_assert_backref) - { - if(!match_assert_backref()) - pstate = alt->alt.p; - break; - } - else - { - // zero width assertion, have to match this recursively: - BOOST_ASSERT(pstate->type == syntax_element_startmark); - bool negated = static_cast(pstate)->index == -2; - BidiIterator saved_position = position; - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - bool res = match_all_states(); - position = saved_position; - if(negated) - res = !res; - if(res) - pstate = next_pstate; - else - pstate = alt->alt.p; - break; - } - } - case -5: - { - // Reset start of $0, since we have a \K escape - backup_subex sub(*m_presult, 0); - m_presult->set_first(position, 0, true); - pstate = pstate->next.p; - r = match_all_states(); - if(r == false) - sub.restore(*m_presult); - break; - } - default: - { - BOOST_ASSERT(index > 0); - if((m_match_flags & match_nosubs) == 0) - { - backup_subex sub(*m_presult, index); - m_presult->set_first(position, index); - pstate = pstate->next.p; - r = match_all_states(); - if(r == false) - sub.restore(*m_presult); -#ifdef BOOST_REGEX_MATCH_EXTRA - // - // we have a match, push the capture information onto the stack: - // - else if(sub.get().matched && (match_extra & m_match_flags)) - ((*m_presult)[index]).get_captures().push_back(sub.get()); -#endif - } - else - { - pstate = pstate->next.p; - } - break; - } - } - return r; -} - -template -bool perl_matcher::match_alt() -{ - bool take_first, take_second; - const re_alt* jmp = static_cast(pstate); - - // find out which of these two alternatives we need to take: - if(position == last) - { - take_first = jmp->can_be_null & mask_take; - take_second = jmp->can_be_null & mask_skip; - } - else - { - take_first = can_start(*position, jmp->_map, (unsigned char)mask_take); - take_second = can_start(*position, jmp->_map, (unsigned char)mask_skip); - } - - if(take_first) - { - // we can take the first alternative, - // see if we need to push next alternative: - if(take_second) - { - BidiIterator oldposition(position); - const re_syntax_base* old_pstate = jmp->alt.p; - pstate = pstate->next.p; - bool oldcase = icase; - m_have_then = false; - if(!match_all_states()) - { - pstate = old_pstate; - position = oldposition; - icase = oldcase; - if(m_have_then) - { - m_can_backtrack = true; - m_have_then = false; - return false; - } - } - m_have_then = false; - return m_can_backtrack; - } - pstate = pstate->next.p; - return true; - } - if(take_second) - { - pstate = jmp->alt.p; - return true; - } - return false; // neither option is possible -} - -template -bool perl_matcher::match_rep() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127 4244) -#endif - const re_repeat* rep = static_cast(pstate); - // - // Always copy the repeat count, so that the state is restored - // when we exit this scope: - // - repeater_count r(rep->state_id, &next_count, position, this->recursion_stack.size() ? this->recursion_stack.back().idx : INT_MIN + 3); - // - // If we've had at least one repeat already, and the last one - // matched the NULL string then set the repeat count to - // maximum: - // - next_count->check_null_repeat(position, rep->max); - - // find out which of these two alternatives we need to take: - bool take_first, take_second; - if(position == last) - { - take_first = rep->can_be_null & mask_take; - take_second = rep->can_be_null & mask_skip; - } - else - { - take_first = can_start(*position, rep->_map, (unsigned char)mask_take); - take_second = can_start(*position, rep->_map, (unsigned char)mask_skip); - } - - if(next_count->get_count() < rep->min) - { - // we must take the repeat: - if(take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return match_all_states(); - } - return false; - } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - if(greedy) - { - // try and take the repeat if we can: - if((next_count->get_count() < rep->max) && take_first) - { - // store position in case we fail: - BidiIterator pos = position; - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - if(match_all_states()) - return true; - if(!m_can_backtrack) - return false; - // failed repeat, reset posistion and fall through for alternative: - position = pos; - } - if(take_second) - { - pstate = rep->alt.p; - return true; - } - return false; // can't take anything, fail... - } - else // non-greedy - { - // try and skip the repeat if we can: - if(take_second) - { - // store position in case we fail: - BidiIterator pos = position; - pstate = rep->alt.p; - if(match_all_states()) - return true; - if(!m_can_backtrack) - return false; - // failed alternative, reset posistion and fall through for repeat: - position = pos; - } - if((next_count->get_count() < rep->max) && take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return match_all_states(); - } - } - return false; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_dot_repeat_slow() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - std::size_t count = 0; - const re_repeat* rep = static_cast(pstate); - re_syntax_base* psingle = rep->next.p; - // match compulsary repeats first: - while(count < rep->min) - { - pstate = psingle; - if(!match_wild()) - return false; - ++count; - } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - if(greedy) - { - // normal repeat: - while(count < rep->max) - { - pstate = psingle; - if(!match_wild()) - break; - ++count; - } - if((rep->leading) && (count < rep->max)) - restart = position; - pstate = rep; - return backtrack_till_match(count - rep->min); - } - else - { - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if((count >= rep->max) || !m_can_backtrack) - return false; - ++count; - pstate = psingle; - position = save_pos; - if(!match_wild()) - return false; - }while(true); - } -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_dot_repeat_fast() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - if(m_match_flags & match_not_dot_null) - return match_dot_repeat_slow(); - if((static_cast(pstate->next.p)->mask & match_any_mask) == 0) - return match_dot_repeat_slow(); - // - // start by working out how much we can skip: - // - const re_repeat* rep = static_cast(pstate); -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4267) -#endif - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - std::size_t count = (std::min)(static_cast(::boost::BOOST_REGEX_DETAIL_NS::distance(position, last)), greedy ? rep->max : rep->min); - if(rep->min > count) - { - position = last; - return false; // not enough text left to match - } - std::advance(position, count); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - if((rep->leading) && (count < rep->max) && greedy) - restart = position; - if(greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip)) - { - ++position; - ++count; - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if((count >= rep->max) || !m_can_backtrack) - return false; - if(save_pos == last) - return false; - position = ++save_pos; - ++count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_char_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#pragma warning(disable:4267) -#endif -#ifdef __BORLANDC__ -#pragma option push -w-8008 -w-8066 -w-8004 -#endif - const re_repeat* rep = static_cast(pstate); - BOOST_ASSERT(1 == static_cast(rep->next.p)->length); - const char_type what = *reinterpret_cast(static_cast(rep->next.p) + 1); - // - // start by working out how much we can skip: - // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - std::size_t count, desired; - if(::boost::is_random_access_iterator::value) - { - desired = - (std::min)( - (std::size_t)(greedy ? rep->max : rep->min), - (std::size_t)::boost::BOOST_REGEX_DETAIL_NS::distance(position, last)); - count = desired; - ++desired; - if(icase) - { - while(--desired && (traits_inst.translate_nocase(*position) == what)) - { - ++position; - } - } - else - { - while(--desired && (traits_inst.translate(*position) == what)) - { - ++position; - } - } - count = count - desired; - } - else - { - count = 0; - desired = greedy ? rep->max : rep->min; - while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what)) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && greedy) - restart = position; - if(count < rep->min) - return false; - - if(greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip)) - { - if((traits_inst.translate(*position, icase) == what)) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if((count >= rep->max) || !m_can_backtrack) - return false; - position = save_pos; - if(position == last) - return false; - if(traits_inst.translate(*position, icase) == what) - { - ++position; - ++count; - } - else - { - return false; - } - }while(true); -#ifdef __BORLANDC__ -#pragma option pop -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif -#ifdef __BORLANDC__ -#pragma option push -w-8008 -w-8066 -w-8004 -#endif - const re_repeat* rep = static_cast(pstate); - const unsigned char* map = static_cast(rep->next.p)->_map; - std::size_t count = 0; - // - // start by working out how much we can skip: - // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - std::size_t desired = greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - // Move end forward by "desired", preferably without using distance or advance if we can - // as these can be slow for some iterator types. - std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : ::boost::BOOST_REGEX_DETAIL_NS::distance(position, last); - if(desired >= len) - end = last; - else - std::advance(end, desired); - BidiIterator origin(position); - while((position != end) && map[static_cast(traits_inst.translate(*position, icase))]) - { - ++position; - } - count = (unsigned)::boost::BOOST_REGEX_DETAIL_NS::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && map[static_cast(traits_inst.translate(*position, icase))]) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && greedy) - restart = position; - if(count < rep->min) - return false; - - if(greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip)) - { - if(map[static_cast(traits_inst.translate(*position, icase))]) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if((count >= rep->max) || !m_can_backtrack) - return false; - position = save_pos; - if(position == last) - return false; - if(map[static_cast(traits_inst.translate(*position, icase))]) - { - ++position; - ++count; - } - else - { - return false; - } - }while(true); -#ifdef __BORLANDC__ -#pragma option pop -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_long_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif -#ifdef __BORLANDC__ -#pragma option push -w-8008 -w-8066 -w-8004 -#endif - typedef typename traits::char_class_type char_class_type; - const re_repeat* rep = static_cast(pstate); - const re_set_long* set = static_cast*>(pstate->next.p); - std::size_t count = 0; - // - // start by working out how much we can skip: - // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - std::size_t desired = greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - // Move end forward by "desired", preferably without using distance or advance if we can - // as these can be slow for some iterator types. - std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : ::boost::BOOST_REGEX_DETAIL_NS::distance(position, last); - if(desired >= len) - end = last; - else - std::advance(end, desired); - BidiIterator origin(position); - while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase))) - { - ++position; - } - count = (unsigned)::boost::BOOST_REGEX_DETAIL_NS::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re.get_data(), icase))) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && greedy) - restart = position; - if(count < rep->min) - return false; - - if(greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip)) - { - if(position != re_is_set_member(position, last, set, re.get_data(), icase)) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if((count >= rep->max) || !m_can_backtrack) - return false; - position = save_pos; - if(position == last) - return false; - if(position != re_is_set_member(position, last, set, re.get_data(), icase)) - { - ++position; - ++count; - } - else - { - return false; - } - }while(true); -#ifdef __BORLANDC__ -#pragma option pop -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::backtrack_till_match(std::size_t count) -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - if(!m_can_backtrack) - return false; - if((m_match_flags & match_partial) && (position == last)) - m_has_partial_match = true; - - const re_repeat* rep = static_cast(pstate); - BidiIterator backtrack = position; - if(position == last) - { - if(rep->can_be_null & mask_skip) - { - pstate = rep->alt.p; - if(match_all_states()) - return true; - } - if(count) - { - position = --backtrack; - --count; - } - else - return false; - } - do - { - while(count && !can_start(*position, rep->_map, mask_skip)) - { - --position; - --count; - ++state_count; - } - pstate = rep->alt.p; - backtrack = position; - if(match_all_states()) - return true; - if(count == 0) - return false; - position = --backtrack; - ++state_count; - --count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_recursion() -{ - BOOST_ASSERT(pstate->type == syntax_element_recurse); - // - // Set new call stack: - // - if(recursion_stack.capacity() == 0) - { - recursion_stack.reserve(50); - } - // - // See if we've seen this recursion before at this location, if we have then - // we need to prevent infinite recursion: - // - for(typename std::vector >::reverse_iterator i = recursion_stack.rbegin(); i != recursion_stack.rend(); ++i) - { - if(i->idx == static_cast(static_cast(pstate)->alt.p)->index) - { - if(i->location_of_start == position) - return false; - break; - } - } - // - // Now get on with it: - // - recursion_stack.push_back(recursion_info()); - recursion_stack.back().preturn_address = pstate->next.p; - recursion_stack.back().results = *m_presult; - recursion_stack.back().repeater_stack = next_count; - recursion_stack.back().location_of_start = position; - pstate = static_cast(pstate)->alt.p; - recursion_stack.back().idx = static_cast(pstate)->index; - - repeater_count* saved = next_count; - repeater_count r(&next_count); // resets all repeat counts since we're recursing and starting fresh on those - next_count = &r; - bool can_backtrack = m_can_backtrack; - bool result = match_all_states(); - m_can_backtrack = can_backtrack; - next_count = saved; - - if(!result) - { - next_count = recursion_stack.back().repeater_stack; - *m_presult = recursion_stack.back().results; - recursion_stack.pop_back(); - return false; - } - return true; -} - -template -bool perl_matcher::match_endmark() -{ - int index = static_cast(pstate)->index; - icase = static_cast(pstate)->icase; - if(index > 0) - { - if((m_match_flags & match_nosubs) == 0) - { - m_presult->set_second(position, index); - } - if(!recursion_stack.empty()) - { - if(index == recursion_stack.back().idx) - { - recursion_info saved = recursion_stack.back(); - recursion_stack.pop_back(); - pstate = saved.preturn_address; - repeater_count* saved_count = next_count; - next_count = saved.repeater_stack; - *m_presult = saved.results; - if(!match_all_states()) - { - recursion_stack.push_back(saved); - next_count = saved_count; - return false; - } - } - } - } - else if((index < 0) && (index != -4)) - { - // matched forward lookahead: - pstate = 0; - return true; - } - pstate = pstate ? pstate->next.p : 0; - return true; -} - -template -bool perl_matcher::match_match() -{ - if(!recursion_stack.empty()) - { - BOOST_ASSERT(0 == recursion_stack.back().idx); - const re_syntax_base* saved_state = pstate = recursion_stack.back().preturn_address; - *m_presult = recursion_stack.back().results; - recursion_stack.pop_back(); - if(!match_all_states()) - { - recursion_stack.push_back(recursion_info()); - recursion_stack.back().preturn_address = saved_state; - recursion_stack.back().results = *m_presult; - recursion_stack.back().location_of_start = position; - return false; - } - return true; - } - if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first)) - return false; - if((m_match_flags & match_all) && (position != last)) - return false; - if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base)) - return false; - m_presult->set_second(position); - pstate = 0; - m_has_found_match = true; - if((m_match_flags & match_posix) == match_posix) - { - m_result.maybe_assign(*m_presult); - if((m_match_flags & match_any) == 0) - return false; - } -#ifdef BOOST_REGEX_MATCH_EXTRA - if(match_extra & m_match_flags) - { - for(unsigned i = 0; i < m_presult->size(); ++i) - if((*m_presult)[i].matched) - ((*m_presult)[i]).get_captures().push_back((*m_presult)[i]); - } -#endif - return true; -} - -template -bool perl_matcher::match_commit() -{ - m_can_backtrack = false; - int action = static_cast(pstate)->action; - switch(action) - { - case commit_commit: - restart = last; - break; - case commit_skip: - restart = position; - break; - } - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_then() -{ - pstate = pstate->next.p; - if(match_all_states()) - return true; - m_can_backtrack = false; - m_have_then = true; - return false; -} - -template -bool perl_matcher::match_toggle_case() -{ - // change our case sensitivity: - bool oldcase = this->icase; - this->icase = static_cast(pstate)->icase; - pstate = pstate->next.p; - bool result = match_all_states(); - this->icase = oldcase; - return result; -} - - - -template -bool perl_matcher::skip_until_paren(int index, bool have_match) -{ - while(pstate) - { - if(pstate->type == syntax_element_endmark) - { - if(static_cast(pstate)->index == index) - { - if(have_match) - return this->match_endmark(); - pstate = pstate->next.p; - return true; - } - else - { - // Unenclosed closing ), occurs when (*ACCEPT) is inside some other - // parenthesis which may or may not have other side effects associated with it. - bool r = match_endmark(); - m_have_accept = true; - if(!pstate) - return r; - } - continue; - } - else if(pstate->type == syntax_element_match) - return true; - else if(pstate->type == syntax_element_startmark) - { - int idx = static_cast(pstate)->index; - pstate = pstate->next.p; - skip_until_paren(idx, false); - continue; - } - pstate = pstate->next.p; - } - return true; -} - - -} // namespace BOOST_REGEX_DETAIL_NS -} // namespace boost -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - diff --git a/include/boost/regex/v4/protected_call.hpp b/include/boost/regex/v4/protected_call.hpp deleted file mode 100644 index 9d47514f8..000000000 --- a/include/boost/regex/v4/protected_call.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE basic_regex_creator.cpp - * VERSION see - * DESCRIPTION: Declares template class basic_regex_creator which fills in - * the data members of a regex_data object. - */ - -#ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP -#define BOOST_REGEX_V4_PROTECTED_CALL_HPP - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ -namespace BOOST_REGEX_DETAIL_NS{ - -class BOOST_REGEX_DECL abstract_protected_call -{ -public: - bool BOOST_REGEX_CALL execute()const; - // this stops gcc-4 from complaining: - virtual ~abstract_protected_call(){} -private: - virtual bool call()const = 0; -}; - -template -class concrete_protected_call - : public abstract_protected_call -{ -public: - typedef bool (T::*proc_type)(); - concrete_protected_call(T* o, proc_type p) - : obj(o), proc(p) {} -private: - virtual bool call()const; - T* obj; - proc_type proc; -}; - -template -bool concrete_protected_call::call()const -{ - return (obj->*proc)(); -} - -} -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/include/boost/regex/v4/regex.hpp b/include/boost/regex/v4/regex.hpp deleted file mode 100644 index 7cc260a3a..000000000 --- a/include/boost/regex/v4/regex.hpp +++ /dev/null @@ -1,202 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex.cpp - * VERSION see - * DESCRIPTION: Declares boost::basic_regex<> and associated - * functions and classes. This header is the main - * entry point for the template regex code. - */ - -#ifndef BOOST_RE_REGEX_HPP_INCLUDED -#define BOOST_RE_REGEX_HPP_INCLUDED - -#ifdef __cplusplus - -// what follows is all C++ don't include in C builds!! - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_WORKAROUND_HPP -#include -#endif - -#ifndef BOOST_REGEX_FWD_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_MATCH_FLAGS -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#include -#endif - -#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_STATES_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGBASE_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP -#include -#endif -#ifndef BOOST_REGEX_FORMAT_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP -#include -#endif -#ifndef BOOST_REGEX_MATCHER_HPP -#include -#endif -// -// template instances: -// -#define BOOST_REGEX_CHAR_T char -#ifdef BOOST_REGEX_NARROW_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif - -#ifndef BOOST_NO_WREGEX -#define BOOST_REGEX_CHAR_T wchar_t -#ifdef BOOST_REGEX_WIDE_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif -#endif - -#if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T) -#define BOOST_REGEX_CHAR_T unsigned short -#ifdef BOOST_REGEX_US_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif -#endif - - -namespace boost{ -#ifdef BOOST_REGEX_NO_FWD -typedef basic_regex > regex; -#ifndef BOOST_NO_WREGEX -typedef basic_regex > wregex; -#endif -#endif - -typedef match_results cmatch; -typedef match_results smatch; -#ifndef BOOST_NO_WREGEX -typedef match_results wcmatch; -typedef match_results wsmatch; -#endif - -} // namespace boost -#ifndef BOOST_REGEX_MATCH_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP -#include -#endif -#ifndef BOOST_REGEX_ITERATOR_HPP -#include -#endif -#ifndef BOOST_REGEX_TOKEN_ITERATOR_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP -#include -#endif -#ifndef BOOST_REGEX_SPLIT_HPP -#include -#endif - -#endif // __cplusplus - -#endif // include - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/regex_fwd.hpp b/include/boost/regex/v4/regex_fwd.hpp deleted file mode 100644 index 3076b069a..000000000 --- a/include/boost/regex/v4/regex_fwd.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_fwd.cpp - * VERSION see - * DESCRIPTION: Forward declares boost::basic_regex<> and - * associated typedefs. - */ - -#ifndef BOOST_REGEX_FWD_HPP_INCLUDED -#define BOOST_REGEX_FWD_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -// -// define BOOST_REGEX_NO_FWD if this -// header doesn't work! -// -#ifdef BOOST_REGEX_NO_FWD -# ifndef BOOST_RE_REGEX_HPP -# include -# endif -#else - -namespace boost{ - -template -class cpp_regex_traits; -template -struct c_regex_traits; -template -class w32_regex_traits; - -#ifdef BOOST_REGEX_USE_WIN32_LOCALE -template > -struct regex_traits; -#elif defined(BOOST_REGEX_USE_CPP_LOCALE) -template > -struct regex_traits; -#else -template > -struct regex_traits; -#endif - -template > -class basic_regex; - -typedef basic_regex > regex; -#ifndef BOOST_NO_WREGEX -typedef basic_regex > wregex; -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_FWD - -#endif - - - - diff --git a/include/boost/regex/v4/regex_grep.hpp b/include/boost/regex/v4/regex_grep.hpp deleted file mode 100644 index c5cb054e5..000000000 --- a/include/boost/regex/v4/regex_grep.hpp +++ /dev/null @@ -1,155 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep.hpp - * VERSION see - * DESCRIPTION: Provides regex_grep implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP -#define BOOST_REGEX_V4_REGEX_GREP_HPP - - -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -// -// regex_grep: -// find all non-overlapping matches within the sequence first last: -// -template -inline unsigned int regex_grep(Predicate foo, - BidiIterator first, - BidiIterator last, - const basic_regex& e, - match_flag_type flags = match_default) -{ - if(e.flags() & regex_constants::failbit) - return false; - - typedef typename match_results::allocator_type match_allocator_type; - - match_results m; - BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); - unsigned int count = 0; - while(matcher.find()) - { - ++count; - if(0 == foo(m)) - return count; // caller doesn't want to go on - if(m[0].second == last) - return count; // we've reached the end, don't try and find an extra null match. - if(m.length() == 0) - { - if(m[0].second == last) - return count; - // we found a NULL-match, now try to find - // a non-NULL one at the same position: - match_results m2(m); - matcher.setf(match_not_null | match_continuous); - if(matcher.find()) - { - ++count; - if(0 == foo(m)) - return count; - } - else - { - // reset match back to where it was: - m = m2; - } - matcher.unsetf((match_not_null | match_continuous) & ~flags); - } - } - return count; -} - -// -// regex_grep convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline unsigned int regex_grep(Predicate foo, const charT* str, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + traits::length(str), e, flags); -} - -template -inline unsigned int regex_grep(Predicate foo, const std::basic_string& s, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#else // partial specialisation -inline unsigned int regex_grep(bool (*foo)(const cmatch&), const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + regex::traits_type::length(str), e, flags); -} -#ifndef BOOST_NO_WREGEX -inline unsigned int regex_grep(bool (*foo)(const wcmatch&), const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + wregex::traits_type::length(str), e, flags); -} -#endif -inline unsigned int regex_grep(bool (*foo)(const match_results&), const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline unsigned int regex_grep(bool (*foo)(const match_results::const_iterator>&), - const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#endif -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_GREP_HPP - diff --git a/include/boost/regex/v4/regex_match.hpp b/include/boost/regex/v4/regex_match.hpp deleted file mode 100644 index a50daa2aa..000000000 --- a/include/boost/regex/v4/regex_match.hpp +++ /dev/null @@ -1,382 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match.hpp - * VERSION see - * DESCRIPTION: Regular expression matching algorithms. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - - -#ifndef BOOST_REGEX_MATCH_HPP -#define BOOST_REGEX_MATCH_HPP - -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -// -// proc regex_match -// returns true if the specified regular expression matches -// the whole of the input. Fills in what matched in m. -// -template -bool regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); - return matcher.match(); -} -template -bool regex_match(iterator first, iterator last, - const basic_regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(first, last, m, e, flags | regex_constants::match_any); -} -// -// query_match convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_match(const charT* str, - match_results& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -template -inline bool regex_match(const charT* str, - const basic_regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any); -} - -template -inline bool regex_match(const std::basic_string& s, - const basic_regex& e, - match_flag_type flags = match_default) -{ - typedef typename std::basic_string::const_iterator iterator; - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#else // partial ordering -inline bool regex_match(const char* str, - cmatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#ifndef BOOST_NO_STD_LOCALE -inline bool regex_match(const char* str, - cmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_match(const char* str, - cmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -inline bool regex_match(const char* str, - cmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#endif -#ifndef BOOST_NO_WREGEX -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#ifndef BOOST_NO_STD_LOCALE -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#endif -#endif -inline bool regex_match(const std::string& s, - smatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#ifndef BOOST_NO_STD_LOCALE -inline bool regex_match(const std::string& s, - smatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_match(const std::string& s, - smatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -inline bool regex_match(const std::string& s, - smatch& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#endif -#if !defined(BOOST_NO_WREGEX) -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator>& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - match_results::const_iterator> m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#ifndef BOOST_NO_STD_LOCALE -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator>& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results::const_iterator> m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator>& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results::const_iterator> m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator>& m, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const basic_regex >& e, - match_flag_type flags = match_default) -{ - match_results::const_iterator> m; - return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#endif -#endif - -#endif - - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif // BOOST_REGEX_MATCH_HPP - - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/regex_merge.hpp b/include/boost/regex/v4/regex_merge.hpp deleted file mode 100644 index 404ca7750..000000000 --- a/include/boost/regex/v4/regex_merge.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_format.hpp - * VERSION see - * DESCRIPTION: Provides formatting output routines for search and replace - * operations. Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP -#define BOOST_REGEX_V4_REGEX_MERGE_HPP - - -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -template -inline OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const basic_regex& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - return regex_replace(out, first, last, e, fmt, flags); -} - -template -inline OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const basic_regex& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return regex_merge(out, first, last, e, fmt.c_str(), flags); -} - -template -inline std::basic_string regex_merge(const std::basic_string& s, - const basic_regex& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - return regex_replace(s, e, fmt, flags); -} - -template -inline std::basic_string regex_merge(const std::basic_string& s, - const basic_regex& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return regex_replace(s, e, fmt, flags); -} - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_MERGE_HPP - - diff --git a/include/boost/regex/v4/regex_raw_buffer.hpp b/include/boost/regex/v4/regex_raw_buffer.hpp deleted file mode 100644 index f1f4f50ae..000000000 --- a/include/boost/regex/v4/regex_raw_buffer.hpp +++ /dev/null @@ -1,210 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_raw_buffer.hpp - * VERSION see - * DESCRIPTION: Raw character buffer for regex code. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#define BOOST_REGEX_RAW_BUFFER_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#include -#include - -namespace boost{ - namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -struct empty_padding{}; - -union padding -{ - void* p; - unsigned int i; -}; - -template -struct padding3 -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<2> -{ - enum{ - padding_size = 2, - padding_mask = 1 - }; -}; - -template<> -struct padding3<4> -{ - enum{ - padding_size = 4, - padding_mask = 3 - }; -}; - -template<> -struct padding3<8> -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<16> -{ - enum{ - padding_size = 16, - padding_mask = 15 - }; -}; - -enum{ - padding_size = padding3::padding_size, - padding_mask = padding3::padding_mask -}; - -// -// class raw_storage -// basically this is a simplified vector -// this is used by basic_regex for expression storage -// - -class BOOST_REGEX_DECL raw_storage -{ -public: - typedef std::size_t size_type; - typedef unsigned char* pointer; -private: - pointer last, start, end; -public: - - raw_storage(); - raw_storage(size_type n); - - ~raw_storage() - { - ::operator delete(start); - } - - void BOOST_REGEX_CALL resize(size_type n); - - void* BOOST_REGEX_CALL extend(size_type n) - { - if(size_type(last - end) < n) - resize(n + (end - start)); - pointer result = end; - end += n; - return result; - } - - void* BOOST_REGEX_CALL insert(size_type pos, size_type n); - - size_type BOOST_REGEX_CALL size() - { - return size_type(end - start); - } - - size_type BOOST_REGEX_CALL capacity() - { - return size_type(last - start); - } - - void* BOOST_REGEX_CALL data()const - { - return start; - } - - size_type BOOST_REGEX_CALL index(void* ptr) - { - return size_type(static_cast(ptr) - static_cast(data())); - } - - void BOOST_REGEX_CALL clear() - { - end = start; - } - - void BOOST_REGEX_CALL align() - { - // move end up to a boundary: - end = start + (((end - start) + padding_mask) & ~padding_mask); - } - void swap(raw_storage& that) - { - std::swap(start, that.start); - std::swap(end, that.end); - std::swap(last, that.last); - } -}; - -inline raw_storage::raw_storage() -{ - last = start = end = 0; -} - -inline raw_storage::raw_storage(size_type n) -{ - start = end = static_cast(::operator new(n)); - BOOST_REGEX_NOEH_ASSERT(start) - last = start + n; -} - - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace BOOST_REGEX_DETAIL_NS -} // namespace boost - -#endif - - - - - - diff --git a/include/boost/regex/v4/regex_search.hpp b/include/boost/regex/v4/regex_search.hpp deleted file mode 100644 index 0725d3ec3..000000000 --- a/include/boost/regex/v4/regex_search.hpp +++ /dev/null @@ -1,217 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_search.hpp - * VERSION see - * DESCRIPTION: Provides regex_search implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP -#define BOOST_REGEX_V4_REGEX_SEARCH_HPP - - -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -template -bool regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_search(first, last, m, e, flags, first); -} - -template -bool regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const basic_regex& e, - match_flag_type flags, - BidiIterator base) -{ - if(e.flags() & regex_constants::failbit) - return false; - - BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, base); - return matcher.find(); -} - -// -// regex_search convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_search(const charT* str, - match_results& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_search(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#else // partial overloads: -inline bool regex_search(const char* str, - cmatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_search(const char* first, const char* last, - const regex& e, - match_flag_type flags = match_default) -{ - cmatch m; - return regex_search(first, last, m, e, flags | regex_constants::match_any); -} - -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* str, - wcmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_search(const wchar_t* first, const wchar_t* last, - const wregex& e, - match_flag_type flags = match_default) -{ - wcmatch m; - return regex_search(first, last, m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_search(const std::string& s, - smatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_search(const std::basic_string& s, - wsmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - -template -bool regex_search(BidiIterator first, BidiIterator last, - const basic_regex& e, - match_flag_type flags = match_default) -{ - if(e.flags() & regex_constants::failbit) - return false; - - match_results m; - typedef typename match_results::allocator_type match_alloc_type; - BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags | regex_constants::match_any, first); - return matcher.find(); -} - -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template -inline bool regex_search(const charT* str, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + traits::length(str), e, flags); -} - -template -inline bool regex_search(const std::basic_string& s, - const basic_regex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), e, flags); -} -#else // non-template function overloads -inline bool regex_search(const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - cmatch m; - return regex_search(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - wcmatch m; - return regex_search(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any); -} -#endif -inline bool regex_search(const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - smatch m; - return regex_search(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_search(const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - wsmatch m; - return regex_search(s.begin(), s.end(), m, e, flags | regex_constants::match_any); -} - -#endif // BOOST_NO_WREGEX - -#endif // partial overload - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_SEARCH_HPP - - diff --git a/include/boost/regex/v4/regex_token_iterator.hpp b/include/boost/regex/v4/regex_token_iterator.hpp deleted file mode 100644 index fde51d74e..000000000 --- a/include/boost/regex/v4/regex_token_iterator.hpp +++ /dev/null @@ -1,325 +0,0 @@ -/* - * - * Copyright (c) 2003 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_token_iterator.hpp - * VERSION see - * DESCRIPTION: Provides regex_token_iterator implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP -#define BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP - -#include -#include -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) -// -// Borland C++ Builder 6, and Visual C++ 6, -// can't cope with the array template constructor -// so we have a template member that will accept any type as -// argument, and then assert that is really is an array: -// -#include -#include -#endif - -namespace boost{ - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#pragma warning(push) -#pragma warning(disable:4700) -#endif - -template -class regex_token_iterator_implementation -{ - typedef basic_regex regex_type; - typedef sub_match value_type; - - match_results what; // current match - BidirectionalIterator base; // start of search area - BidirectionalIterator end; // end of search area - const regex_type re; // the expression - match_flag_type flags; // match flags - value_type result; // the current string result - int N; // the current sub-expression being enumerated - std::vector subs; // the sub-expressions to enumerate - -public: - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f) - : end(last), re(*p), flags(f){ subs.push_back(sub); } - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) - : end(last), re(*p), flags(f), subs(v){} -#if !BOOST_WORKAROUND(__HP_aCC, < 60700) -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) - template - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const T& submatches, match_flag_type f) - : end(last), re(*p), flags(f) - { - // assert that T really is an array: - BOOST_STATIC_ASSERT(::boost::is_array::value); - const std::size_t array_size = sizeof(T) / sizeof(submatches[0]); - for(std::size_t i = 0; i < array_size; ++i) - { - subs.push_back(submatches[i]); - } - } -#else - template - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) - : end(last), re(*p), flags(f) - { - for(std::size_t i = 0; i < CN; ++i) - { - subs.push_back(submatches[i]); - } - } -#endif -#endif - bool init(BidirectionalIterator first) - { - N = 0; - base = first; - if(regex_search(first, end, what, re, flags, base) == true) - { - N = 0; - result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]); - return true; - } - else if((subs[N] == -1) && (first != end)) - { - result.first = first; - result.second = end; - result.matched = (first != end); - N = -1; - return true; - } - return false; - } - bool compare(const regex_token_iterator_implementation& that) - { - if(this == &that) return true; - return (&re.get_data() == &that.re.get_data()) - && (end == that.end) - && (flags == that.flags) - && (N == that.N) - && (what[0].first == that.what[0].first) - && (what[0].second == that.what[0].second); - } - const value_type& get() - { return result; } - bool next() - { - if(N == -1) - return false; - if(N+1 < (int)subs.size()) - { - ++N; - result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); - return true; - } - //if(what.prefix().first != what[0].second) - // flags |= /*match_prev_avail |*/ regex_constants::match_not_bob; - BidirectionalIterator last_end(what[0].second); - if(regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base)) - { - N =0; - result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); - return true; - } - else if((last_end != end) && (subs[0] == -1)) - { - N =-1; - result.first = last_end; - result.second = end; - result.matched = (last_end != end); - return true; - } - return false; - } -private: - regex_token_iterator_implementation& operator=(const regex_token_iterator_implementation&); -}; - -template ::value_type, - class traits = regex_traits > -class regex_token_iterator -{ -private: - typedef regex_token_iterator_implementation impl; - typedef shared_ptr pimpl; -public: - typedef basic_regex regex_type; - typedef sub_match value_type; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::difference_type - difference_type; - typedef const value_type* pointer; - typedef const value_type& reference; - typedef std::forward_iterator_tag iterator_category; - - regex_token_iterator(){} - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - int submatch = 0, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatch, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const std::vector& submatches, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#if !BOOST_WORKAROUND(__HP_aCC, < 60700) -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) - template - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const T& submatches, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#else - template - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const int (&submatches)[N], match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#endif -#endif - regex_token_iterator(const regex_token_iterator& that) - : pdata(that.pdata) {} - regex_token_iterator& operator=(const regex_token_iterator& that) - { - pdata = that.pdata; - return *this; - } - bool operator==(const regex_token_iterator& that)const - { - if((pdata.get() == 0) || (that.pdata.get() == 0)) - return pdata.get() == that.pdata.get(); - return pdata->compare(*(that.pdata.get())); - } - bool operator!=(const regex_token_iterator& that)const - { return !(*this == that); } - const value_type& operator*()const - { return pdata->get(); } - const value_type* operator->()const - { return &(pdata->get()); } - regex_token_iterator& operator++() - { - cow(); - if(0 == pdata->next()) - { - pdata.reset(); - } - return *this; - } - regex_token_iterator operator++(int) - { - regex_token_iterator result(*this); - ++(*this); - return result; - } -private: - - pimpl pdata; - - void cow() - { - // copy-on-write - if(pdata.get() && !pdata.unique()) - { - pdata.reset(new impl(*(pdata.get()))); - } - } -}; - -typedef regex_token_iterator cregex_token_iterator; -typedef regex_token_iterator sregex_token_iterator; -#ifndef BOOST_NO_WREGEX -typedef regex_token_iterator wcregex_token_iterator; -typedef regex_token_iterator wsregex_token_iterator; -#endif - -template -inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator(p, p+traits::length(p), e, submatch, m); -} -template -inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); -} -template -inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator(p, p+traits::length(p), e, submatch, m); -} -template -inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); -} -template -inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator(p, p+traits::length(p), e, submatch, m); -} -template -inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) -{ - return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); -} - -#ifdef BOOST_MSVC -#pragma warning(pop) -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP - - - - diff --git a/include/boost/regex/v4/regex_traits.hpp b/include/boost/regex/v4/regex_traits.hpp deleted file mode 100644 index 5d4277065..000000000 --- a/include/boost/regex/v4/regex_traits.hpp +++ /dev/null @@ -1,189 +0,0 @@ -/* - * - * Copyright (c) 2003 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits classes. - */ - -#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_REGEX_TRAITS_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_WORKAROUND_HPP -#include -#endif -#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP -#include -#endif -#ifndef BOOST_REGEX_ERROR_TYPE_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED -#include -#endif -#ifndef BOOST_NO_STD_LOCALE -# ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED -# include -# endif -#endif -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) -# ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED -# include -# endif -#endif -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -# ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED -# include -# endif -#endif -#ifndef BOOST_REGEX_FWD_HPP_INCLUDED -#include -#endif - -#include "boost/mpl/has_xxx.hpp" -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ - -template -struct regex_traits : public implementationT -{ - regex_traits() : implementationT() {} -}; - -// -// class regex_traits_wrapper. -// this is what our implementation will actually store; -// it provides default implementations of the "optional" -// interfaces that we support, in addition to the -// required "standard" ones: -// -namespace BOOST_REGEX_DETAIL_NS{ -#if !BOOST_WORKAROUND(__HP_aCC, < 60000) -BOOST_MPL_HAS_XXX_TRAIT_DEF(boost_extensions_tag) -#else -template -struct has_boost_extensions_tag -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; -#endif - -template -struct default_wrapper : public BaseT -{ - typedef typename BaseT::char_type char_type; - std::string error_string(::boost::regex_constants::error_type e)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(e); - } - ::boost::regex_constants::syntax_type syntax_type(char_type c)const - { - return ((c & 0x7f) == c) ? get_default_syntax_type(static_cast(c)) : ::boost::regex_constants::syntax_char; - } - ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c)const - { - return ((c & 0x7f) == c) ? get_default_escape_syntax_type(static_cast(c)) : ::boost::regex_constants::escape_type_identity; - } - boost::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); - } - char_type translate(char_type c, bool icase)const - { - return (icase ? this->translate_nocase(c) : this->translate(c)); - } - char_type translate(char_type c)const - { - return BaseT::translate(c); - } - char_type tolower(char_type c)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c); - } - char_type toupper(char_type c)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c); - } -}; - -template -struct compute_wrapper_base -{ - typedef BaseT type; -}; -#if !BOOST_WORKAROUND(__HP_aCC, < 60000) -template -struct compute_wrapper_base -{ - typedef default_wrapper type; -}; -#else -template <> -struct compute_wrapper_base, false> -{ - typedef default_wrapper > type; -}; -#ifndef BOOST_NO_WREGEX -template <> -struct compute_wrapper_base, false> -{ - typedef default_wrapper > type; -}; -#endif -#endif - -} // namespace BOOST_REGEX_DETAIL_NS - -template -struct regex_traits_wrapper - : public ::boost::BOOST_REGEX_DETAIL_NS::compute_wrapper_base< - BaseT, - ::boost::BOOST_REGEX_DETAIL_NS::has_boost_extensions_tag::value - >::type -{ - regex_traits_wrapper(){} -private: - regex_traits_wrapper(const regex_traits_wrapper&); - regex_traits_wrapper& operator=(const regex_traits_wrapper&); -}; - -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // include - diff --git a/include/boost/regex/v4/regex_traits_defaults.hpp b/include/boost/regex/v4/regex_traits_defaults.hpp deleted file mode 100644 index e58d6bae2..000000000 --- a/include/boost/regex/v4/regex_traits_defaults.hpp +++ /dev/null @@ -1,381 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits_defaults.hpp - * VERSION see - * DESCRIPTION: Declares API's for access to regex_traits default properties. - */ - -#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED -#define BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP -#include -#endif -#ifndef BOOST_REGEX_ERROR_TYPE_HPP -#include -#endif -#include -#include - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::strlen; -} -#endif - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - - -// -// helpers to suppress warnings: -// -template -inline bool is_extended(charT c) -{ - typedef typename make_unsigned::type unsigned_type; - return (sizeof(charT) > 1) && (static_cast(c) >= 256u); -} -inline bool is_extended(char) -{ return false; } - - -BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_syntax(regex_constants::syntax_type n); -BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_error_string(regex_constants::error_type n); -BOOST_REGEX_DECL regex_constants::syntax_type BOOST_REGEX_CALL get_default_syntax_type(char c); -BOOST_REGEX_DECL regex_constants::escape_syntax_type BOOST_REGEX_CALL get_default_escape_syntax_type(char c); - -// is charT c a combining character? -BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining_implementation(uint_least16_t s); - -template -inline bool is_combining(charT c) -{ - return (c <= static_cast(0)) ? false : ((c >= static_cast((std::numeric_limits::max)())) ? false : is_combining_implementation(static_cast(c))); -} -template <> -inline bool is_combining(char) -{ - return false; -} -template <> -inline bool is_combining(signed char) -{ - return false; -} -template <> -inline bool is_combining(unsigned char) -{ - return false; -} -#if !defined(__hpux) && !defined(__WINSCW__) // can't use WCHAR_MAX/MIN in pp-directives -#ifdef _MSC_VER -template<> -inline bool is_combining(wchar_t c) -{ - return is_combining_implementation(static_cast(c)); -} -#elif !defined(__DECCXX) && !defined(__osf__) && !defined(__OSF__) && defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) -#if defined(WCHAR_MAX) && (WCHAR_MAX <= USHRT_MAX) -template<> -inline bool is_combining(wchar_t c) -{ - return is_combining_implementation(static_cast(c)); -} -#else -template<> -inline bool is_combining(wchar_t c) -{ - return (c >= (std::numeric_limits::max)()) ? false : is_combining_implementation(static_cast(c)); -} -#endif -#endif -#endif - -// -// is a charT c a line separator? -// -template -inline bool is_separator(charT c) -{ - return BOOST_REGEX_MAKE_BOOL( - (c == static_cast('\n')) - || (c == static_cast('\r')) - || (c == static_cast('\f')) - || (static_cast(c) == 0x2028u) - || (static_cast(c) == 0x2029u) - || (static_cast(c) == 0x85u)); -} -template <> -inline bool is_separator(char c) -{ - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r') || (c == '\f')); -} - -// -// get a default collating element: -// -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name); - -// -// get the state_id of a character clasification, the individual -// traits classes then transform that state_id into a bitmask: -// -template -struct character_pointer_range -{ - const charT* p1; - const charT* p2; - - bool operator < (const character_pointer_range& r)const - { - return std::lexicographical_compare(p1, p2, r.p1, r.p2); - } - bool operator == (const character_pointer_range& r)const - { - // Not only do we check that the ranges are of equal size before - // calling std::equal, but there is no other algorithm available: - // not even a non-standard MS one. So forward to unchecked_equal - // in the MS case. - return ((p2 - p1) == (r.p2 - r.p1)) && BOOST_REGEX_DETAIL_NS::equal(p1, p2, r.p1); - } -}; -template -int get_default_class_id(const charT* p1, const charT* p2) -{ - static const charT data[73] = { - 'a', 'l', 'n', 'u', 'm', - 'a', 'l', 'p', 'h', 'a', - 'b', 'l', 'a', 'n', 'k', - 'c', 'n', 't', 'r', 'l', - 'd', 'i', 'g', 'i', 't', - 'g', 'r', 'a', 'p', 'h', - 'l', 'o', 'w', 'e', 'r', - 'p', 'r', 'i', 'n', 't', - 'p', 'u', 'n', 'c', 't', - 's', 'p', 'a', 'c', 'e', - 'u', 'n', 'i', 'c', 'o', 'd', 'e', - 'u', 'p', 'p', 'e', 'r', - 'v', - 'w', 'o', 'r', 'd', - 'x', 'd', 'i', 'g', 'i', 't', - }; - - static const character_pointer_range ranges[21] = - { - {data+0, data+5,}, // alnum - {data+5, data+10,}, // alpha - {data+10, data+15,}, // blank - {data+15, data+20,}, // cntrl - {data+20, data+21,}, // d - {data+20, data+25,}, // digit - {data+25, data+30,}, // graph - {data+29, data+30,}, // h - {data+30, data+31,}, // l - {data+30, data+35,}, // lower - {data+35, data+40,}, // print - {data+40, data+45,}, // punct - {data+45, data+46,}, // s - {data+45, data+50,}, // space - {data+57, data+58,}, // u - {data+50, data+57,}, // unicode - {data+57, data+62,}, // upper - {data+62, data+63,}, // v - {data+63, data+64,}, // w - {data+63, data+67,}, // word - {data+67, data+73,}, // xdigit - }; - static const character_pointer_range* ranges_begin = ranges; - static const character_pointer_range* ranges_end = ranges + (sizeof(ranges)/sizeof(ranges[0])); - - character_pointer_range t = { p1, p2, }; - const character_pointer_range* p = std::lower_bound(ranges_begin, ranges_end, t); - if((p != ranges_end) && (t == *p)) - return static_cast(p - ranges); - return -1; -} - -// -// helper functions: -// -template -std::ptrdiff_t global_length(const charT* p) -{ - std::ptrdiff_t n = 0; - while(*p) - { - ++p; - ++n; - } - return n; -} -template<> -inline std::ptrdiff_t global_length(const char* p) -{ - return (std::strlen)(p); -} -#ifndef BOOST_NO_WREGEX -template<> -inline std::ptrdiff_t global_length(const wchar_t* p) -{ - return (std::ptrdiff_t)(std::wcslen)(p); -} -#endif -template -inline charT BOOST_REGEX_CALL global_lower(charT c) -{ - return c; -} -template -inline charT BOOST_REGEX_CALL global_upper(charT c) -{ - return c; -} - -BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_lower(char c); -BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_upper(char c); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_lower(wchar_t c); -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_upper(wchar_t c); -#endif -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_lower(unsigned short c); -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_upper(unsigned short c); -#endif -// -// This sucks: declare template specialisations of global_lower/global_upper -// that just forward to the non-template implementation functions. We do -// this because there is one compiler (Compaq Tru64 C++) that doesn't seem -// to differentiate between templates and non-template overloads.... -// what's more, the primary template, plus all overloads have to be -// defined in the same translation unit (if one is inline they all must be) -// otherwise the "local template instantiation" compiler option can pick -// the wrong instantiation when linking: -// -template<> inline char BOOST_REGEX_CALL global_lower(char c){ return do_global_lower(c); } -template<> inline char BOOST_REGEX_CALL global_upper(char c){ return do_global_upper(c); } -#ifndef BOOST_NO_WREGEX -template<> inline wchar_t BOOST_REGEX_CALL global_lower(wchar_t c){ return do_global_lower(c); } -template<> inline wchar_t BOOST_REGEX_CALL global_upper(wchar_t c){ return do_global_upper(c); } -#endif -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -template<> inline unsigned short BOOST_REGEX_CALL global_lower(unsigned short c){ return do_global_lower(c); } -template<> inline unsigned short BOOST_REGEX_CALL global_upper(unsigned short c){ return do_global_upper(c); } -#endif - -template -int global_value(charT c) -{ - static const charT zero = '0'; - static const charT nine = '9'; - static const charT a = 'a'; - static const charT f = 'f'; - static const charT A = 'A'; - static const charT F = 'F'; - - if(c > f) return -1; - if(c >= a) return 10 + (c - a); - if(c > F) return -1; - if(c >= A) return 10 + (c - A); - if(c > nine) return -1; - if(c >= zero) return c - zero; - return -1; -} -template -boost::intmax_t global_toi(const charT*& p1, const charT* p2, int radix, const traits& t) -{ - (void)t; // warning suppression - boost::intmax_t limit = (std::numeric_limits::max)() / radix; - boost::intmax_t next_value = t.value(*p1, radix); - if((p1 == p2) || (next_value < 0) || (next_value >= radix)) - return -1; - boost::intmax_t result = 0; - while(p1 != p2) - { - next_value = t.value(*p1, radix); - if((next_value < 0) || (next_value >= radix)) - break; - result *= radix; - result += next_value; - ++p1; - if (result > limit) - return -1; - } - return result; -} - -template -inline typename boost::enable_if_c<(sizeof(charT) > 1), const charT*>::type get_escape_R_string() -{ -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4309 4245) -#endif - static const charT e1[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', - '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), static_cast(0x2028), - static_cast(0x2029), ']', ')', ')', '\0' }; - static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', - '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), ']', ')', ')', '\0' }; - - charT c = static_cast(0x2029u); - bool b = (static_cast(c) == 0x2029u); - - return (b ? e1 : e2); -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif -} - -template -inline typename boost::disable_if_c<(sizeof(charT) > 1), const charT*>::type get_escape_R_string() -{ -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4309) -#endif - static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', - '|', '[', '\x0A', '\x0B', '\x0C', '\x85', ']', ')', ')', '\0' }; - return e2; -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif -} - -} // BOOST_REGEX_DETAIL_NS -} // boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/include/boost/regex/v4/regex_workaround.hpp b/include/boost/regex/v4/regex_workaround.hpp deleted file mode 100644 index 35eafc253..000000000 --- a/include/boost/regex/v4/regex_workaround.hpp +++ /dev/null @@ -1,237 +0,0 @@ -/* - * - * Copyright (c) 1998-2005 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_workarounds.cpp - * VERSION see - * DESCRIPTION: Declares Misc workarounds. - */ - -#ifndef BOOST_REGEX_WORKAROUND_HPP -#define BOOST_REGEX_WORKAROUND_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_STD_LOCALE -# include -#endif - -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::sprintf; using ::strcpy; using ::strcat; using ::strlen; -} -#endif - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ -#ifdef BOOST_NO_STD_DISTANCE -template -std::ptrdiff_t distance(const T& x, const T& y) -{ return y - x; } -#else -using std::distance; -#endif -}} - - -#ifdef BOOST_REGEX_NO_BOOL -# define BOOST_REGEX_MAKE_BOOL(x) static_cast((x) ? true : false) -#else -# define BOOST_REGEX_MAKE_BOOL(x) static_cast(x) -#endif - -/***************************************************************************** - * - * Fix broken namespace support: - * - ****************************************************************************/ - -#if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) - -namespace std{ - using ::ptrdiff_t; - using ::size_t; - using ::abs; - using ::memset; - using ::memcpy; -} - -#endif - -/***************************************************************************** - * - * helper functions pointer_construct/pointer_destroy: - * - ****************************************************************************/ - -#ifdef __cplusplus -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_MSVC -#pragma warning (push) -#pragma warning (disable : 4100) -#endif - -template -inline void pointer_destroy(T* p) -{ p->~T(); (void)p; } - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -template -inline void pointer_construct(T* p, const T& t) -{ new (p) T(t); } - -}} // namespaces -#endif - -/***************************************************************************** - * - * helper function copy: - * - ****************************************************************************/ - -#ifdef __cplusplus -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ -#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && BOOST_WORKAROUND(BOOST_MSVC, <1600) && defined(_CPPLIB_VER) && defined(BOOST_DINKUMWARE_STDLIB) && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - // - // MSVC 8 will either emit warnings or else refuse to compile - // code that makes perfectly legitimate use of std::copy, when - // the OutputIterator type is a user-defined class (apparently all user - // defined iterators are "unsafe"). This code works around that: - // - template - inline OutputIterator copy( - InputIterator first, - InputIterator last, - OutputIterator dest - ) - { - return stdext::unchecked_copy(first, last, dest); - } - template - inline bool equal( - InputIterator1 first, - InputIterator1 last, - InputIterator2 with - ) - { - return stdext::unchecked_equal(first, last, with); - } -#elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) - // - // MSVC 10 will either emit warnings or else refuse to compile - // code that makes perfectly legitimate use of std::copy, when - // the OutputIterator type is a user-defined class (apparently all user - // defined iterators are "unsafe"). What's more Microsoft have removed their - // non-standard "unchecked" versions, even though their still in the MS - // documentation!! Work around this as best we can: - // - template - inline OutputIterator copy( - InputIterator first, - InputIterator last, - OutputIterator dest - ) - { - while(first != last) - *dest++ = *first++; - return dest; - } - template - inline bool equal( - InputIterator1 first, - InputIterator1 last, - InputIterator2 with - ) - { - while(first != last) - if(*first++ != *with++) return false; - return true; - } -#else - using std::copy; - using std::equal; -#endif -#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ - - // use safe versions of strcpy etc: - using ::strcpy_s; - using ::strcat_s; -#else - inline std::size_t strcpy_s( - char *strDestination, - std::size_t sizeInBytes, - const char *strSource - ) - { - std::size_t lenSourceWithNull = std::strlen(strSource) + 1; - if (lenSourceWithNull > sizeInBytes) - return 1; - std::memcpy(strDestination, strSource, lenSourceWithNull); - return 0; - } - inline std::size_t strcat_s( - char *strDestination, - std::size_t sizeInBytes, - const char *strSource - ) - { - std::size_t lenSourceWithNull = std::strlen(strSource) + 1; - std::size_t lenDestination = std::strlen(strDestination); - if (lenSourceWithNull + lenDestination > sizeInBytes) - return 1; - std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull); - return 0; - } - -#endif - - inline void overflow_error_if_not_zero(std::size_t i) - { - if(i) - { - std::overflow_error e("String buffer too small"); - boost::throw_exception(e); - } - } - -}} // namespaces - -#endif // __cplusplus - -#endif // include guard - diff --git a/include/boost/regex/v4/sub_match.hpp b/include/boost/regex/v4/sub_match.hpp deleted file mode 100644 index ff8a8e467..000000000 --- a/include/boost/regex/v4/sub_match.hpp +++ /dev/null @@ -1,516 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE sub_match.cpp - * VERSION see - * DESCRIPTION: Declares template class sub_match. - */ - -#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP -#define BOOST_REGEX_V4_SUB_MATCH_HPP - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost{ - -template -struct sub_match : public std::pair -{ - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type value_type; -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef std::ptrdiff_t difference_type; -#else - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::difference_type difference_type; -#endif - typedef BidiIterator iterator_type; - typedef BidiIterator iterator; - typedef BidiIterator const_iterator; - - bool matched; - - sub_match() : std::pair(), matched(false) {} - sub_match(BidiIterator i) : std::pair(i, i), matched(false) {} -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)\ - && !BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) - template - operator std::basic_string ()const - { - return matched ? std::basic_string(this->first, this->second) : std::basic_string(); - } -#else - operator std::basic_string ()const - { - return str(); - } -#endif - difference_type BOOST_REGEX_CALL length()const - { - difference_type n = matched ? ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0; - return n; - } - std::basic_string str()const - { - std::basic_string result; - if(matched) - { - std::size_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)this->first, (BidiIterator)this->second); - result.reserve(len); - BidiIterator i = this->first; - while(i != this->second) - { - result.append(1, *i); - ++i; - } - } - return result; - } - int compare(const sub_match& s)const - { - if(matched != s.matched) - return static_cast(matched) - static_cast(s.matched); - return str().compare(s.str()); - } - int compare(const std::basic_string& s)const - { - return str().compare(s); - } - int compare(const value_type* p)const - { - return str().compare(p); - } - - bool operator==(const sub_match& that)const - { return compare(that) == 0; } - bool BOOST_REGEX_CALL operator !=(const sub_match& that)const - { return compare(that) != 0; } - bool operator<(const sub_match& that)const - { return compare(that) < 0; } - bool operator>(const sub_match& that)const - { return compare(that) > 0; } - bool operator<=(const sub_match& that)const - { return compare(that) <= 0; } - bool operator>=(const sub_match& that)const - { return compare(that) >= 0; } - -#ifdef BOOST_REGEX_MATCH_EXTRA - typedef std::vector > capture_sequence_type; - - const capture_sequence_type& captures()const - { - if(!m_captures) - m_captures.reset(new capture_sequence_type()); - return *m_captures; - } - // - // Private implementation API: DO NOT USE! - // - capture_sequence_type& get_captures()const - { - if(!m_captures) - m_captures.reset(new capture_sequence_type()); - return *m_captures; - } - -private: - mutable boost::scoped_ptr m_captures; -public: - -#endif - sub_match(const sub_match& that, bool -#ifdef BOOST_REGEX_MATCH_EXTRA - deep_copy -#endif - = true - ) - : std::pair(that), - matched(that.matched) - { -#ifdef BOOST_REGEX_MATCH_EXTRA - if(that.m_captures) - if(deep_copy) - m_captures.reset(new capture_sequence_type(*(that.m_captures))); -#endif - } - sub_match& operator=(const sub_match& that) - { - this->first = that.first; - this->second = that.second; - matched = that.matched; -#ifdef BOOST_REGEX_MATCH_EXTRA - if(that.m_captures) - get_captures() = *(that.m_captures); -#endif - return *this; - } - // - // Make this type a range, for both Boost.Range, and C++11: - // - BidiIterator begin()const { return this->first; } - BidiIterator end()const { return this->second; } - - -#ifdef BOOST_OLD_REGEX_H - // - // the following are deprecated, do not use!! - // - operator int()const; - operator unsigned int()const; - operator short()const - { - return (short)(int)(*this); - } - operator unsigned short()const - { - return (unsigned short)(unsigned int)(*this); - } -#endif -}; - -typedef sub_match csub_match; -typedef sub_match ssub_match; -#ifndef BOOST_NO_WREGEX -typedef sub_match wcsub_match; -typedef sub_match wssub_match; -#endif - -// comparison to std::basic_string<> part 1: -template -inline bool operator == (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) == 0; } -template -inline bool operator != (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) != 0; } -template -inline bool operator < (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) < 0; } -template -inline bool operator <= (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) <= 0; } -template -inline bool operator >= (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) >= 0; } -template -inline bool operator > (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) > 0; } -// comparison to std::basic_string<> part 2: -template -inline bool operator == (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) == 0; } -template -inline bool operator != (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) != 0; } -template -inline bool operator < (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) < 0; } -template -inline bool operator > (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) > 0; } -template -inline bool operator <= (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) <= 0; } -template -inline bool operator >= (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) >= 0; } -// comparison to const charT* part 1: -template -inline bool operator == (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) == 0; } -template -inline bool operator != (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) != 0; } -template -inline bool operator > (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) > 0; } -template -inline bool operator < (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) < 0; } -template -inline bool operator >= (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) >= 0; } -template -inline bool operator <= (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) <= 0; } -// comparison to const charT* part 2: -template -inline bool operator == (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) == 0; } -template -inline bool operator != (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) != 0; } -template -inline bool operator < (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) > 0; } -template -inline bool operator > (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) < 0; } -template -inline bool operator <= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) >= 0; } -template -inline bool operator >= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) <= 0; } - -// comparison to const charT& part 1: -template -inline bool operator == (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) == 0; } -template -inline bool operator != (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) != 0; } -template -inline bool operator > (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) > 0; } -template -inline bool operator < (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) < 0; } -template -inline bool operator >= (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) >= 0; } -template -inline bool operator <= (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) <= 0; } -// comparison to const charT* part 2: -template -inline bool operator == (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) == 0; } -template -inline bool operator != (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) != 0; } -template -inline bool operator < (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) > 0; } -template -inline bool operator > (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) < 0; } -template -inline bool operator <= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) >= 0; } -template -inline bool operator >= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) <= 0; } - -// addition operators: -template -inline std::basic_string::value_type, traits, Allocator> -operator + (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ - std::basic_string::value_type, traits, Allocator> result; - result.reserve(s.size() + m.length() + 1); - return result.append(s).append(m.first, m.second); -} -template -inline std::basic_string::value_type, traits, Allocator> -operator + (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ - std::basic_string::value_type, traits, Allocator> result; - result.reserve(s.size() + m.length() + 1); - return result.append(m.first, m.second).append(s); -} -#if !(defined(__GNUC__) && defined(BOOST_NO_STD_LOCALE)) -template -inline std::basic_string::value_type> -operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ - std::basic_string::value_type> result; - result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); - return result.append(s).append(m.first, m.second); -} -template -inline std::basic_string::value_type> -operator + (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const * s) -{ - std::basic_string::value_type> result; - result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); - return result.append(m.first, m.second).append(s); -} -#else -// worwaround versions: -template -inline std::basic_string::value_type> -operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ - return s + m.str(); -} -template -inline std::basic_string::value_type> -operator + (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const * s) -{ - return m.str() + s; -} -#endif -template -inline std::basic_string::value_type> -operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ - std::basic_string::value_type> result; - result.reserve(m.length() + 2); - return result.append(1, s).append(m.first, m.second); -} -template -inline std::basic_string::value_type> -operator + (const sub_match& m, - typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::value_type const& s) -{ - std::basic_string::value_type> result; - result.reserve(m.length() + 2); - return result.append(m.first, m.second).append(1, s); -} -template -inline std::basic_string::value_type> -operator + (const sub_match& m1, - const sub_match& m2) -{ - std::basic_string::value_type> result; - result.reserve(m1.length() + m2.length() + 1); - return result.append(m1.first, m1.second).append(m2.first, m2.second); -} -#ifndef BOOST_NO_STD_LOCALE -template -std::basic_ostream& - operator << (std::basic_ostream& os, - const sub_match& s) -{ - return (os << s.str()); -} -#else -template -std::ostream& operator << (std::ostream& os, - const sub_match& s) -{ - return (os << s.str()); -} -#endif - -#ifdef BOOST_OLD_REGEX_H -namespace BOOST_REGEX_DETAIL_NS{ -template -int do_toi(BidiIterator i, BidiIterator j, char c, int radix) -{ - std::string s(i, j); - char* p; - int result = std::strtol(s.c_str(), &p, radix); - if(*p)raise_regex_exception("Bad sub-expression"); - return result; -} - -// -// helper: -template -int do_toi(I& i, I j, charT c) -{ - int result = 0; - while((i != j) && (isdigit(*i))) - { - result = result*10 + (*i - '0'); - ++i; - } - return result; -} -} - - -template -sub_match::operator int()const -{ - BidiIterator i = first; - BidiIterator j = second; - if(i == j)raise_regex_exception("Bad sub-expression"); - int neg = 1; - if((i != j) && (*i == '-')) - { - neg = -1; - ++i; - } - neg *= BOOST_REGEX_DETAIL_NS::do_toi(i, j, *i); - if(i != j)raise_regex_exception("Bad sub-expression"); - return neg; -} -template -sub_match::operator unsigned int()const -{ - BidiIterator i = first; - BidiIterator j = second; - if(i == j) - raise_regex_exception("Bad sub-expression"); - return BOOST_REGEX_DETAIL_NS::do_toi(i, j, *first); -} -#endif - -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - diff --git a/include/boost/regex/v4/syntax_type.hpp b/include/boost/regex/v4/syntax_type.hpp deleted file mode 100644 index 3efdf0b0f..000000000 --- a/include/boost/regex/v4/syntax_type.hpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * - * Copyright (c) 2003 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE syntax_type.hpp - * VERSION see - * DESCRIPTION: Declares regular expression synatx type enumerator. - */ - -#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP -#define BOOST_REGEX_SYNTAX_TYPE_HPP - -namespace boost{ -namespace regex_constants{ - -typedef unsigned char syntax_type; - -// -// values chosen are binary compatible with previous version: -// -static const syntax_type syntax_char = 0; -static const syntax_type syntax_open_mark = 1; -static const syntax_type syntax_close_mark = 2; -static const syntax_type syntax_dollar = 3; -static const syntax_type syntax_caret = 4; -static const syntax_type syntax_dot = 5; -static const syntax_type syntax_star = 6; -static const syntax_type syntax_plus = 7; -static const syntax_type syntax_question = 8; -static const syntax_type syntax_open_set = 9; -static const syntax_type syntax_close_set = 10; -static const syntax_type syntax_or = 11; -static const syntax_type syntax_escape = 12; -static const syntax_type syntax_dash = 14; -static const syntax_type syntax_open_brace = 15; -static const syntax_type syntax_close_brace = 16; -static const syntax_type syntax_digit = 17; -static const syntax_type syntax_comma = 27; -static const syntax_type syntax_equal = 37; -static const syntax_type syntax_colon = 36; -static const syntax_type syntax_not = 53; - -// extensions: - -static const syntax_type syntax_hash = 13; -static const syntax_type syntax_newline = 26; - -// escapes: - -typedef syntax_type escape_syntax_type; - -static const escape_syntax_type escape_type_word_assert = 18; -static const escape_syntax_type escape_type_not_word_assert = 19; -static const escape_syntax_type escape_type_control_f = 29; -static const escape_syntax_type escape_type_control_n = 30; -static const escape_syntax_type escape_type_control_r = 31; -static const escape_syntax_type escape_type_control_t = 32; -static const escape_syntax_type escape_type_control_v = 33; -static const escape_syntax_type escape_type_ascii_control = 35; -static const escape_syntax_type escape_type_hex = 34; -static const escape_syntax_type escape_type_unicode = 0; // not used -static const escape_syntax_type escape_type_identity = 0; // not used -static const escape_syntax_type escape_type_backref = syntax_digit; -static const escape_syntax_type escape_type_decimal = syntax_digit; // not used -static const escape_syntax_type escape_type_class = 22; -static const escape_syntax_type escape_type_not_class = 23; - -// extensions: - -static const escape_syntax_type escape_type_left_word = 20; -static const escape_syntax_type escape_type_right_word = 21; -static const escape_syntax_type escape_type_start_buffer = 24; // for \` -static const escape_syntax_type escape_type_end_buffer = 25; // for \' -static const escape_syntax_type escape_type_control_a = 28; // for \a -static const escape_syntax_type escape_type_e = 38; // for \e -static const escape_syntax_type escape_type_E = 47; // for \Q\E -static const escape_syntax_type escape_type_Q = 48; // for \Q\E -static const escape_syntax_type escape_type_X = 49; // for \X -static const escape_syntax_type escape_type_C = 50; // for \C -static const escape_syntax_type escape_type_Z = 51; // for \Z -static const escape_syntax_type escape_type_G = 52; // for \G - -static const escape_syntax_type escape_type_property = 54; // for \p -static const escape_syntax_type escape_type_not_property = 55; // for \P -static const escape_syntax_type escape_type_named_char = 56; // for \N -static const escape_syntax_type escape_type_extended_backref = 57; // for \g -static const escape_syntax_type escape_type_reset_start_mark = 58; // for \K -static const escape_syntax_type escape_type_line_ending = 59; // for \R - -static const escape_syntax_type syntax_max = 60; - -} -} - - -#endif diff --git a/include/boost/regex/v4/w32_regex_traits.hpp b/include/boost/regex/v4/w32_regex_traits.hpp deleted file mode 100644 index 378ee8565..000000000 --- a/include/boost/regex/v4/w32_regex_traits.hpp +++ /dev/null @@ -1,745 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE w32_regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits class w32_regex_traits. - */ - -#ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_W32_REGEX_TRAITS_HPP_INCLUDED - -#ifndef BOOST_REGEX_NO_WIN32_LOCALE - -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED -#include -#endif -#ifdef BOOST_HAS_THREADS -#include -#endif -#ifndef BOOST_REGEX_PRIMARY_TRANSFORM -#include -#endif -#ifndef BOOST_REGEX_OBJECT_CACHE_HPP -#include -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4786) -#if BOOST_MSVC < 1910 -#pragma warning(disable:4800) -#endif -#endif - -namespace boost{ - -// -// forward declaration is needed by some compilers: -// -template -class w32_regex_traits; - -namespace BOOST_REGEX_DETAIL_NS{ - -// -// start by typedeffing the types we'll need: -// -typedef ::boost::uint32_t lcid_type; // placeholder for LCID. -typedef ::boost::shared_ptr cat_type; // placeholder for dll HANDLE. - -// -// then add wrappers around the actual Win32 API's (ie implementation hiding): -// -BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale(); -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char, lcid_type); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t, lcid_type); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type state_id); -#endif -#endif -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char, lcid_type); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t, lcid_type); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type state_id); -#endif -#endif -BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name); -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string& def); -#endif -#endif -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const char* p1, const char* p2); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const unsigned short* p1, const unsigned short* p2); -#endif -#endif -BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type state_id); -#endif -#endif -BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type); -#endif -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, char c); -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, wchar_t c); -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type state_id, boost::uint32_t m, unsigned short c); -#endif -#endif -// -// class w32_regex_traits_base: -// acts as a container for locale and the facets we are using. -// -template -struct w32_regex_traits_base -{ - w32_regex_traits_base(lcid_type l) - { imbue(l); } - lcid_type imbue(lcid_type l); - - lcid_type m_locale; -}; - -template -inline lcid_type w32_regex_traits_base::imbue(lcid_type l) -{ - lcid_type result(m_locale); - m_locale = l; - return result; -} - -// -// class w32_regex_traits_char_layer: -// implements methods that require specialisation for narrow characters: -// -template -class w32_regex_traits_char_layer : public w32_regex_traits_base -{ - typedef std::basic_string string_type; - typedef std::map map_type; - typedef typename map_type::const_iterator map_iterator_type; -public: - w32_regex_traits_char_layer(const lcid_type l); - - regex_constants::syntax_type syntax_type(charT c)const - { - map_iterator_type i = m_char_map.find(c); - return ((i == m_char_map.end()) ? 0 : i->second); - } - regex_constants::escape_syntax_type escape_syntax_type(charT c) const - { - map_iterator_type i = m_char_map.find(c); - if(i == m_char_map.end()) - { - if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_lower(c, this->m_locale)) return regex_constants::escape_type_class; - if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_upper(c, this->m_locale)) return regex_constants::escape_type_not_class; - return 0; - } - return i->second; - } - charT tolower(charT c)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::w32_tolower(c, this->m_locale); - } - bool isctype(boost::uint32_t mask, charT c)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, mask, c); - } - -private: - string_type get_default_message(regex_constants::syntax_type); - // TODO: use a hash table when available! - map_type m_char_map; -}; - -template -w32_regex_traits_char_layer::w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) - : w32_regex_traits_base(l) -{ - // we need to start by initialising our syntax map so we know which - // character is used for which purpose: - cat_type cat; - std::string cat_name(w32_regex_traits::get_catalog_name()); - if(cat_name.size()) - { - cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); - if(!cat) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if(cat) - { - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_message(i)); - for(typename string_type::size_type j = 0; j < mss.size(); ++j) - { - this->m_char_map[mss[j]] = i; - } - } - } - else - { - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - const char* ptr = get_default_syntax(i); - while(ptr && *ptr) - { - this->m_char_map[static_cast(*ptr)] = i; - ++ptr; - } - } - } -} - -template -typename w32_regex_traits_char_layer::string_type - w32_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) -{ - const char* ptr = get_default_syntax(i); - string_type result; - while(ptr && *ptr) - { - result.append(1, static_cast(*ptr)); - ++ptr; - } - return result; -} - -// -// specialised version for narrow characters: -// -template <> -class BOOST_REGEX_DECL w32_regex_traits_char_layer : public w32_regex_traits_base -{ - typedef std::string string_type; -public: - w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) - : w32_regex_traits_base(l) - { - init(); - } - - regex_constants::syntax_type syntax_type(char c)const - { - return m_char_map[static_cast(c)]; - } - regex_constants::escape_syntax_type escape_syntax_type(char c) const - { - return m_char_map[static_cast(c)]; - } - char tolower(char c)const - { - return m_lower_map[static_cast(c)]; - } - bool isctype(boost::uint32_t mask, char c)const - { - return m_type_map[static_cast(c)] & mask; - } - -private: - regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; - char m_lower_map[1u << CHAR_BIT]; - boost::uint16_t m_type_map[1u << CHAR_BIT]; - void init(); -}; - -// -// class w32_regex_traits_implementation: -// provides pimpl implementation for w32_regex_traits. -// -template -class w32_regex_traits_implementation : public w32_regex_traits_char_layer -{ -public: - typedef typename w32_regex_traits::char_class_type char_class_type; - BOOST_STATIC_CONSTANT(char_class_type, mask_word = 0x0400); // must be C1_DEFINED << 1 - BOOST_STATIC_CONSTANT(char_class_type, mask_unicode = 0x0800); // must be C1_DEFINED << 2 - BOOST_STATIC_CONSTANT(char_class_type, mask_horizontal = 0x1000); // must be C1_DEFINED << 3 - BOOST_STATIC_CONSTANT(char_class_type, mask_vertical = 0x2000); // must be C1_DEFINED << 4 - BOOST_STATIC_CONSTANT(char_class_type, mask_base = 0x3ff); // all the masks used by the CT_CTYPE1 group - - typedef std::basic_string string_type; - typedef charT char_type; - w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l); - std::string error_string(regex_constants::error_type n) const - { - if(!m_error_strings.empty()) - { - std::map::const_iterator p = m_error_strings.find(n); - return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; - } - return get_default_error_string(n); - } - char_class_type lookup_classname(const charT* p1, const charT* p2) const - { - char_class_type result = lookup_classname_imp(p1, p2); - if(result == 0) - { - typedef typename string_type::size_type size_type; - string_type temp(p1, p2); - for(size_type i = 0; i < temp.size(); ++i) - temp[i] = this->tolower(temp[i]); - result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); - } - return result; - } - string_type lookup_collatename(const charT* p1, const charT* p2) const; - string_type transform_primary(const charT* p1, const charT* p2) const; - string_type transform(const charT* p1, const charT* p2) const - { - return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_locale, p1, p2); - } -private: - std::map m_error_strings; // error messages indexed by numberic ID - std::map m_custom_class_names; // character class names - std::map m_custom_collate_names; // collating element names - unsigned m_collate_type; // the form of the collation string - charT m_collate_delim; // the collation group delimiter - // - // helpers: - // - char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; -}; - -template -typename w32_regex_traits_implementation::string_type - w32_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const -{ - string_type result; - // - // What we do here depends upon the format of the sort key returned by - // sort key returned by this->transform: - // - switch(m_collate_type) - { - case sort_C: - case sort_unknown: - // the best we can do is translate to lower case, then get a regular sort key: - { - result.assign(p1, p2); - typedef typename string_type::size_type size_type; - for(size_type i = 0; i < result.size(); ++i) - result[i] = this->tolower(result[i]); - result = this->transform(&*result.begin(), &*result.begin() + result.size()); - break; - } - case sort_fixed: - { - // get a regular sort key, and then truncate it: - result.assign(this->transform(p1, p2)); - result.erase(this->m_collate_delim); - break; - } - case sort_delim: - // get a regular sort key, and then truncate everything after the delim: - result.assign(this->transform(p1, p2)); - std::size_t i; - for(i = 0; i < result.size(); ++i) - { - if(result[i] == m_collate_delim) - break; - } - result.erase(i); - break; - } - if(result.empty()) - result = string_type(1, charT(0)); - return result; -} - -template -typename w32_regex_traits_implementation::string_type - w32_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const -{ - typedef typename std::map::const_iterator iter_type; - if(m_custom_collate_names.size()) - { - iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); - if(pos != m_custom_collate_names.end()) - return pos->second; - } -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - std::string name(p1, p2); -#else - std::string name; - const charT* p0 = p1; - while(p0 != p2) - name.append(1, char(*p0++)); -#endif - name = lookup_default_collate_name(name); -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - if(name.size()) - return string_type(name.begin(), name.end()); -#else - if(name.size()) - { - string_type result; - typedef std::string::const_iterator iter; - iter b = name.begin(); - iter e = name.end(); - while(b != e) - result.append(1, charT(*b++)); - return result; - } -#endif - if(p2 - p1 == 1) - return string_type(1, *p1); - return string_type(); -} - -template -w32_regex_traits_implementation::w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) -: w32_regex_traits_char_layer(l) -{ - cat_type cat; - std::string cat_name(w32_regex_traits::get_catalog_name()); - if(cat_name.size()) - { - cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); - if(!cat) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if(cat) - { - // - // Error messages: - // - for(boost::regex_constants::error_type i = static_cast(0); - i <= boost::regex_constants::error_unknown; - i = static_cast(i + 1)) - { - const char* p = get_default_error_string(i); - string_type default_message; - while(*p) - { - default_message.append(1, static_cast(*p)); - ++p; - } - string_type s = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i+200, default_message); - std::string result; - for(std::string::size_type j = 0; j < s.size(); ++j) - { - result.append(1, static_cast(s[j])); - } - m_error_strings[i] = result; - } - // - // Custom class names: - // - static const char_class_type masks[14] = - { - 0x0104u, // C1_ALPHA | C1_DIGIT - 0x0100u, // C1_ALPHA - 0x0020u, // C1_CNTRL - 0x0004u, // C1_DIGIT - (~(0x0020u|0x0008u) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE - 0x0002u, // C1_LOWER - (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL - 0x0010u, // C1_PUNCT - 0x0008u, // C1_SPACE - 0x0001u, // C1_UPPER - 0x0080u, // C1_XDIGIT - 0x0040u, // C1_BLANK - w32_regex_traits_implementation::mask_word, - w32_regex_traits_implementation::mask_unicode, - }; - static const string_type null_string; - for(unsigned int j = 0; j <= 13; ++j) - { - string_type s(::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, j+300, null_string)); - if(s.size()) - this->m_custom_class_names[s] = masks[j]; - } - } - // - // get the collation format used by m_pcollate: - // - m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); -} - -template -typename w32_regex_traits_implementation::char_class_type - w32_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const -{ - static const char_class_type masks[22] = - { - 0, - 0x0104u, // C1_ALPHA | C1_DIGIT - 0x0100u, // C1_ALPHA - 0x0040u, // C1_BLANK - 0x0020u, // C1_CNTRL - 0x0004u, // C1_DIGIT - 0x0004u, // C1_DIGIT - (~(0x0020u|0x0008u|0x0040) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE or C1_BLANK - w32_regex_traits_implementation::mask_horizontal, - 0x0002u, // C1_LOWER - 0x0002u, // C1_LOWER - (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL - 0x0010u, // C1_PUNCT - 0x0008u, // C1_SPACE - 0x0008u, // C1_SPACE - 0x0001u, // C1_UPPER - w32_regex_traits_implementation::mask_unicode, - 0x0001u, // C1_UPPER - w32_regex_traits_implementation::mask_vertical, - 0x0104u | w32_regex_traits_implementation::mask_word, - 0x0104u | w32_regex_traits_implementation::mask_word, - 0x0080u, // C1_XDIGIT - }; - if(m_custom_class_names.size()) - { - typedef typename std::map, char_class_type>::const_iterator map_iter; - map_iter pos = m_custom_class_names.find(string_type(p1, p2)); - if(pos != m_custom_class_names.end()) - return pos->second; - } - std::size_t state_id = 1 + BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); - if(state_id < sizeof(masks) / sizeof(masks[0])) - return masks[state_id]; - return masks[0]; -} - - -template -boost::shared_ptr > create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) -{ - // TODO: create a cache for previously constructed objects. - return boost::object_cache< ::boost::BOOST_REGEX_DETAIL_NS::lcid_type, w32_regex_traits_implementation >::get(l, 5); -} - -} // BOOST_REGEX_DETAIL_NS - -template -class w32_regex_traits -{ -public: - typedef charT char_type; - typedef std::size_t size_type; - typedef std::basic_string string_type; - typedef ::boost::BOOST_REGEX_DETAIL_NS::lcid_type locale_type; - typedef boost::uint_least32_t char_class_type; - - struct boost_extensions_tag{}; - - w32_regex_traits() - : m_pimpl(BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::w32_get_default_locale())) - { } - static size_type length(const char_type* p) - { - return std::char_traits::length(p); - } - regex_constants::syntax_type syntax_type(charT c)const - { - return m_pimpl->syntax_type(c); - } - regex_constants::escape_syntax_type escape_syntax_type(charT c) const - { - return m_pimpl->escape_syntax_type(c); - } - charT translate(charT c) const - { - return c; - } - charT translate_nocase(charT c) const - { - return this->m_pimpl->tolower(c); - } - charT translate(charT c, bool icase) const - { - return icase ? this->m_pimpl->tolower(c) : c; - } - charT tolower(charT c) const - { - return this->m_pimpl->tolower(c); - } - charT toupper(charT c) const - { - return ::boost::BOOST_REGEX_DETAIL_NS::w32_toupper(c, this->m_pimpl->m_locale); - } - string_type transform(const charT* p1, const charT* p2) const - { - return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_pimpl->m_locale, p1, p2); - } - string_type transform_primary(const charT* p1, const charT* p2) const - { - return m_pimpl->transform_primary(p1, p2); - } - char_class_type lookup_classname(const charT* p1, const charT* p2) const - { - return m_pimpl->lookup_classname(p1, p2); - } - string_type lookup_collatename(const charT* p1, const charT* p2) const - { - return m_pimpl->lookup_collatename(p1, p2); - } - bool isctype(charT c, char_class_type f) const - { - if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base) - && (this->m_pimpl->isctype(f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base, c))) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_word) && (c == '_')) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical) - && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) - return true; - else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_horizontal) - && this->isctype(c, 0x0008u) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical)) - return true; - return false; - } - boost::intmax_t toi(const charT*& p1, const charT* p2, int radix)const - { - return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); - } - int value(charT c, int radix)const - { - int result = (int)::boost::BOOST_REGEX_DETAIL_NS::global_value(c); - return result < radix ? result : -1; - } - locale_type imbue(locale_type l) - { - ::boost::BOOST_REGEX_DETAIL_NS::lcid_type result(getloc()); - m_pimpl = BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(l); - return result; - } - locale_type getloc()const - { - return m_pimpl->m_locale; - } - std::string error_string(regex_constants::error_type n) const - { - return m_pimpl->error_string(n); - } - - // - // extension: - // set the name of the message catalog in use (defaults to "boost_regex"). - // - static std::string catalog_name(const std::string& name); - static std::string get_catalog_name(); - -private: - boost::shared_ptr > m_pimpl; - // - // catalog name handler: - // - static std::string& get_catalog_name_inst(); - -#ifdef BOOST_HAS_THREADS - static static_mutex& get_mutex_inst(); -#endif -}; - -template -std::string w32_regex_traits::catalog_name(const std::string& name) -{ -#ifdef BOOST_HAS_THREADS - static_mutex::scoped_lock lk(get_mutex_inst()); -#endif - std::string result(get_catalog_name_inst()); - get_catalog_name_inst() = name; - return result; -} - -template -std::string& w32_regex_traits::get_catalog_name_inst() -{ - static std::string s_name; - return s_name; -} - -template -std::string w32_regex_traits::get_catalog_name() -{ -#ifdef BOOST_HAS_THREADS - static_mutex::scoped_lock lk(get_mutex_inst()); -#endif - std::string result(get_catalog_name_inst()); - return result; -} - -#ifdef BOOST_HAS_THREADS -template -static_mutex& w32_regex_traits::get_mutex_inst() -{ - static static_mutex s_mutex = BOOST_STATIC_MUTEX_INIT; - return s_mutex; -} -#endif - - -} // boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif // BOOST_REGEX_NO_WIN32_LOCALE - -#endif diff --git a/include/boost/regex/v5/basic_regex.hpp b/include/boost/regex/v5/basic_regex.hpp new file mode 100644 index 000000000..311187d54 --- /dev/null +++ b/include/boost/regex/v5/basic_regex.hpp @@ -0,0 +1,780 @@ +/* + * + * Copyright (c) 1998-2004 John Maddock + * Copyright 2011 Garmin Ltd. or its subsidiaries + * + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org/ for most recent version. + * FILE basic_regex.cpp + * VERSION see + * DESCRIPTION: Declares template class basic_regex. + */ + +#ifndef BOOST_REGEX_V5_BASIC_REGEX_HPP +#define BOOST_REGEX_V5_BASIC_REGEX_HPP + +#include +#include +#include +#include +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#endif + +namespace boost{ +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable : 4251) +#if BOOST_REGEX_MSVC < 1700 +# pragma warning(disable : 4231) +#endif +#if BOOST_REGEX_MSVC < 1600 +#pragma warning(disable : 4660) +#endif +#if BOOST_REGEX_MSVC < 1910 +#pragma warning(disable:4800) +#endif +#endif + +namespace BOOST_REGEX_DETAIL_NS{ + +// +// forward declaration, we will need this one later: +// +template +class basic_regex_parser; + +template +void bubble_down_one(I first, I last) +{ + if(first != last) + { + I next = last - 1; + while((next != first) && (*next < *(next-1))) + { + (next-1)->swap(*next); + --next; + } + } +} + +#ifndef BOOST_REGEX_AS_MODULE +static +#else +inline +#endif +const int hash_value_mask = 1 << (std::numeric_limits::digits - 1); + +template +inline int hash_value_from_capture_name(Iterator i, Iterator j) +{ + std::size_t r = 0; + while (i != j) + { + r ^= *i + 0x9e3779b9 + (r << 6) + (r >> 2); + ++i; + } + r %= ((std::numeric_limits::max)()); + return static_cast(r) | hash_value_mask; +} + +class named_subexpressions +{ +public: + struct name + { + template + name(const charT* i, const charT* j, int idx) + : index(idx) + { + hash = hash_value_from_capture_name(i, j); + } + name(int h, int idx) + : index(idx), hash(h) + { + } + int index; + int hash; + bool operator < (const name& other)const + { + return hash < other.hash; + } + bool operator == (const name& other)const + { + return hash == other.hash; + } + void swap(name& other) + { + std::swap(index, other.index); + std::swap(hash, other.hash); + } + }; + + typedef std::vector::const_iterator const_iterator; + typedef std::pair range_type; + + named_subexpressions(){} + + template + void set_name(const charT* i, const charT* j, int index) + { + m_sub_names.push_back(name(i, j, index)); + bubble_down_one(m_sub_names.begin(), m_sub_names.end()); + } + template + int get_id(const charT* i, const charT* j)const + { + name t(i, j, 0); + typename std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); + if((pos != m_sub_names.end()) && (*pos == t)) + { + return pos->index; + } + return -1; + } + template + range_type equal_range(const charT* i, const charT* j)const + { + name t(i, j, 0); + return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); + } + int get_id(int h)const + { + name t(h, 0); + std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); + if((pos != m_sub_names.end()) && (*pos == t)) + { + return pos->index; + } + return -1; + } + range_type equal_range(int h)const + { + name t(h, 0); + return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); + } +private: + std::vector m_sub_names; +}; + +// +// class regex_data: +// represents the data we wish to expose to the matching algorithms. +// +template +struct regex_data : public named_subexpressions +{ + typedef regex_constants::syntax_option_type flag_type; + typedef std::size_t size_type; + + regex_data(const ::std::shared_ptr< + ::boost::regex_traits_wrapper >& t) + : m_ptraits(t), m_flags(0), m_status(0), m_expression(0), m_expression_len(0), + m_mark_count(0), m_first_state(0), m_restart_type(0), + m_startmap{ 0 }, + m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {} + regex_data() + : m_ptraits(new ::boost::regex_traits_wrapper()), m_flags(0), m_status(0), m_expression(0), m_expression_len(0), + m_mark_count(0), m_first_state(0), m_restart_type(0), + m_startmap{ 0 }, + m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {} + + ::std::shared_ptr< + ::boost::regex_traits_wrapper + > m_ptraits; // traits class instance + flag_type m_flags; // flags with which we were compiled + int m_status; // error code (0 implies OK). + const charT* m_expression; // the original expression + std::ptrdiff_t m_expression_len; // the length of the original expression + size_type m_mark_count; // the number of marked sub-expressions + BOOST_REGEX_DETAIL_NS::re_syntax_base* m_first_state; // the first state of the machine + unsigned m_restart_type; // search optimisation type + unsigned char m_startmap[1 << CHAR_BIT]; // which characters can start a match + unsigned int m_can_be_null; // whether we can match a null string + BOOST_REGEX_DETAIL_NS::raw_storage m_data; // the buffer in which our states are constructed + typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character + std::vector< + std::pair< + std::size_t, std::size_t> > m_subs; // Position of sub-expressions within the *string*. + bool m_has_recursions; // whether we have recursive expressions; + bool m_disable_match_any; // when set we need to disable the match_any flag as it causes different/buggy behaviour. +}; +// +// class basic_regex_implementation +// pimpl implementation class for basic_regex. +// +template +class basic_regex_implementation + : public regex_data +{ +public: + typedef regex_constants::syntax_option_type flag_type; + typedef std::ptrdiff_t difference_type; + typedef std::size_t size_type; + typedef typename traits::locale_type locale_type; + typedef const charT* const_iterator; + + basic_regex_implementation(){} + basic_regex_implementation(const ::std::shared_ptr< + ::boost::regex_traits_wrapper >& t) + : regex_data(t) {} + void assign(const charT* arg_first, + const charT* arg_last, + flag_type f) + { + regex_data* pdat = this; + basic_regex_parser parser(pdat); + parser.parse(arg_first, arg_last, f); + } + + locale_type imbue(locale_type l) + { + return this->m_ptraits->imbue(l); + } + locale_type getloc()const + { + return this->m_ptraits->getloc(); + } + std::basic_string str()const + { + std::basic_string result; + if(this->m_status == 0) + result = std::basic_string(this->m_expression, this->m_expression_len); + return result; + } + const_iterator expression()const + { + return this->m_expression; + } + std::pair subexpression(std::size_t n)const + { + const std::pair& pi = this->m_subs.at(n); + std::pair p(expression() + pi.first, expression() + pi.second); + return p; + } + // + // begin, end: + const_iterator begin()const + { + return (this->m_status ? 0 : this->m_expression); + } + const_iterator end()const + { + return (this->m_status ? 0 : this->m_expression + this->m_expression_len); + } + flag_type flags()const + { + return this->m_flags; + } + size_type size()const + { + return this->m_expression_len; + } + int status()const + { + return this->m_status; + } + size_type mark_count()const + { + return this->m_mark_count - 1; + } + const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const + { + return this->m_first_state; + } + unsigned get_restart_type()const + { + return this->m_restart_type; + } + const unsigned char* get_map()const + { + return this->m_startmap; + } + const ::boost::regex_traits_wrapper& get_traits()const + { + return *(this->m_ptraits); + } + bool can_be_null()const + { + return this->m_can_be_null; + } + const regex_data& get_data()const + { + basic_regex_implementation const* p = this; + return *static_cast*>(p); + } +}; + +} // namespace BOOST_REGEX_DETAIL_NS +// +// class basic_regex: +// represents the compiled +// regular expression: +// +BOOST_REGEX_MODULE_EXPORT +#ifdef BOOST_REGEX_NO_FWD +template > +#else +template +#endif +class basic_regex : public regbase +{ +public: + // typedefs: + typedef std::size_t traits_size_type; + typedef typename traits::string_type traits_string_type; + typedef charT char_type; + typedef traits traits_type; + + typedef charT value_type; + typedef charT& reference; + typedef const charT& const_reference; + typedef const charT* const_iterator; + typedef const_iterator iterator; + typedef std::ptrdiff_t difference_type; + typedef std::size_t size_type; + typedef regex_constants::syntax_option_type flag_type; + // locale_type + // placeholder for actual locale type used by the + // traits class to localise *this. + typedef typename traits::locale_type locale_type; + +public: + explicit basic_regex(){} + explicit basic_regex(const charT* p, flag_type f = regex_constants::normal) + { + assign(p, f); + } + basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) + { + assign(p1, p2, f); + } + basic_regex(const charT* p, size_type len, flag_type f) + { + assign(p, len, f); + } + basic_regex(const basic_regex& that) + : m_pimpl(that.m_pimpl) {} + ~basic_regex(){} + basic_regex& operator=(const basic_regex& that) + { + return assign(that); + } + basic_regex& operator=(const charT* ptr) + { + return assign(ptr); + } + + // + // assign: + basic_regex& assign(const basic_regex& that) + { + m_pimpl = that.m_pimpl; + return *this; + } + basic_regex& assign(const charT* p, flag_type f = regex_constants::normal) + { + return assign(p, p + traits::length(p), f); + } + basic_regex& assign(const charT* p, size_type len, flag_type f) + { + return assign(p, p + len, f); + } +private: + basic_regex& do_assign(const charT* p1, + const charT* p2, + flag_type f); +public: + basic_regex& assign(const charT* p1, + const charT* p2, + flag_type f = regex_constants::normal) + { + return do_assign(p1, p2, f); + } + + template + unsigned int set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) + { + return set_expression(p.data(), p.data() + p.size(), f); + } + + template + explicit basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal) + { + assign(p, f); + } + + template + basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) + { + typedef typename traits::string_type seq_type; + seq_type a(arg_first, arg_last); + if(!a.empty()) + assign(static_cast(&*a.begin()), static_cast(&*a.begin() + a.size()), f); + else + assign(static_cast(0), static_cast(0), f); + } + + template + basic_regex& operator=(const std::basic_string& p) + { + return assign(p.data(), p.data() + p.size(), regex_constants::normal); + } + + template + basic_regex& assign( + const std::basic_string& s, + flag_type f = regex_constants::normal) + { + return assign(s.data(), s.data() + s.size(), f); + } + + template + basic_regex& assign(InputIterator arg_first, + InputIterator arg_last, + flag_type f = regex_constants::normal) + { + typedef typename traits::string_type seq_type; + seq_type a(arg_first, arg_last); + if(a.size()) + { + const charT* p1 = &*a.begin(); + const charT* p2 = &*a.begin() + a.size(); + return assign(p1, p2, f); + } + return assign(static_cast(0), static_cast(0), f); + } + + // + // locale: + locale_type imbue(locale_type l); + locale_type getloc()const + { + return m_pimpl.get() ? m_pimpl->getloc() : locale_type(); + } + // + // getflags: + // retained for backwards compatibility only, "flags" + // is now the preferred name: + flag_type getflags()const + { + return flags(); + } + flag_type flags()const + { + return m_pimpl.get() ? m_pimpl->flags() : 0; + } + // + // str: + std::basic_string str()const + { + return m_pimpl.get() ? m_pimpl->str() : std::basic_string(); + } + // + // begin, end, subexpression: + std::pair subexpression(std::size_t n)const + { +#ifdef BOOST_REGEX_STANDALONE + if (!m_pimpl.get()) + throw std::logic_error("Can't access subexpressions in an invalid regex."); +#else + if(!m_pimpl.get()) + boost::throw_exception(std::logic_error("Can't access subexpressions in an invalid regex.")); +#endif + return m_pimpl->subexpression(n); + } + const_iterator begin()const + { + return (m_pimpl.get() ? m_pimpl->begin() : 0); + } + const_iterator end()const + { + return (m_pimpl.get() ? m_pimpl->end() : 0); + } + // + // swap: + void swap(basic_regex& that)noexcept + { + m_pimpl.swap(that.m_pimpl); + } + // + // size: + size_type size()const + { + return (m_pimpl.get() ? m_pimpl->size() : 0); + } + // + // max_size: + size_type max_size()const + { + return UINT_MAX; + } + // + // empty: + bool empty()const + { + return (m_pimpl.get() ? 0 != m_pimpl->status() : true); + } + + size_type mark_count()const + { + return (m_pimpl.get() ? m_pimpl->mark_count() : 0); + } + + int status()const + { + return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty); + } + + int compare(const basic_regex& that) const + { + if(m_pimpl.get() == that.m_pimpl.get()) + return 0; + if(!m_pimpl.get()) + return -1; + if(!that.m_pimpl.get()) + return 1; + if(status() != that.status()) + return status() - that.status(); + if(flags() != that.flags()) + return flags() - that.flags(); + + const char_type* i = m_pimpl->begin(); + const char_type* j = that.m_pimpl->begin(); + while ((i != m_pimpl->end()) && (j != that.m_pimpl->end())) + { + if (*i != *j) + return *i < *j ? -1 : 1; + ++i; + ++j; + } + if (i != m_pimpl->end()) + return *i > static_cast(0) ? 1 : -1; + if (j != that.m_pimpl->end()) + return *j > static_cast(0) ? -1 : 1; + return 0; + } + bool operator==(const basic_regex& e)const + { + return compare(e) == 0; + } + bool operator != (const basic_regex& e)const + { + return compare(e) != 0; + } + bool operator<(const basic_regex& e)const + { + return compare(e) < 0; + } + bool operator>(const basic_regex& e)const + { + return compare(e) > 0; + } + bool operator<=(const basic_regex& e)const + { + return compare(e) <= 0; + } + bool operator>=(const basic_regex& e)const + { + return compare(e) >= 0; + } + + // + // The following are deprecated as public interfaces + // but are available for compatibility with earlier versions. + const charT* expression()const + { + return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0); + } + unsigned int set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) + { + assign(p1, p2, f | regex_constants::no_except); + return status(); + } + unsigned int set_expression(const charT* p, flag_type f = regex_constants::normal) + { + assign(p, f | regex_constants::no_except); + return status(); + } + unsigned int error_code()const + { + return status(); + } + // + // private access methods: + // + const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->get_first_state(); + } + unsigned get_restart_type()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->get_restart_type(); + } + const unsigned char* get_map()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->get_map(); + } + const ::boost::regex_traits_wrapper& get_traits()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->get_traits(); + } + bool can_be_null()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->can_be_null(); + } + const BOOST_REGEX_DETAIL_NS::regex_data& get_data()const + { + BOOST_REGEX_ASSERT(0 != m_pimpl.get()); + return m_pimpl->get_data(); + } + std::shared_ptr get_named_subs()const + { + return m_pimpl; + } + +private: + std::shared_ptr > m_pimpl; +}; + +// +// out of line members; +// these are the only members that mutate the basic_regex object, +// and are designed to provide the strong exception guarantee +// (in the event of a throw, the state of the object remains unchanged). +// + +namespace detail +{ + template + std::shared_ptr > create_implemenation(const charT* p1, const charT* p2, F f, std::shared_ptr > ptraits) + { + std::shared_ptr > result; + if (!ptraits.get()) + { + result = std::shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); + } + else + { + result = std::shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation(ptraits)); + } + result->assign(p1, p2, f); + return result; + } +#ifdef BOOST_REGEX_AS_MODULE + std::shared_ptr::traits_type> > + create_implemenation(const char* p1, const char* p2, basic_regex::flag_type f, std::shared_ptr::traits_type> > ptraits); + std::shared_ptr::traits_type> > + create_implemenation(const wchar_t* p1, const wchar_t* p2, basic_regex::flag_type f, std::shared_ptr::traits_type> > ptraits); +#endif +} + +template +basic_regex& basic_regex::do_assign(const charT* p1, + const charT* p2, + flag_type f) +{ + m_pimpl = detail::create_implemenation(p1, p2, f, m_pimpl.get() ? m_pimpl->m_ptraits : std::shared_ptr >()); + return *this; +} + +template +typename basic_regex::locale_type basic_regex::imbue(locale_type l) +{ + std::shared_ptr > temp(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); + locale_type result = temp->imbue(l); + temp.swap(m_pimpl); + return result; +} + +// +// non-members: +// +BOOST_REGEX_MODULE_EXPORT template +void swap(basic_regex& e1, basic_regex& e2) +{ + e1.swap(e2); +} + +BOOST_REGEX_MODULE_EXPORT template +std::basic_ostream& + operator << (std::basic_ostream& os, + const basic_regex& e) +{ + return (os << e.str()); +} + +// +// class reg_expression: +// this is provided for backwards compatibility only, +// it is deprecated, no not use! +// +#ifdef BOOST_REGEX_NO_FWD +template > +#else +template +#endif +class reg_expression : public basic_regex +{ +public: + typedef typename basic_regex::flag_type flag_type; + typedef typename basic_regex::size_type size_type; + explicit reg_expression(){} + explicit reg_expression(const charT* p, flag_type f = regex_constants::normal) + : basic_regex(p, f){} + reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) + : basic_regex(p1, p2, f){} + reg_expression(const charT* p, size_type len, flag_type f) + : basic_regex(p, len, f){} + reg_expression(const reg_expression& that) + : basic_regex(that) {} + ~reg_expression(){} + reg_expression& operator=(const reg_expression& that) + { + return this->assign(that); + } + + template + explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) + : basic_regex(p, f) + { + } + + template + reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) + : basic_regex(arg_first, arg_last, f) + { + } + + template + reg_expression& operator=(const std::basic_string& p) + { + this->assign(p); + return *this; + } + +}; + +#ifdef BOOST_REGEX_MSVC +#pragma warning (pop) +#endif + +} // namespace boost + +#endif diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v5/basic_regex_creator.hpp similarity index 89% rename from include/boost/regex/v4/basic_regex_creator.hpp rename to include/boost/regex/v5/basic_regex_creator.hpp index 7c0065273..a8a1a1dca 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v5/basic_regex_creator.hpp @@ -17,27 +17,24 @@ * the data members of a regex_data object. */ -#ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP -#define BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP +#ifndef BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP +#define BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(push) -#if BOOST_MSVC < 1910 +#pragma warning(disable:4459) +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#endif + namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ @@ -50,11 +47,12 @@ struct digraph : public std::pair digraph(charT c1, charT c2) : std::pair(c1, c2) {} digraph(const digraph& d) : std::pair(d.first, d.second){} + digraph& operator=(const digraph&) = default; template digraph(const Seq& s) : std::pair() { - BOOST_ASSERT(s.size() <= 2); - BOOST_ASSERT(s.size()); + BOOST_REGEX_ASSERT(s.size() <= 2); + BOOST_REGEX_ASSERT(s.size()); this->first = s[0]; this->second = (s.size() > 1) ? s[1] : 0; } @@ -224,12 +222,14 @@ class basic_regex_creator m_icase = static_cast(f & regbase::icase); } } - re_syntax_base* append_state(syntax_element_type t, std::size_t s = sizeof(re_syntax_base)); - re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s = sizeof(re_syntax_base)); + re_syntax_base* append_state(syntax_element_type t, std::size_t s); + re_syntax_base* append_state(syntax_element_type t) { return append_state(t, sizeof(re_syntax_base)); } + re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s); + re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t) { return insert_state(pos, t, sizeof(re_syntax_base)); } re_literal* append_literal(charT c); re_syntax_base* append_set(const basic_char_set& char_set); - re_syntax_base* append_set(const basic_char_set& char_set, mpl::false_*); - re_syntax_base* append_set(const basic_char_set& char_set, mpl::true_*); + re_syntax_base* append_set(const basic_char_set& char_set, std::integral_constant*); + re_syntax_base* append_set(const basic_char_set& char_set, std::integral_constant*); void finalize(const charT* p1, const charT* p2); protected: regex_data* m_pdata; // pointer to the basic_regex_data struct we are filling in @@ -239,9 +239,8 @@ class basic_regex_creator bool m_icase; // true for case insensitive matches unsigned m_repeater_id; // the state_id of the next repeater bool m_has_backrefs; // true if there are actually any backrefs - unsigned m_backrefs; // bitmask of permitted backrefs - boost::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; - bool m_has_recursions; // set when we have recursive expresisons to fixup + std::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; + bool m_has_recursions; // set when we have recursive expressions to fixup std::vector m_recursion_checks; // notes which recursions we've followed while analysing this expression typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character typename traits::char_class_type m_mask_space; // mask used to determine if a character is a word character @@ -256,7 +255,7 @@ class basic_regex_creator void fixup_recursions(re_syntax_base* state); void create_startmaps(re_syntax_base* state); int calculate_backstep(re_syntax_base* state); - void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask); + void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask, unsigned recursion_count = 0); unsigned get_restart_type(re_syntax_base* state); void set_all_masks(unsigned char* bits, unsigned char); bool is_bad_repeat(re_syntax_base* pt); @@ -267,7 +266,8 @@ class basic_regex_creator template basic_regex_creator::basic_regex_creator(regex_data* data) - : m_pdata(data), m_traits(*(data->m_ptraits)), m_last_state(0), m_repeater_id(0), m_has_backrefs(false), m_backrefs(0), m_has_recursions(false) + : m_pdata(data), m_traits(*(data->m_ptraits)), m_last_state(0), m_icase(false), m_repeater_id(0), + m_has_backrefs(false), m_bad_repeats(0), m_has_recursions(false), m_word_mask(0), m_mask_space(0), m_lower_mask(0), m_upper_mask(0), m_alpha_mask(0) { m_pdata->m_data.clear(); m_pdata->m_status = ::boost::regex_constants::error_ok; @@ -282,11 +282,11 @@ basic_regex_creator::basic_regex_creator(regex_datam_word_mask = m_word_mask; - BOOST_ASSERT(m_word_mask != 0); - BOOST_ASSERT(m_mask_space != 0); - BOOST_ASSERT(m_lower_mask != 0); - BOOST_ASSERT(m_upper_mask != 0); - BOOST_ASSERT(m_alpha_mask != 0); + BOOST_REGEX_ASSERT(m_word_mask != 0); + BOOST_REGEX_ASSERT(m_mask_space != 0); + BOOST_REGEX_ASSERT(m_lower_mask != 0); + BOOST_REGEX_ASSERT(m_upper_mask != 0); + BOOST_REGEX_ASSERT(m_alpha_mask != 0); } template @@ -300,7 +300,7 @@ re_syntax_base* basic_regex_creator::append_state(syntax_element_ // set the offset to the next state in our last one: if(m_last_state) m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state); - // now actually extent our data: + // now actually extend our data: m_last_state = static_cast(m_pdata->m_data.extend(s)); // fill in boilerplate options in the new state: m_last_state->next.i = 0; @@ -356,15 +356,15 @@ template inline re_syntax_base* basic_regex_creator::append_set( const basic_char_set& char_set) { - typedef mpl::bool_< (sizeof(charT) == 1) > truth_type; + typedef std::integral_constant truth_type; return char_set.has_digraphs() - ? append_set(char_set, static_cast(0)) + ? append_set(char_set, static_cast*>(0)) : append_set(char_set, static_cast(0)); } template re_syntax_base* basic_regex_creator::append_set( - const basic_char_set& char_set, mpl::false_*) + const basic_char_set& char_set, std::integral_constant*) { typedef typename traits::string_type string_type; typedef typename basic_char_set::list_iterator item_iterator; @@ -375,9 +375,9 @@ re_syntax_base* basic_regex_creator::append_set( // // fill in the basics: // - result->csingles = static_cast(::boost::BOOST_REGEX_DETAIL_NS::distance(char_set.singles_begin(), char_set.singles_end())); - result->cranges = static_cast(::boost::BOOST_REGEX_DETAIL_NS::distance(char_set.ranges_begin(), char_set.ranges_end())) / 2; - result->cequivalents = static_cast(::boost::BOOST_REGEX_DETAIL_NS::distance(char_set.equivalents_begin(), char_set.equivalents_end())); + result->csingles = static_cast(std::distance(char_set.singles_begin(), char_set.singles_end())); + result->cranges = static_cast(std::distance(char_set.ranges_begin(), char_set.ranges_end())) / 2; + result->cequivalents = static_cast(std::distance(char_set.equivalents_begin(), char_set.equivalents_end())); result->cclasses = char_set.classes(); result->cnclasses = char_set.negated_classes(); if(flags() & regbase::icase) @@ -444,9 +444,9 @@ re_syntax_base* basic_regex_creator::append_set( charT a2[3] = { c2.first, c2.second, charT(0), }; s1 = this->m_traits.transform(a1, (a1[1] ? a1+2 : a1+1)); s2 = this->m_traits.transform(a2, (a2[1] ? a2+2 : a2+1)); - if(s1.size() == 0) + if(s1.empty()) s1 = string_type(1, charT(0)); - if(s2.size() == 0) + if(s2.empty()) s2 = string_type(1, charT(0)); } else @@ -523,7 +523,7 @@ inline bool char_less(signed char t1, signed char t2) template re_syntax_base* basic_regex_creator::append_set( - const basic_char_set& char_set, mpl::true_*) + const basic_char_set& char_set, std::integral_constant*) { typedef typename traits::string_type string_type; typedef typename basic_char_set::list_iterator item_iterator; @@ -574,7 +574,7 @@ re_syntax_base* basic_regex_creator::append_set( // Oops error: return 0; } - BOOST_ASSERT(c3[1] == charT(0)); + BOOST_REGEX_ASSERT(c3[1] == charT(0)); for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { c3[0] = static_cast(i); @@ -591,7 +591,7 @@ re_syntax_base* basic_regex_creator::append_set( return 0; } // everything in range matches: - std::memset(result->_map + static_cast(c1), true, 1 + static_cast(c2) - static_cast(c1)); + std::memset(result->_map + static_cast(c1), true, static_cast(1u) + static_cast(static_cast(c2) - static_cast(c1))); } } // @@ -639,7 +639,7 @@ re_syntax_base* basic_regex_creator::append_set( while(sfirst != slast) { string_type s; - BOOST_ASSERT(static_cast(0) == sfirst->second); + BOOST_REGEX_ASSERT(static_cast(0) == sfirst->second); s = m_traits.transform_primary(&sfirst->first, &sfirst->first+1); if(s.empty()) return 0; // invalid or unsupported equivalence class @@ -730,14 +730,14 @@ void basic_regex_creator::fixup_pointers(re_syntax_base* state) case syntax_element_long_set_rep: // set the state_id of this repeat: static_cast(state)->state_id = m_repeater_id++; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case syntax_element_alt: std::memset(static_cast(state)->_map, 0, sizeof(static_cast(state)->_map)); static_cast(state)->can_be_null = 0; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case syntax_element_jump: static_cast(state)->alt.p = getaddress(static_cast(state)->alt.i, state); - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: if(state->next.i) state->next.p = getaddress(state->next.i, state); @@ -763,7 +763,7 @@ void basic_regex_creator::fixup_recursions(re_syntax_base* state) if(idx < 0) { idx = -idx-1; - if(idx >= 10000) + if(idx >= hash_value_mask) { idx = m_pdata->get_id(idx); if(idx <= 0) @@ -795,7 +795,7 @@ void basic_regex_creator::fixup_recursions(re_syntax_base* state) bool ok = false; re_syntax_base* p = base; std::ptrdiff_t idx = static_cast(state)->alt.i; - if(idx > 10000) + if(idx >= hash_value_mask) { // // There may be more than one capture group with this hash, just do what Perl @@ -941,14 +941,14 @@ void basic_regex_creator::create_startmaps(re_syntax_base* state) e.raise(); } } - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: state = state->next.p; } } // now work through our list, building all the maps as we go: - while(v.size()) + while(!v.empty()) { // Initialize m_recursion_checks if we need it: if(m_has_recursions) @@ -978,7 +978,12 @@ template int basic_regex_creator::calculate_backstep(re_syntax_base* state) { typedef typename traits::char_class_type m_type; + int result = 0; + int last_alternative_result = -1; + + std::vector> stack; + while(state) { switch(state->type) @@ -997,9 +1002,28 @@ int basic_regex_creator::calculate_backstep(re_syntax_base* state } break; case syntax_element_endmark: - if((static_cast(state)->index == -1) + if ((static_cast(state)->index == -1) || (static_cast(state)->index == -2)) - return result; + { + // We've finished the calculation, check against any previous alternatives: + if (last_alternative_result >= 0) + { + if (last_alternative_result != result) + return -1; + } + else + last_alternative_result = result; + + if (stack.size()) + { + // Skip to next alternative and calculate that as well: + std::tie(result, state) = stack.back(); + stack.pop_back(); + continue; + } + else + return result; + } break; case syntax_element_literal: result += static_cast(state)->length; @@ -1026,13 +1050,15 @@ int basic_regex_creator::calculate_backstep(re_syntax_base* state { if(rep->max != rep->min) return -1; + if (static_cast((std::numeric_limits::max)() - result) < rep->min) + return -1; // protection against overflow, we can't calculate a backstep in this case and the expression is probably ill-formed. result += static_cast(rep->min); state = rep->alt.p; continue; } else if(state->type == syntax_element_long_set_rep) { - BOOST_ASSERT(rep->next.p->type == syntax_element_long_set); + BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set); if(static_cast*>(rep->next.p)->singleton == 0) return -1; if(rep->max != rep->min) @@ -1053,11 +1079,13 @@ int basic_regex_creator::calculate_backstep(re_syntax_base* state continue; case syntax_element_alt: { - int r1 = calculate_backstep(state->next.p); - int r2 = calculate_backstep(static_cast(state)->alt.p); - if((r1 < 0) || (r1 != r2)) + // Push the alternative if we haven't pushed too many already: + if(stack.size() > BOOST_REGEX_MAX_BLOCKS) return -1; - return result + r1; + stack.push_back(std::make_tuple(result, static_cast(state)->alt.p)); + // and take the first one: + state = state->next.p; + continue; } default: break; @@ -1067,9 +1095,21 @@ int basic_regex_creator::calculate_backstep(re_syntax_base* state return -1; } +struct recursion_saver +{ + std::vector saved_state; + std::vector* state; + recursion_saver(std::vector* p) : saved_state(*p), state(p) {} + ~recursion_saver() + { + state->swap(saved_state); + } +}; + template -void basic_regex_creator::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask) +void basic_regex_creator::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask, unsigned recursion_count) { + recursion_saver saved_recursions(&m_recursion_checks); int not_last_jump = 1; re_syntax_base* recursion_start = 0; int recursion_sub = 0; @@ -1078,6 +1118,28 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, // track case sensitivity: bool l_icase = m_icase; + if (recursion_count > BOOST_REGEX_MAX_RECURSION_DEPTH) + { + // Oops error: + if (0 == this->m_pdata->m_status) // update the error code if not already set + this->m_pdata->m_status = boost::regex_constants::error_complexity; + // + // clear the expression, we should be empty: + // + this->m_pdata->m_expression = 0; + this->m_pdata->m_expression_len = 0; + // + // and throw if required: + // + if (0 == (this->flags() & regex_constants::no_except)) + { + std::string message = "Expression complexity exceeded."; + boost::regex_error e(message, boost::regex_constants::error_complexity, 0); + e.raise(); + } + return; + } + while(state) { switch(state->type) @@ -1115,12 +1177,12 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, } // now figure out if we can match a NULL string at this point: if(pnull) - create_startmap(state->next.p, 0, pnull, mask); + create_startmap(state->next.p, 0, pnull, mask, ++recursion_count); return; } case syntax_element_recurse: { - BOOST_ASSERT(static_cast(state)->alt.p->type == syntax_element_startmark); + BOOST_REGEX_ASSERT(static_cast(state)->alt.p->type == syntax_element_startmark); recursion_sub = static_cast(static_cast(state)->alt.p)->index; if(m_recursion_checks[recursion_sub] & 1u) { @@ -1152,13 +1214,13 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, } m_recursion_checks[recursion_sub] |= 1u; // can't handle nested recursion here... - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; } case syntax_element_backref: // can be null, and any character can match: if(pnull) *pnull |= mask; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case syntax_element_wild: { // can't be null, any character can match: @@ -1177,7 +1239,7 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, case syntax_element_word_start: { // recurse, then AND with all the word characters: - create_startmap(state->next.p, l_map, pnull, mask); + create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count); if(l_map) { l_map[0] |= mask_init; @@ -1192,7 +1254,7 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, case syntax_element_word_end: { // recurse, then AND with all the word characters: - create_startmap(state->next.p, l_map, pnull, mask); + create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count); if(l_map) { l_map[0] |= mask_init; @@ -1284,11 +1346,11 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, return; } set_bad_repeat(state); - create_startmap(state->next.p, l_map, pnull, mask); + create_startmap(state->next.p, l_map, pnull, mask, ++recursion_count); if((state->type == syntax_element_alt) || (static_cast(state)->min == 0) || (not_last_jump == 0)) - create_startmap(rep->alt.p, l_map, pnull, mask); + create_startmap(rep->alt.p, l_map, pnull, mask, ++recursion_count); } } return; @@ -1347,7 +1409,7 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, if(ok && ((m_recursion_checks[static_cast(state)->index] & 2u) == 0)) { m_recursion_checks[static_cast(state)->index] |= 2u; - create_startmap(p->next.p, l_map, pnull, mask); + create_startmap(p->next.p, l_map, pnull, mask, ++recursion_count); } } state = state->next.p; @@ -1365,7 +1427,7 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, state = state->next.p->next.p; break; } - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: state = state->next.p; } @@ -1438,7 +1500,7 @@ bool basic_regex_creator::is_bad_repeat(re_syntax_base* pt) unsigned state_id = static_cast(pt)->state_id; if(state_id >= sizeof(m_bad_repeats) * CHAR_BIT) return true; // run out of bits, assume we can't traverse this one. - static const boost::uintmax_t one = 1uL; + static const std::uintmax_t one = 1uL; return m_bad_repeats & (one << state_id); } default: @@ -1458,7 +1520,7 @@ void basic_regex_creator::set_bad_repeat(re_syntax_base* pt) case syntax_element_long_set_rep: { unsigned state_id = static_cast(pt)->state_id; - static const boost::uintmax_t one = 1uL; + static const std::uintmax_t one = 1uL; if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT) m_bad_repeats |= (one << state_id); } @@ -1501,7 +1563,7 @@ template void basic_regex_creator::probe_leading_repeat(re_syntax_base* state) { // enumerate our states, and see if we have a leading repeat - // for which failed search restarts can be optimised; + // for which failed search restarts can be optimized; do { switch(state->type) @@ -1512,6 +1574,10 @@ void basic_regex_creator::probe_leading_repeat(re_syntax_base* st state = state->next.p; continue; } +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#pragma warning(disable:6011) +#endif if((static_cast(state)->index == -1) || (static_cast(state)->index == -2)) { @@ -1519,6 +1585,9 @@ void basic_regex_creator::probe_leading_repeat(re_syntax_base* st state = static_cast(state->next.p)->alt.p->next.p; continue; } +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif if(static_cast(state)->index == -3) { // Have to skip the leading jump state: @@ -1544,32 +1613,19 @@ void basic_regex_creator::probe_leading_repeat(re_syntax_base* st case syntax_element_long_set_rep: if(this->m_has_backrefs == 0) static_cast(state)->leading = true; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: return; } }while(state); } - } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) #endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif - diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v5/basic_regex_parser.hpp similarity index 94% rename from include/boost/regex/v4/basic_regex_parser.hpp rename to include/boost/regex/v5/basic_regex_parser.hpp index 6c7065f05..b7408dc42 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v5/basic_regex_parser.hpp @@ -16,44 +16,42 @@ * DESCRIPTION: Declares template class basic_regex_parser. */ -#ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP -#define BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP +#ifndef BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP +#define BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) -#pragma warning(disable:4244) -#if BOOST_MSVC < 1910 +#pragma warning(disable:4244 4459) +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif -inline boost::intmax_t umax(mpl::false_ const&) +inline std::intmax_t umax(std::integral_constant const&) { // Get out clause here, just in case numeric_limits is unspecialized: - return std::numeric_limits::is_specialized ? (std::numeric_limits::max)() : INT_MAX; + return std::numeric_limits::is_specialized ? (std::numeric_limits::max)() : INT_MAX; } -inline boost::intmax_t umax(mpl::true_ const&) +inline std::intmax_t umax(std::integral_constant const&) { return (std::numeric_limits::max)(); } -inline boost::intmax_t umax() +inline std::intmax_t umax() { - return umax(mpl::bool_::digits >= std::numeric_limits::digits>()); + return umax(std::integral_constant::digits >= std::numeric_limits::digits>()); } template @@ -109,10 +107,11 @@ class basic_regex_parser : public basic_regex_creator std::ptrdiff_t m_alt_insert_point; // where to insert the next alternative bool m_has_case_change; // true if somewhere in the current block the case has changed unsigned m_recursion_count; // How many times we've called parse_all. -#if defined(BOOST_MSVC) && defined(_M_IX86) + unsigned m_max_backref; // Largest index of any backref. +#if defined(BOOST_REGEX_MSVC) && defined(_M_IX86) // This is an ugly warning suppression workaround (for warnings *inside* std::vector // that can not otherwise be suppressed)... - BOOST_STATIC_ASSERT(sizeof(long) >= sizeof(void*)); + static_assert(sizeof(long) >= sizeof(void*), "Long isn't long enough!"); std::vector m_alt_jumps; // list of alternative in the current scope. #else std::vector m_alt_jumps; // list of alternative in the current scope. @@ -124,7 +123,8 @@ class basic_regex_parser : public basic_regex_creator template basic_regex_parser::basic_regex_parser(regex_data* data) - : basic_regex_creator(data), m_mark_count(0), m_mark_reset(-1), m_max_mark(0), m_paren_start(0), m_alt_insert_point(0), m_has_case_change(false), m_recursion_count(0) + : basic_regex_creator(data), m_parser_proc(), m_base(0), m_end(0), m_position(0), + m_mark_count(0), m_mark_reset(-1), m_max_mark(0), m_paren_start(0), m_alt_insert_point(0), m_has_case_change(false), m_recursion_count(0), m_max_backref(0) { } @@ -168,7 +168,7 @@ void basic_regex_parser::parse(const charT* p1, const charT* p2, m_parser_proc = &basic_regex_parser::parse_literal; break; default: - // Ooops, someone has managed to set more than one of the main option flags, + // Oops, someone has managed to set more than one of the main option flags, // so this must be an error: fail(regex_constants::error_unknown, 0, "An invalid combination of regular expression syntax flags was used."); return; @@ -186,14 +186,21 @@ void basic_regex_parser::parse(const charT* p1, const charT* p2, // have had an unexpected ')' : if(!result) { - fail(regex_constants::error_paren, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_position), "Found a closing ) with no corresponding opening parenthesis."); + fail(regex_constants::error_paren, std::distance(m_base, m_position), "Found a closing ) with no corresponding opening parenthesis."); return; } // if an error has been set then give up now: if(this->m_pdata->m_status) return; // fill in our sub-expression count: - this->m_pdata->m_mark_count = 1 + m_mark_count; + this->m_pdata->m_mark_count = 1u + (std::size_t)m_mark_count; + // + // Check we don't have backreferences to sub-expressions which don't exist: + // + if (m_max_backref > m_mark_count) + { + fail(regex_constants::error_backref, std::distance(m_base, m_position), "Found a backreference to a non-existant sub-expression."); + } this->finalize(p1, p2); } @@ -212,7 +219,6 @@ void basic_regex_parser::fail(regex_constants::error_type error_c this->m_pdata->m_status = error_code; m_position = m_end; // don't bother parsing anything else -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS // // Augment error message with the regular expression text: // @@ -233,7 +239,6 @@ void basic_regex_parser::fail(regex_constants::error_type error_c } message += "'."; } -#endif #ifndef BOOST_NO_EXCEPTIONS if(0 == (this->flags() & regex_constants::no_except)) @@ -263,7 +268,7 @@ bool basic_regex_parser::parse_all() return result; } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4702) #endif @@ -321,6 +326,12 @@ bool basic_regex_parser::parse_basic() return true; } +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable:26812) +#endif +#endif template bool basic_regex_parser::parse_extended() { @@ -401,14 +412,17 @@ bool basic_regex_parser::parse_extended() while((m_position != m_end) && !is_separator(*m_position++)){} return true; } - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: result = parse_literal(); break; } return result; } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif @@ -458,13 +472,8 @@ bool basic_regex_parser::parse_open_paren() if(0 == (this->flags() & regbase::nosubs)) { markid = ++m_mark_count; -#ifndef BOOST_NO_STD_DISTANCE if(this->flags() & regbase::save_subexpression_location) this->m_pdata->m_subs.push_back(std::pair(std::distance(m_base, m_position) - 1, 0)); -#else - if(this->flags() & regbase::save_subexpression_location) - this->m_pdata->m_subs.push_back(std::pair((m_position - m_base) - 1, 0)); -#endif } re_brace* pb = static_cast(this->append_state(syntax_element_startmark, sizeof(re_brace))); pb->index = markid; @@ -518,18 +527,13 @@ bool basic_regex_parser::parse_open_paren() // if(m_position == m_end) { - this->fail(regex_constants::error_paren, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_end)); + this->fail(regex_constants::error_paren, std::distance(m_base, m_end)); return false; } if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) return false; -#ifndef BOOST_NO_STD_DISTANCE if(markid && (this->flags() & regbase::save_subexpression_location)) this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position); -#else - if(markid && (this->flags() & regbase::save_subexpression_location)) - this->m_pdata->m_subs.at(markid - 1).second = (m_position - m_base); -#endif ++m_position; // // append closing parenthesis state: @@ -542,11 +546,6 @@ bool basic_regex_parser::parse_open_paren() // restore the alternate insertion point: // this->m_alt_insert_point = last_alt_point; - // - // allow backrefs to this mark: - // - if((markid > 0) && (markid < sizeof(unsigned) * CHAR_BIT)) - this->m_backrefs |= 1u << (markid - 1); return true; } @@ -662,7 +661,7 @@ bool basic_regex_parser::parse_basic_escape() { case 'w': negate = false; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case 'W': { basic_char_set char_set; @@ -679,7 +678,7 @@ bool basic_regex_parser::parse_basic_escape() } case 's': negate = false; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case 'S': return add_emacs_code(negate); case 'c': @@ -711,7 +710,7 @@ bool basic_regex_parser::parse_extended_escape() { case regex_constants::escape_type_not_class: negate = true; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case regex_constants::escape_type_class: { escape_type_class_jump: @@ -781,7 +780,7 @@ bool basic_regex_parser::parse_extended_escape() break; case regex_constants::escape_type_not_property: negate = true; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case regex_constants::escape_type_property: { ++m_position; @@ -859,7 +858,7 @@ bool basic_regex_parser::parse_extended_escape() { bool have_brace = false; bool negative = false; - static const char* incomplete_message = "Incomplete \\g escape found."; + static const char incomplete_message[] = "Incomplete \\g escape found."; if(++m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, incomplete_message); @@ -898,7 +897,12 @@ bool basic_regex_parser::parse_extended_escape() return false; } const charT* pc = m_position; - boost::intmax_t i = this->m_traits.toi(pc, m_end, 10); + std::intmax_t i = this->m_traits.toi(pc, m_end, 10); + if(i < 0 && !syn_end) + { + fail(regex_constants::error_backref, m_position - m_base); + return false; + } if((i < 0) && syn_end) { // Check for a named capture, get the leftmost one if there is more than one: @@ -911,13 +915,15 @@ bool basic_regex_parser::parse_extended_escape() pc = m_position; } if(negative) - i = 1 + m_mark_count - i; - if(((i > 0) && (i < std::numeric_limits::digits) && (i - 1 < static_cast(sizeof(unsigned) * CHAR_BIT)) && (this->m_backrefs & (1u << (i-1)))) || ((i > 10000) && (this->m_pdata->get_id(i) > 0) && (this->m_pdata->get_id(i)-1 < static_cast(sizeof(unsigned) * CHAR_BIT)) && (this->m_backrefs & (1u << (this->m_pdata->get_id(i)-1))))) + i = 1 + (static_cast(m_mark_count) - i); + if(((i < hash_value_mask) && (i > 0)) || ((i >= hash_value_mask) && (this->m_pdata->get_id((int)i) > 0))) { m_position = pc; re_brace* pb = static_cast(this->append_state(syntax_element_backref, sizeof(re_brace))); - pb->index = i; + pb->index = (int)i; pb->icase = this->flags() & regbase::icase; + if ((i > m_max_backref) && (i < hash_value_mask)) + m_max_backref = i; } else { @@ -940,7 +946,7 @@ bool basic_regex_parser::parse_extended_escape() case regex_constants::escape_type_control_v: if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) goto escape_type_class_jump; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: this->append_literal(unescape_character()); break; @@ -968,7 +974,7 @@ template bool basic_regex_parser::parse_repeat(std::size_t low, std::size_t high) { bool greedy = true; - bool pocessive = false; + bool possessive = false; std::size_t insert_point; // // when we get to here we may have a non-greedy ? mark still to come: @@ -992,18 +998,18 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ greedy = false; ++m_position; } - // for perl regexes only check for pocessive ++ repeats. + // for perl regexes only check for possessive ++ repeats. if((m_position != m_end) && (0 == (this->flags() & regbase::main_option_type)) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_plus)) - { - pocessive = true; + { + possessive = true; ++m_position; } } if(0 == this->m_last_state) { - fail(regex_constants::error_badrepeat, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_position), "Nothing to repeat."); + fail(regex_constants::error_badrepeat, std::distance(m_base, m_position), "Nothing to repeat."); return false; } if(this->m_last_state->type == syntax_element_endmark) @@ -1042,6 +1048,7 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ case syntax_element_jump: case syntax_element_startmark: case syntax_element_backstep: + case syntax_element_toggle_case: // can't legally repeat any of the above: fail(regex_constants::error_badrepeat, m_position - m_base); return false; @@ -1069,10 +1076,10 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ rep = static_cast(this->getaddress(rep_off)); rep->alt.i = this->m_pdata->m_data.size() - rep_off; // - // If the repeat is pocessive then bracket the repeat with a (?>...) + // If the repeat is possessive then bracket the repeat with a (?>...) // independent sub-expression construct: // - if(pocessive) + if(possessive) { if(m_position != m_end) { @@ -1111,6 +1118,16 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ } else contin = false; + break; + case regex_constants::syntax_hash: + if (this->flags() & regex_constants::mod_x) { + while((m_position != m_end) && !is_separator(*m_position++)){} + contin = true; + break; + } + BOOST_REGEX_FALLTHROUGH; + default: + contin = false; } } else @@ -1133,12 +1150,12 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ template bool basic_regex_parser::parse_repeat_range(bool isbasic) { - static const char* incomplete_message = "Missing } in quantified repetition."; + static const char incomplete_message[] = "Missing } in quantified repetition."; // // parse a repeat-range: // std::size_t min, max; - boost::intmax_t v; + std::intmax_t v; // skip whitespace: while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; @@ -1339,7 +1356,7 @@ bool basic_regex_parser::parse_alt() template bool basic_regex_parser::parse_set() { - static const char* incomplete_message = "Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; + static const char incomplete_message[] = "Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; ++m_position; if(m_position == m_end) { @@ -1431,7 +1448,7 @@ bool basic_regex_parser::parse_set() template bool basic_regex_parser::parse_inner_set(basic_char_set& char_set) { - static const char* incomplete_message = "Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; + static const char incomplete_message[] = "Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; // // we have either a character class [:name:] // a collating element [.name.] @@ -1529,7 +1546,7 @@ bool basic_regex_parser::parse_inner_set(basic_char_set::parse_inner_set(basic_char_setm_traits.lookup_collatename(name_first, name_last); - if((0 == m.size()) || (m.size() > 2)) + if(m.empty() || (m.size() > 2)) { fail(regex_constants::error_collate, name_first - m_base); return false; @@ -1728,25 +1745,25 @@ digraph basic_regex_parser::get_next_set_literal(basic_cha // does a value fit in the specified charT type? // template -bool valid_value(charT, boost::intmax_t v, const mpl::true_&) +bool valid_value(charT, std::intmax_t v, const std::integral_constant&) { return (v >> (sizeof(charT) * CHAR_BIT)) == 0; } template -bool valid_value(charT, boost::intmax_t, const mpl::false_&) +bool valid_value(charT, std::intmax_t, const std::integral_constant&) { return true; // v will alsways fit in a charT } template -bool valid_value(charT c, boost::intmax_t v) +bool valid_value(charT c, std::intmax_t v) { - return valid_value(c, v, mpl::bool_<(sizeof(charT) < sizeof(boost::intmax_t))>()); + return valid_value(c, v, std::integral_constant()); } template charT basic_regex_parser::unescape_character() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif @@ -1816,10 +1833,10 @@ charT basic_regex_parser::unescape_character() fail(regex_constants::error_escape, m_position - m_base, "Missing } in hexadecimal escape sequence."); return result; } - boost::intmax_t i = this->m_traits.toi(m_position, m_end, 16); + std::intmax_t i = this->m_traits.toi(m_position, m_end, 16); if((m_position == m_end) || (i < 0) - || ((std::numeric_limits::is_specialized) && (i > (boost::intmax_t)(std::numeric_limits::max)())) + || ((std::numeric_limits::is_specialized) && (i > (std::intmax_t)(std::numeric_limits::max)())) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace)) { // Rewind to start of escape: @@ -1834,7 +1851,7 @@ charT basic_regex_parser::unescape_character() else { std::ptrdiff_t len = (std::min)(static_cast(2), static_cast(m_end - m_position)); - boost::intmax_t i = this->m_traits.toi(m_position, m_position + len, 16); + std::intmax_t i = this->m_traits.toi(m_position, m_position + len, 16); if((i < 0) || !valid_value(charT(0), i)) { @@ -1851,9 +1868,9 @@ charT basic_regex_parser::unescape_character() { // an octal escape sequence, the first character must be a zero // followed by up to 3 octal digits: - std::ptrdiff_t len = (std::min)(::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end), static_cast(4)); + std::ptrdiff_t len = (std::min)(std::distance(m_position, m_end), static_cast(4)); const charT* bp = m_position; - boost::intmax_t val = this->m_traits.toi(bp, bp + 1, 8); + std::intmax_t val = this->m_traits.toi(bp, bp + 1, 8); if(val != 0) { // Rewind to start of escape: @@ -1864,7 +1881,7 @@ charT basic_regex_parser::unescape_character() return result; } val = this->m_traits.toi(m_position, m_position + len, 8); - if((val < 0) || (val > (boost::intmax_t)(std::numeric_limits::max)())) + if((val < 0) || (val > (std::intmax_t)(std::numeric_limits::max)())) { // Rewind to start of escape: --m_position; @@ -1927,7 +1944,7 @@ charT basic_regex_parser::unescape_character() } ++m_position; return result; -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -1935,21 +1952,23 @@ charT basic_regex_parser::unescape_character() template bool basic_regex_parser::parse_backref() { - BOOST_ASSERT(m_position != m_end); + BOOST_REGEX_ASSERT(m_position != m_end); const charT* pc = m_position; - boost::intmax_t i = this->m_traits.toi(pc, pc + 1, 10); + std::intmax_t i = this->m_traits.toi(pc, pc + 1, 10); if((i == 0) || (((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && (this->flags() & regbase::no_bk_refs))) { // not a backref at all but an octal escape sequence: charT c = unescape_character(); this->append_literal(c); } - else if((i > 0) && (this->m_backrefs & (1u << (i-1)))) + else if((i > 0)) { m_position = pc; re_brace* pb = static_cast(this->append_state(syntax_element_backref, sizeof(re_brace))); - pb->index = i; + pb->index = (int)i; pb->icase = this->flags() & regbase::icase; + if(i > m_max_backref) + m_max_backref = i; } else { @@ -1965,7 +1984,7 @@ bool basic_regex_parser::parse_backref() template bool basic_regex_parser::parse_QE() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif @@ -2009,7 +2028,7 @@ bool basic_regex_parser::parse_QE() ++start; } return true; -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -2059,7 +2078,7 @@ bool basic_regex_parser::parse_perl_extension() int max_mark = m_max_mark; m_mark_reset = -1; m_max_mark = m_mark_count; - boost::intmax_t v; + std::intmax_t v; // // select the actual extension used: // @@ -2067,7 +2086,7 @@ bool basic_regex_parser::parse_perl_extension() { case regex_constants::syntax_or: m_mark_reset = m_mark_count; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; case regex_constants::syntax_colon: // // a non-capturing mark: @@ -2092,7 +2111,7 @@ bool basic_regex_parser::parse_perl_extension() insert_recursion: pb->index = markid = 0; re_recurse* pr = static_cast(this->append_state(syntax_element_recurse, sizeof(re_recurse))); - pr->alt.i = v; + pr->alt.i = (std::ptrdiff_t)v; pr->state_id = 0; static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) @@ -2113,7 +2132,7 @@ bool basic_regex_parser::parse_perl_extension() fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression."); return false; } - if ((std::numeric_limits::max)() - m_mark_count < v) + if ((std::numeric_limits::max)() - m_mark_count < v) { fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression."); return false; @@ -2132,7 +2151,7 @@ bool basic_regex_parser::parse_perl_extension() // Oops not a relative recursion at all, but a (?-imsx) group: goto option_group_jump; } - v = m_mark_count + 1 - v; + v = static_cast(m_mark_count) + 1 - v; if(v <= 0) { // Rewind to start of (? sequence: @@ -2247,7 +2266,7 @@ bool basic_regex_parser::parse_perl_extension() v = -this->m_traits.toi(m_position, m_end, 10); } re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); - br->index = v < 0 ? (v - 1) : 0; + br->index = v < 0 ? (int)(v - 1) : 0; if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: @@ -2280,7 +2299,7 @@ bool basic_regex_parser::parse_perl_extension() } v = static_cast(hash_value_from_capture_name(base, m_position)); re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); - br->index = v; + br->index = (int)v; if(((*m_position != charT('>')) && (*m_position != charT('\''))) || (++m_position == m_end)) { // Rewind to start of (? sequence: @@ -2341,7 +2360,7 @@ bool basic_regex_parser::parse_perl_extension() else if(v > 0) { re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); - br->index = v; + br->index = (int)v; if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: @@ -2429,13 +2448,8 @@ bool basic_regex_parser::parse_perl_extension() if(0 == (this->flags() & regbase::nosubs)) { markid = ++m_mark_count; - #ifndef BOOST_NO_STD_DISTANCE if(this->flags() & regbase::save_subexpression_location) this->m_pdata->m_subs.push_back(std::pair(std::distance(m_base, m_position) - 2, 0)); - #else - if(this->flags() & regbase::save_subexpression_location) - this->m_pdata->m_subs.push_back(std::pair((m_position - m_base) - 2, 0)); - #endif } pb->index = markid; const charT* base = ++m_position; @@ -2593,10 +2607,10 @@ bool basic_regex_parser::parse_perl_extension() // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; - this->fail(regex_constants::error_paren, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_end)); + this->fail(regex_constants::error_paren, std::distance(m_base, m_end)); return false; } - BOOST_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark); + BOOST_REGEX_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark); ++m_position; // // restore the flags: @@ -2708,18 +2722,8 @@ bool basic_regex_parser::parse_perl_extension() if(markid > 0) { -#ifndef BOOST_NO_STD_DISTANCE if(this->flags() & regbase::save_subexpression_location) - this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position) - 1; -#else - if(this->flags() & regbase::save_subexpression_location) - this->m_pdata->m_subs.at(markid - 1).second = (m_position - m_base) - 1; -#endif - // - // allow backrefs to this mark: - // - if(markid < (int)(sizeof(unsigned) * CHAR_BIT)) - this->m_backrefs |= 1u << (markid - 1); + this->m_pdata->m_subs.at((std::size_t)markid - 1).second = std::distance(m_base, m_position) - 1; } return true; } @@ -2747,6 +2751,12 @@ bool basic_regex_parser::match_verb(const char* verb) return true; } +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable:26812) +#endif +#endif template bool basic_regex_parser::parse_perl_verb() { @@ -2915,6 +2925,9 @@ bool basic_regex_parser::parse_perl_verb() fail(regex_constants::error_perl_extension, m_position - m_base); return false; } +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif template bool basic_regex_parser::add_emacs_code(bool negate) @@ -3091,7 +3104,7 @@ bool basic_regex_parser::unwind_alts(std::ptrdiff_t last_paren_st // alternative then that's an error: // if((this->m_alt_insert_point == static_cast(this->m_pdata->m_data.size())) - && m_alt_jumps.size() && (m_alt_jumps.back() > last_paren_start) + && (!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start) && !( ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) @@ -3106,7 +3119,7 @@ bool basic_regex_parser::unwind_alts(std::ptrdiff_t last_paren_st // // Fix up our alternatives: // - while(m_alt_jumps.size() && (m_alt_jumps.back() > last_paren_start)) + while((!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start)) { // // fix up the jump to point to the end of the states @@ -3116,28 +3129,23 @@ bool basic_regex_parser::unwind_alts(std::ptrdiff_t last_paren_st m_alt_jumps.pop_back(); this->m_pdata->m_data.align(); re_jump* jmp = static_cast(this->getaddress(jump_offset)); - BOOST_ASSERT(jmp->type == syntax_element_jump); + if (jmp->type != syntax_element_jump) + { + // Something really bad happened, this used to be an assert, + // but we'll make it an error just in case we should ever get here. + fail(regex_constants::error_unknown, this->m_position - this->m_base, "Internal logic failed while compiling the expression, probably you added a repeat to something non-repeatable!"); + return false; + } jmp->alt.i = this->m_pdata->m_data.size() - jump_offset; } return true; } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif diff --git a/include/boost/regex/v5/c_regex_traits.hpp b/include/boost/regex/v5/c_regex_traits.hpp new file mode 100644 index 000000000..3dbf4d896 --- /dev/null +++ b/include/boost/regex/v5/c_regex_traits.hpp @@ -0,0 +1,481 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE c_regex_traits.hpp + * VERSION see + * DESCRIPTION: Declares regular expression traits class that wraps the global C locale. + */ + +#ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED +#define BOOST_C_REGEX_TRAITS_HPP_INCLUDED + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#endif + +#include +#include +#include +#include + +namespace boost{ + + namespace BOOST_REGEX_DETAIL_NS { + + enum + { + char_class_space = 1 << 0, + char_class_print = 1 << 1, + char_class_cntrl = 1 << 2, + char_class_upper = 1 << 3, + char_class_lower = 1 << 4, + char_class_alpha = 1 << 5, + char_class_digit = 1 << 6, + char_class_punct = 1 << 7, + char_class_xdigit = 1 << 8, + char_class_alnum = char_class_alpha | char_class_digit, + char_class_graph = char_class_alnum | char_class_punct, + char_class_blank = 1 << 9, + char_class_word = 1 << 10, + char_class_unicode = 1 << 11, + char_class_horizontal = 1 << 12, + char_class_vertical = 1 << 13 + }; + + } + +BOOST_REGEX_MODULE_EXPORT template +struct c_regex_traits; + +BOOST_REGEX_MODULE_EXPORT template<> +struct c_regex_traits +{ + c_regex_traits(){} + typedef char char_type; + typedef std::size_t size_type; + typedef std::string string_type; + struct locale_type{}; + typedef std::uint32_t char_class_type; + + static size_type length(const char_type* p) + { + return (std::strlen)(p); + } + + char translate(char c) const + { + return c; + } + char translate_nocase(char c) const + { + return static_cast((std::tolower)(static_cast(c))); + } + + static string_type transform(const char* p1, const char* p2); + static string_type transform_primary(const char* p1, const char* p2); + + static char_class_type lookup_classname(const char* p1, const char* p2); + static string_type lookup_collatename(const char* p1, const char* p2); + + static bool isctype(char, char_class_type); + static int value(char, int); + + locale_type imbue(locale_type l) + { return l; } + locale_type getloc()const + { return locale_type(); } + +private: + // this type is not copyable: + c_regex_traits(const c_regex_traits&); + c_regex_traits& operator=(const c_regex_traits&); +}; + +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT template<> +struct c_regex_traits +{ + c_regex_traits(){} + typedef wchar_t char_type; + typedef std::size_t size_type; + typedef std::wstring string_type; + struct locale_type{}; + typedef std::uint32_t char_class_type; + + static size_type length(const char_type* p) + { + return (std::wcslen)(p); + } + + wchar_t translate(wchar_t c) const + { + return c; + } + wchar_t translate_nocase(wchar_t c) const + { + return (std::towlower)(c); + } + + static string_type transform(const wchar_t* p1, const wchar_t* p2); + static string_type transform_primary(const wchar_t* p1, const wchar_t* p2); + + static char_class_type lookup_classname(const wchar_t* p1, const wchar_t* p2); + static string_type lookup_collatename(const wchar_t* p1, const wchar_t* p2); + + static bool isctype(wchar_t, char_class_type); + static int value(wchar_t, int); + + locale_type imbue(locale_type l) + { return l; } + locale_type getloc()const + { return locale_type(); } + +private: + // this type is not copyable: + c_regex_traits(const c_regex_traits&); + c_regex_traits& operator=(const c_regex_traits&); +}; + +#endif // BOOST_NO_WREGEX + +inline c_regex_traits::string_type c_regex_traits::transform(const char* p1, const char* p2) +{ + std::string result(10, ' '); + std::size_t s = result.size(); + std::size_t r; + std::string src(p1, p2); + while (s < (r = std::strxfrm(&*result.begin(), src.c_str(), s))) + { +#if defined(_CPPLIB_VER) + // + // A bug in VC11 and 12 causes the program to hang if we pass a null-string + // to std::strxfrm, but only for certain locales :-( + // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). + // + if (r == INT_MAX) + { + result.erase(); + result.insert(result.begin(), static_cast(0)); + return result; + } +#endif + result.append(r - s + 3, ' '); + s = result.size(); + } + result.erase(r); + return result; +} + +inline c_regex_traits::string_type c_regex_traits::transform_primary(const char* p1, const char* p2) +{ + static char s_delim; + static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); + std::string result; + // + // What we do here depends upon the format of the sort key returned by + // sort key returned by this->transform: + // + switch (s_collate_type) + { + case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: + case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: + // the best we can do is translate to lower case, then get a regular sort key: + { + result.assign(p1, p2); + for (std::string::size_type i = 0; i < result.size(); ++i) + result[i] = static_cast((std::tolower)(static_cast(result[i]))); + result = transform(&*result.begin(), &*result.begin() + result.size()); + break; + } + case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: + { + // get a regular sort key, and then truncate it: + result = transform(p1, p2); + result.erase(s_delim); + break; + } + case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: + // get a regular sort key, and then truncate everything after the delim: + result = transform(p1, p2); + if ((!result.empty()) && (result[0] == s_delim)) + break; + std::size_t i; + for (i = 0; i < result.size(); ++i) + { + if (result[i] == s_delim) + break; + } + result.erase(i); + break; + } + if (result.empty()) + result = std::string(1, char(0)); + return result; +} + +inline c_regex_traits::char_class_type c_regex_traits::lookup_classname(const char* p1, const char* p2) +{ + using namespace BOOST_REGEX_DETAIL_NS; + static const char_class_type masks[] = + { + 0, + char_class_alnum, + char_class_alpha, + char_class_blank, + char_class_cntrl, + char_class_digit, + char_class_digit, + char_class_graph, + char_class_horizontal, + char_class_lower, + char_class_lower, + char_class_print, + char_class_punct, + char_class_space, + char_class_space, + char_class_upper, + char_class_unicode, + char_class_upper, + char_class_vertical, + char_class_alnum | char_class_word, + char_class_alnum | char_class_word, + char_class_xdigit, + }; + + int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); + if (idx < 0) + { + std::string s(p1, p2); + for (std::string::size_type i = 0; i < s.size(); ++i) + s[i] = static_cast((std::tolower)(static_cast(s[i]))); + idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); + } + BOOST_REGEX_ASSERT(std::size_t(idx) + 1u < sizeof(masks) / sizeof(masks[0])); + return masks[idx + 1]; +} + +inline bool c_regex_traits::isctype(char c, char_class_type mask) +{ + using namespace BOOST_REGEX_DETAIL_NS; + return + ((mask & char_class_space) && (std::isspace)(static_cast(c))) + || ((mask & char_class_print) && (std::isprint)(static_cast(c))) + || ((mask & char_class_cntrl) && (std::iscntrl)(static_cast(c))) + || ((mask & char_class_upper) && (std::isupper)(static_cast(c))) + || ((mask & char_class_lower) && (std::islower)(static_cast(c))) + || ((mask & char_class_alpha) && (std::isalpha)(static_cast(c))) + || ((mask & char_class_digit) && (std::isdigit)(static_cast(c))) + || ((mask & char_class_punct) && (std::ispunct)(static_cast(c))) + || ((mask & char_class_xdigit) && (std::isxdigit)(static_cast(c))) + || ((mask & char_class_blank) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) + || ((mask & char_class_word) && (c == '_')) + || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) + || ((mask & char_class_horizontal) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != '\v')); +} + +inline c_regex_traits::string_type c_regex_traits::lookup_collatename(const char* p1, const char* p2) +{ + std::string s(p1, p2); + s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); + if (s.empty() && (p2 - p1 == 1)) + s.append(1, *p1); + return s; +} + +inline int c_regex_traits::value(char c, int radix) +{ + char b[2] = { c, '\0', }; + char* ep; + int result = std::strtol(b, &ep, radix); + if (ep == b) + return -1; + return result; +} + +#ifndef BOOST_NO_WREGEX + +inline c_regex_traits::string_type c_regex_traits::transform(const wchar_t* p1, const wchar_t* p2) +{ + std::size_t r; + std::size_t s = 10; + std::wstring src(p1, p2); + std::wstring result(s, L' '); + while (s < (r = std::wcsxfrm(&*result.begin(), src.c_str(), s))) + { +#if defined(_CPPLIB_VER) + // + // A bug in VC11 and 12 causes the program to hang if we pass a null-string + // to std::strxfrm, but only for certain locales :-( + // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). + // + if (r == INT_MAX) + { + result.erase(); + result.insert(result.begin(), static_cast(0)); + return result; + } +#endif + result.append(r - s + 3, L' '); + s = result.size(); + } + result.erase(r); + return result; +} + +inline c_regex_traits::string_type c_regex_traits::transform_primary(const wchar_t* p1, const wchar_t* p2) +{ + static wchar_t s_delim; + static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); + std::wstring result; + // + // What we do here depends upon the format of the sort key returned by + // sort key returned by this->transform: + // + switch (s_collate_type) + { + case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: + case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: + // the best we can do is translate to lower case, then get a regular sort key: + { + result.assign(p1, p2); + for (std::wstring::size_type i = 0; i < result.size(); ++i) + result[i] = (std::towlower)(result[i]); + result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); + break; + } + case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: + { + // get a regular sort key, and then truncate it: + result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); + result.erase(s_delim); + break; + } + case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: + // get a regular sort key, and then truncate everything after the delim: + result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); + if ((!result.empty()) && (result[0] == s_delim)) + break; + std::size_t i; + for (i = 0; i < result.size(); ++i) + { + if (result[i] == s_delim) + break; + } + result.erase(i); + break; + } + if (result.empty()) + result = std::wstring(1, char(0)); + return result; +} + +inline c_regex_traits::char_class_type c_regex_traits::lookup_classname(const wchar_t* p1, const wchar_t* p2) +{ + using namespace BOOST_REGEX_DETAIL_NS; + static const char_class_type masks[] = + { + 0, + char_class_alnum, + char_class_alpha, + char_class_blank, + char_class_cntrl, + char_class_digit, + char_class_digit, + char_class_graph, + char_class_horizontal, + char_class_lower, + char_class_lower, + char_class_print, + char_class_punct, + char_class_space, + char_class_space, + char_class_upper, + char_class_unicode, + char_class_upper, + char_class_vertical, + char_class_alnum | char_class_word, + char_class_alnum | char_class_word, + char_class_xdigit, + }; + + int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); + if (idx < 0) + { + std::wstring s(p1, p2); + for (std::wstring::size_type i = 0; i < s.size(); ++i) + s[i] = (std::towlower)(s[i]); + idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); + } + BOOST_REGEX_ASSERT(idx + 1 < static_cast(sizeof(masks) / sizeof(masks[0]))); + return masks[idx + 1]; +} + +inline bool c_regex_traits::isctype(wchar_t c, char_class_type mask) +{ + using namespace BOOST_REGEX_DETAIL_NS; + return + ((mask & char_class_space) && (std::iswspace)(c)) + || ((mask & char_class_print) && (std::iswprint)(c)) + || ((mask & char_class_cntrl) && (std::iswcntrl)(c)) + || ((mask & char_class_upper) && (std::iswupper)(c)) + || ((mask & char_class_lower) && (std::iswlower)(c)) + || ((mask & char_class_alpha) && (std::iswalpha)(c)) + || ((mask & char_class_digit) && (std::iswdigit)(c)) + || ((mask & char_class_punct) && (std::iswpunct)(c)) + || ((mask & char_class_xdigit) && (std::iswxdigit)(c)) + || ((mask & char_class_blank) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) + || ((mask & char_class_word) && (c == '_')) + || ((mask & char_class_unicode) && (c & ~static_cast(0xff))) + || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == L'\v'))) + || ((mask & char_class_horizontal) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != L'\v')); +} + +inline c_regex_traits::string_type c_regex_traits::lookup_collatename(const wchar_t* p1, const wchar_t* p2) +{ + std::string name; + // Usual msvc warning suppression does not work here with std::string template constructor.... use a workaround instead: + for (const wchar_t* pos = p1; pos != p2; ++pos) + name.push_back((char)*pos); + name = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(name); + if (!name.empty()) + return string_type(name.begin(), name.end()); + if (p2 - p1 == 1) + return string_type(1, *p1); + return string_type(); +} + +inline int c_regex_traits::value(wchar_t c, int radix) +{ +#ifdef BOOST_BORLANDC + // workaround for broken wcstol: + if ((std::iswxdigit)(c) == 0) + return -1; +#endif + wchar_t b[2] = { c, '\0', }; + wchar_t* ep; + int result = std::wcstol(b, &ep, radix); + if (ep == b) + return -1; + return result; +} + +#endif + +} + +#endif + + + diff --git a/include/boost/regex/v5/char_regex_traits.hpp b/include/boost/regex/v5/char_regex_traits.hpp new file mode 100644 index 000000000..41fe420ba --- /dev/null +++ b/include/boost/regex/v5/char_regex_traits.hpp @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE char_regex_traits.cpp + * VERSION see + * DESCRIPTION: Declares deprecated traits classes char_regex_traits<>. + */ + + +#ifndef BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP +#define BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP + +#include + +namespace boost{ + +namespace deprecated{ +// +// class char_regex_traits_i +// provides case insensitive traits classes (deprecated): +template +class char_regex_traits_i : public regex_traits {}; + +template<> +class char_regex_traits_i : public regex_traits +{ +public: + typedef char char_type; + typedef unsigned char uchar_type; + typedef unsigned int size_type; + typedef regex_traits base_type; + +}; + +#ifndef BOOST_NO_WREGEX +template<> +class char_regex_traits_i : public regex_traits +{ +public: + typedef wchar_t char_type; + typedef unsigned short uchar_type; + typedef unsigned int size_type; + typedef regex_traits base_type; + +}; +#endif +} // namespace deprecated +} // namespace boost + +#endif // include + diff --git a/include/boost/regex/v5/cpp_regex_traits.hpp b/include/boost/regex/v5/cpp_regex_traits.hpp new file mode 100644 index 000000000..a79f6628a --- /dev/null +++ b/include/boost/regex/v5/cpp_regex_traits.hpp @@ -0,0 +1,1043 @@ +/* + * + * Copyright (c) 2004 John Maddock + * Copyright 2011 Garmin Ltd. or its subsidiaries + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE cpp_regex_traits.hpp + * VERSION see + * DESCRIPTION: Declares regular expression traits class cpp_regex_traits. + */ + +#ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED +#define BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED + +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#include +#include +#ifdef BOOST_HAS_THREADS +#include +#endif +#endif + +#include +#include + +#include +#include + + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable:4786 4251) +#endif + +namespace boost{ + +// +// forward declaration is needed by some compilers: +// +BOOST_REGEX_MODULE_EXPORT template +class cpp_regex_traits; + +namespace BOOST_REGEX_DETAIL_NS{ + +// +// class parser_buf: +// acts as a stream buffer which wraps around a pair of pointers: +// +template > +class parser_buf : public ::std::basic_streambuf +{ + typedef ::std::basic_streambuf base_type; + typedef typename base_type::int_type int_type; + typedef typename base_type::char_type char_type; + typedef typename base_type::pos_type pos_type; + typedef ::std::streamsize streamsize; + typedef typename base_type::off_type off_type; +public: + parser_buf() : base_type() { setbuf(0, 0); } + const charT* getnext() { return this->gptr(); } +protected: + std::basic_streambuf* setbuf(char_type* s, streamsize n) override; + typename parser_buf::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which) override; + typename parser_buf::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) override; +private: + parser_buf& operator=(const parser_buf&); + parser_buf(const parser_buf&); +}; + +template +std::basic_streambuf* +parser_buf::setbuf(char_type* s, streamsize n) +{ + this->setg(s, s, s + n); + return this; +} + +template +typename parser_buf::pos_type +parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) +{ + if(which & ::std::ios_base::out) + return pos_type(off_type(-1)); + std::ptrdiff_t size = this->egptr() - this->eback(); + std::ptrdiff_t pos = this->gptr() - this->eback(); + charT* g = this->eback(); + switch(static_cast(way)) + { + case ::std::ios_base::beg: + if((off < 0) || (off > size)) + return pos_type(off_type(-1)); + else + this->setg(g, g + off, g + size); + break; + case ::std::ios_base::end: + if((off < 0) || (off > size)) + return pos_type(off_type(-1)); + else + this->setg(g, g + size - off, g + size); + break; + case ::std::ios_base::cur: + { + std::ptrdiff_t newpos = static_cast(pos + off); + if((newpos < 0) || (newpos > size)) + return pos_type(off_type(-1)); + else + this->setg(g, g + newpos, g + size); + break; + } + default: ; + } +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable:4244) +#endif + return static_cast(this->gptr() - this->eback()); +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif +} + +template +typename parser_buf::pos_type +parser_buf::seekpos(pos_type sp, ::std::ios_base::openmode which) +{ + if(which & ::std::ios_base::out) + return pos_type(off_type(-1)); + off_type size = static_cast(this->egptr() - this->eback()); + charT* g = this->eback(); + if(off_type(sp) <= size) + { + this->setg(g, g + off_type(sp), g + size); + } + return pos_type(off_type(-1)); +} + +// +// class cpp_regex_traits_base: +// acts as a container for locale and the facets we are using. +// +template +struct cpp_regex_traits_base +{ + cpp_regex_traits_base(const std::locale& l) + { (void)imbue(l); } + std::locale imbue(const std::locale& l); + + std::locale m_locale; + std::ctype const* m_pctype; + std::messages const* m_pmessages; + std::collate const* m_pcollate; + + bool operator<(const cpp_regex_traits_base& b)const + { + if(m_pctype == b.m_pctype) + { + if(m_pmessages == b.m_pmessages) + { + return m_pcollate < b.m_pcollate; + } + return m_pmessages < b.m_pmessages; + } + return m_pctype < b.m_pctype; + } + bool operator==(const cpp_regex_traits_base& b)const + { + return (m_pctype == b.m_pctype) + && (m_pmessages == b.m_pmessages) + && (m_pcollate == b.m_pcollate); + } +}; + +template +std::locale cpp_regex_traits_base::imbue(const std::locale& l) +{ + std::locale result(m_locale); + m_locale = l; + m_pctype = &std::use_facet>(l); + m_pmessages = std::has_facet >(l) ? &std::use_facet >(l) : 0; + m_pcollate = &std::use_facet >(l); + return result; +} + +// +// class cpp_regex_traits_char_layer: +// implements methods that require specialization for narrow characters: +// +template +class cpp_regex_traits_char_layer : public cpp_regex_traits_base +{ + typedef std::basic_string string_type; + typedef std::map map_type; + typedef typename map_type::const_iterator map_iterator_type; +public: + cpp_regex_traits_char_layer(const std::locale& l) + : cpp_regex_traits_base(l) + { + init(); + } + cpp_regex_traits_char_layer(const cpp_regex_traits_base& b) + : cpp_regex_traits_base(b) + { + init(); + } + void init(); + + regex_constants::syntax_type syntax_type(charT c)const + { + map_iterator_type i = m_char_map.find(c); + return ((i == m_char_map.end()) ? 0 : i->second); + } + regex_constants::escape_syntax_type escape_syntax_type(charT c) const + { + map_iterator_type i = m_char_map.find(c); + if(i == m_char_map.end()) + { + if(this->m_pctype->is(std::ctype_base::lower, c)) return regex_constants::escape_type_class; + if(this->m_pctype->is(std::ctype_base::upper, c)) return regex_constants::escape_type_not_class; + return 0; + } + return i->second; + } + +private: + string_type get_default_message(regex_constants::syntax_type); + // TODO: use a hash table when available! + map_type m_char_map; +}; + +template +void cpp_regex_traits_char_layer::init() +{ + // we need to start by initialising our syntax map so we know which + // character is used for which purpose: +#ifndef __IBMCPP__ + typename std::messages::catalog cat = static_cast::catalog>(-1); +#else + typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); +#endif + std::string cat_name(cpp_regex_traits::get_catalog_name()); + if((!cat_name.empty()) && (this->m_pmessages != 0)) + { + cat = this->m_pmessages->open( + cat_name, + this->m_locale); + if((int)cat < 0) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if((int)cat >= 0) + { +#ifndef BOOST_NO_EXCEPTIONS + try{ +#endif + for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i)); + for(typename string_type::size_type j = 0; j < mss.size(); ++j) + { + m_char_map[mss[j]] = i; + } + } + this->m_pmessages->close(cat); +#ifndef BOOST_NO_EXCEPTIONS + } + catch(...) + { + if(this->m_pmessages) + this->m_pmessages->close(cat); + throw; + } +#endif + } + else + { + for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + const char* ptr = get_default_syntax(i); + while(ptr && *ptr) + { + m_char_map[this->m_pctype->widen(*ptr)] = i; + ++ptr; + } + } + } +} + +template +typename cpp_regex_traits_char_layer::string_type + cpp_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) +{ + const char* ptr = get_default_syntax(i); + string_type result; + while(ptr && *ptr) + { + result.append(1, this->m_pctype->widen(*ptr)); + ++ptr; + } + return result; +} + +// +// specialized version for narrow characters: +// +template <> +class cpp_regex_traits_char_layer : public cpp_regex_traits_base +{ + typedef std::string string_type; +public: + cpp_regex_traits_char_layer(const std::locale& l) + : cpp_regex_traits_base(l) + { + init(); + } + cpp_regex_traits_char_layer(const cpp_regex_traits_base& l) + : cpp_regex_traits_base(l) + { + init(); + } + + regex_constants::syntax_type syntax_type(char c)const + { + return m_char_map[static_cast(c)]; + } + regex_constants::escape_syntax_type escape_syntax_type(char c) const + { + return m_char_map[static_cast(c)]; + } + +private: + regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; + void init(); +}; + +// +// class cpp_regex_traits_implementation: +// provides pimpl implementation for cpp_regex_traits. +// +template +class cpp_regex_traits_implementation : public cpp_regex_traits_char_layer +{ +public: + typedef typename cpp_regex_traits::char_class_type char_class_type; + typedef typename std::ctype::mask native_mask_type; + typedef typename std::make_unsigned::type unsigned_native_mask_type; + static const char_class_type mask_blank = 1u << 24; + static const char_class_type mask_word = 1u << 25; + static const char_class_type mask_unicode = 1u << 26; + static const char_class_type mask_horizontal = 1u << 27; + static const char_class_type mask_vertical = 1u << 28; + + typedef std::basic_string string_type; + typedef charT char_type; + //cpp_regex_traits_implementation(); + cpp_regex_traits_implementation(const std::locale& l) + : cpp_regex_traits_char_layer(l) + { + init(); + } + cpp_regex_traits_implementation(const cpp_regex_traits_base& l) + : cpp_regex_traits_char_layer(l) + { + init(); + } + std::string error_string(regex_constants::error_type n) const + { + if(!m_error_strings.empty()) + { + std::map::const_iterator p = m_error_strings.find(n); + return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; + } + return get_default_error_string(n); + } + char_class_type lookup_classname(const charT* p1, const charT* p2) const + { + char_class_type result = lookup_classname_imp(p1, p2); + if(result == 0) + { + string_type temp(p1, p2); + this->m_pctype->tolower(&*temp.begin(), &*temp.begin() + temp.size()); + result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); + } + return result; + } + string_type lookup_collatename(const charT* p1, const charT* p2) const; + string_type transform_primary(const charT* p1, const charT* p2) const; + string_type transform(const charT* p1, const charT* p2) const; +private: + std::map m_error_strings; // error messages indexed by numberic ID + std::map m_custom_class_names; // character class names + std::map m_custom_collate_names; // collating element names + unsigned m_collate_type; // the form of the collation string + charT m_collate_delim; // the collation group delimiter + // + // helpers: + // + char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; + void init(); +}; + +template +typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_blank; +template +typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_word; +template +typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_unicode; +template +typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_vertical; +template +typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_horizontal; + +template +typename cpp_regex_traits_implementation::string_type + cpp_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const +{ + // + // PRECONDITIONS: + // + // A bug in gcc 3.2 (and maybe other versions as well) treats + // p1 as a null terminated string, for efficiency reasons + // we work around this elsewhere, but just assert here that + // we adhere to gcc's (buggy) preconditions... + // + BOOST_REGEX_ASSERT(*p2 == 0); + string_type result; +#if defined(_CPPLIB_VER) + // + // A bug in VC11 and 12 causes the program to hang if we pass a null-string + // to std::collate::transform, but only for certain locales :-( + // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). + // + if(*p1 == 0) + { + return string_type(1, charT(0)); + } +#endif + // + // swallowing all exceptions here is a bad idea + // however at least one std lib will always throw + // std::bad_alloc for certain arguments... + // +#ifndef BOOST_NO_EXCEPTIONS + try{ +#endif + // + // What we do here depends upon the format of the sort key returned by + // sort key returned by this->transform: + // + switch(m_collate_type) + { + case sort_C: + case sort_unknown: + // the best we can do is translate to lower case, then get a regular sort key: + { + result.assign(p1, p2); + this->m_pctype->tolower(&*result.begin(), &*result.begin() + result.size()); + result = this->m_pcollate->transform(&*result.begin(), &*result.begin() + result.size()); + break; + } + case sort_fixed: + { + // get a regular sort key, and then truncate it: + result.assign(this->m_pcollate->transform(p1, p2)); + result.erase(this->m_collate_delim); + break; + } + case sort_delim: + // get a regular sort key, and then truncate everything after the delim: + result.assign(this->m_pcollate->transform(p1, p2)); + std::size_t i; + for(i = 0; i < result.size(); ++i) + { + if(result[i] == m_collate_delim) + break; + } + result.erase(i); + break; + } +#ifndef BOOST_NO_EXCEPTIONS + }catch(...){} +#endif + while((!result.empty()) && (charT(0) == *result.rbegin())) + result.erase(result.size() - 1); + if(result.empty()) + { + // character is ignorable at the primary level: + result = string_type(1, charT(0)); + } + return result; +} + +template +typename cpp_regex_traits_implementation::string_type + cpp_regex_traits_implementation::transform(const charT* p1, const charT* p2) const +{ + // + // PRECONDITIONS: + // + // A bug in gcc 3.2 (and maybe other versions as well) treats + // p1 as a null terminated string, for efficiency reasons + // we work around this elsewhere, but just assert here that + // we adhere to gcc's (buggy) preconditions... + // + BOOST_REGEX_ASSERT(*p2 == 0); + // + // swallowing all exceptions here is a bad idea + // however at least one std lib will always throw + // std::bad_alloc for certain arguments... + // + string_type result, result2; +#if defined(_CPPLIB_VER) + // + // A bug in VC11 and 12 causes the program to hang if we pass a null-string + // to std::collate::transform, but only for certain locales :-( + // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). + // + if(*p1 == 0) + { + return result; + } +#endif +#ifndef BOOST_NO_EXCEPTIONS + try{ +#endif + result = this->m_pcollate->transform(p1, p2); + // + // some implementations (Dinkumware) append unnecessary trailing \0's: + while((!result.empty()) && (charT(0) == *result.rbegin())) + result.erase(result.size() - 1); + // + // We may have NULL's used as separators between sections of the collate string, + // an example would be Boost.Locale. We have no way to detect this case via + // #defines since this can be used with any compiler/platform combination. + // Unfortunately our state machine (which was devised when all implementations + // used underlying C language API's) can't cope with that case. One workaround + // is to replace each character with 2, fortunately this code isn't used that + // much as this is now slower than before :-( + // + typedef typename std::make_unsigned::type uchar_type; + result2.reserve(result.size() * 2 + 2); + for(unsigned i = 0; i < result.size(); ++i) + { + if(static_cast(result[i]) == (std::numeric_limits::max)()) + { + result2.append(1, charT((std::numeric_limits::max)())).append(1, charT('b')); + } + else + { + result2.append(1, static_cast(1 + static_cast(result[i]))).append(1, charT('b') - 1); + } + } + BOOST_REGEX_ASSERT(std::find(result2.begin(), result2.end(), charT(0)) == result2.end()); +#ifndef BOOST_NO_EXCEPTIONS + } + catch(...) + { + } +#endif + return result2; +} + + +template +typename cpp_regex_traits_implementation::string_type + cpp_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const +{ + typedef typename std::map::const_iterator iter_type; + if(!m_custom_collate_names.empty()) + { + iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); + if(pos != m_custom_collate_names.end()) + return pos->second; + } + std::string name(p1, p2); + name = lookup_default_collate_name(name); + if(!name.empty()) + return string_type(name.begin(), name.end()); + if(p2 - p1 == 1) + return string_type(1, *p1); + return string_type(); +} + +template +void cpp_regex_traits_implementation::init() +{ +#ifndef __IBMCPP__ + typename std::messages::catalog cat = static_cast::catalog>(-1); +#else + typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); +#endif + std::string cat_name(cpp_regex_traits::get_catalog_name()); + if((!cat_name.empty()) && (this->m_pmessages != 0)) + { + cat = this->m_pmessages->open( + cat_name, + this->m_locale); + if((int)cat < 0) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if((int)cat >= 0) + { + // + // Error messages: + // + for(boost::regex_constants::error_type i = static_cast(0); + i <= boost::regex_constants::error_unknown; + i = static_cast(i + 1)) + { + const char* p = get_default_error_string(i); + string_type default_message; + while(*p) + { + default_message.append(1, this->m_pctype->widen(*p)); + ++p; + } + string_type s = this->m_pmessages->get(cat, 0, i+200, default_message); + std::string result; + for(std::string::size_type j = 0; j < s.size(); ++j) + { + result.append(1, this->m_pctype->narrow(s[j], 0)); + } + m_error_strings[i] = result; + } + // + // Custom class names: + // + static const char_class_type masks[16] = + { + static_cast(std::ctype::alnum), + static_cast(std::ctype::alpha), + static_cast(std::ctype::cntrl), + static_cast(std::ctype::digit), + static_cast(std::ctype::graph), + cpp_regex_traits_implementation::mask_horizontal, + static_cast(std::ctype::lower), + static_cast(std::ctype::print), + static_cast(std::ctype::punct), + static_cast(std::ctype::space), + static_cast(std::ctype::upper), + cpp_regex_traits_implementation::mask_vertical, + static_cast(std::ctype::xdigit), + cpp_regex_traits_implementation::mask_blank, + cpp_regex_traits_implementation::mask_word, + cpp_regex_traits_implementation::mask_unicode, + }; + static const string_type null_string; + for(unsigned int j = 0; j <= 13; ++j) + { + string_type s(this->m_pmessages->get(cat, 0, j+300, null_string)); + if(!s.empty()) + this->m_custom_class_names[s] = masks[j]; + } + } + // + // get the collation format used by m_pcollate: + // + m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); +} + +template +typename cpp_regex_traits_implementation::char_class_type + cpp_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const +{ + static const char_class_type masks[22] = + { + 0, + static_cast(std::ctype::alnum), + static_cast(std::ctype::alpha), + cpp_regex_traits_implementation::mask_blank, + static_cast(std::ctype::cntrl), + static_cast(std::ctype::digit), + static_cast(std::ctype::digit), + static_cast(std::ctype::graph), + cpp_regex_traits_implementation::mask_horizontal, + static_cast(std::ctype::lower), + static_cast(std::ctype::lower), + static_cast(std::ctype::print), + static_cast(std::ctype::punct), + static_cast(std::ctype::space), + static_cast(std::ctype::space), + static_cast(std::ctype::upper), + cpp_regex_traits_implementation::mask_unicode, + static_cast(std::ctype::upper), + cpp_regex_traits_implementation::mask_vertical, + static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, + static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, + static_cast(std::ctype::xdigit), + }; + if(!m_custom_class_names.empty()) + { + typedef typename std::map, char_class_type>::const_iterator map_iter; + map_iter pos = m_custom_class_names.find(string_type(p1, p2)); + if(pos != m_custom_class_names.end()) + return pos->second; + } + std::size_t state_id = 1 + BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); + BOOST_REGEX_ASSERT(state_id < sizeof(masks) / sizeof(masks[0])); + return masks[state_id]; +} + +template +inline std::shared_ptr > create_cpp_regex_traits(const std::locale& l) +{ + cpp_regex_traits_base key(l); + return ::boost::object_cache, cpp_regex_traits_implementation >::get(key, 5); +} + +} // BOOST_REGEX_DETAIL_NS + +BOOST_REGEX_MODULE_EXPORT template +class cpp_regex_traits +{ +private: + typedef std::ctype ctype_type; +public: + typedef charT char_type; + typedef std::size_t size_type; + typedef std::basic_string string_type; + typedef std::locale locale_type; + typedef std::uint_least32_t char_class_type; + + struct boost_extensions_tag{}; + + cpp_regex_traits() + : m_pimpl(BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(std::locale())) + { } + static size_type length(const char_type* p) + { + return std::char_traits::length(p); + } + regex_constants::syntax_type syntax_type(charT c)const + { + return m_pimpl->syntax_type(c); + } + regex_constants::escape_syntax_type escape_syntax_type(charT c) const + { + return m_pimpl->escape_syntax_type(c); + } + charT translate(charT c) const + { + return c; + } + charT translate_nocase(charT c) const + { + return m_pimpl->m_pctype->tolower(c); + } + charT translate(charT c, bool icase) const + { + return icase ? m_pimpl->m_pctype->tolower(c) : c; + } + charT tolower(charT c) const + { + return m_pimpl->m_pctype->tolower(c); + } + charT toupper(charT c) const + { + return m_pimpl->m_pctype->toupper(c); + } + string_type transform(const charT* p1, const charT* p2) const + { + return m_pimpl->transform(p1, p2); + } + string_type transform_primary(const charT* p1, const charT* p2) const + { + return m_pimpl->transform_primary(p1, p2); + } + char_class_type lookup_classname(const charT* p1, const charT* p2) const + { + return m_pimpl->lookup_classname(p1, p2); + } + string_type lookup_collatename(const charT* p1, const charT* p2) const + { + return m_pimpl->lookup_collatename(p1, p2); + } + bool isctype(charT c, char_class_type f) const + { + typedef typename std::ctype::mask ctype_mask; + + static const ctype_mask mask_base = + static_cast( + std::ctype::alnum + | std::ctype::alpha + | std::ctype::cntrl + | std::ctype::digit + | std::ctype::graph + | std::ctype::lower + | std::ctype::print + | std::ctype::punct + | std::ctype::space + | std::ctype::upper + | std::ctype::xdigit); + + if((f & mask_base) + && (m_pimpl->m_pctype->is( + static_cast(f & mask_base), c))) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_word) && (c == '_')) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_blank) + && m_pimpl->m_pctype->is(std::ctype::space, c) + && !BOOST_REGEX_DETAIL_NS::is_separator(c)) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical) + && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_horizontal) + && this->isctype(c, std::ctype::space) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical)) + return true; +#ifdef __CYGWIN__ + // + // Cygwin has a buggy ctype facet, see https://www.cygwin.com/ml/cygwin/2012-08/msg00178.html: + // + else if((f & std::ctype::xdigit) == std::ctype::xdigit) + { + if((c >= 'a') && (c <= 'f')) + return true; + if((c >= 'A') && (c <= 'F')) + return true; + } +#endif + return false; + } + std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const; + int value(charT c, int radix)const + { + const charT* pc = &c; + return (int)toi(pc, pc + 1, radix); + } + locale_type imbue(locale_type l) + { + std::locale result(getloc()); + m_pimpl = BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(l); + return result; + } + locale_type getloc()const + { + return m_pimpl->m_locale; + } + std::string error_string(regex_constants::error_type n) const + { + return m_pimpl->error_string(n); + } + + // + // extension: + // set the name of the message catalog in use (defaults to "boost_regex"). + // + static std::string catalog_name(const std::string& name); + static std::string get_catalog_name(); + +private: + std::shared_ptr > m_pimpl; + // + // catalog name handler: + // + static std::string& get_catalog_name_inst(); + +#ifdef BOOST_HAS_THREADS + static std::mutex& get_mutex_inst(); +#endif +}; + + +template +std::intmax_t cpp_regex_traits::toi(const charT*& first, const charT* last, int radix)const +{ + BOOST_REGEX_DETAIL_NS::parser_buf sbuf; // buffer for parsing numbers. + std::basic_istream is(&sbuf); // stream for parsing numbers. + + // we do NOT want to parse any thousands separators inside the stream: + last = std::find(first, last, std::use_facet>(is.getloc()).thousands_sep()); + + sbuf.pubsetbuf(const_cast(static_cast(first)), static_cast(last-first)); + is.clear(); + if(std::abs(radix) == 16) is >> std::hex; + else if(std::abs(radix) == 8) is >> std::oct; + else is >> std::dec; + std::intmax_t val; + if(is >> val) + { + first = first + ((last - first) - sbuf.in_avail()); + return val; + } + else + return -1; +} + +template +std::string cpp_regex_traits::catalog_name(const std::string& name) +{ +#ifdef BOOST_HAS_THREADS + std::lock_guard lk(get_mutex_inst()); +#endif + std::string result(get_catalog_name_inst()); + get_catalog_name_inst() = name; + return result; +} + +template +std::string& cpp_regex_traits::get_catalog_name_inst() +{ + static std::string s_name; + return s_name; +} + +template +std::string cpp_regex_traits::get_catalog_name() +{ +#ifdef BOOST_HAS_THREADS + std::lock_guard lk(get_mutex_inst()); +#endif + std::string result(get_catalog_name_inst()); + return result; +} + +#ifdef BOOST_HAS_THREADS +template +std::mutex& cpp_regex_traits::get_mutex_inst() +{ + static std::mutex s_mutex; + return s_mutex; +} +#endif + +namespace BOOST_REGEX_DETAIL_NS { + + inline void cpp_regex_traits_char_layer::init() + { + // we need to start by initialising our syntax map so we know which + // character is used for which purpose: + std::memset(m_char_map, 0, sizeof(m_char_map)); +#ifndef __IBMCPP__ + std::messages::catalog cat = static_cast::catalog>(-1); +#else + std::messages::catalog cat = reinterpret_cast::catalog>(-1); +#endif + std::string cat_name(cpp_regex_traits::get_catalog_name()); + if ((!cat_name.empty()) && (m_pmessages != 0)) + { + cat = this->m_pmessages->open( + cat_name, + this->m_locale); + if ((int)cat < 0) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if ((int)cat >= 0) + { +#ifndef BOOST_NO_EXCEPTIONS + try { +#endif + for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + string_type mss = this->m_pmessages->get(cat, 0, i, get_default_syntax(i)); + for (string_type::size_type j = 0; j < mss.size(); ++j) + { + m_char_map[static_cast(mss[j])] = i; + } + } + this->m_pmessages->close(cat); +#ifndef BOOST_NO_EXCEPTIONS + } + catch (...) + { + this->m_pmessages->close(cat); + throw; + } +#endif + } + else + { + for (regex_constants::syntax_type j = 1; j < regex_constants::syntax_max; ++j) + { + const char* ptr = get_default_syntax(j); + while (ptr && *ptr) + { + m_char_map[static_cast(*ptr)] = j; + ++ptr; + } + } + } + // + // finish off by calculating our escape types: + // + unsigned char i = 'A'; + do + { + if (m_char_map[i] == 0) + { + if (this->m_pctype->is(std::ctype_base::lower, i)) + m_char_map[i] = regex_constants::escape_type_class; + else if (this->m_pctype->is(std::ctype_base::upper, i)) + m_char_map[i] = regex_constants::escape_type_not_class; + } + } while (0xFF != i++); + } + +} // namespace detail + + +} // boost + +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + + +#endif diff --git a/include/boost/regex/v5/cregex.hpp b/include/boost/regex/v5/cregex.hpp new file mode 100644 index 000000000..f568d3b39 --- /dev/null +++ b/include/boost/regex/v5/cregex.hpp @@ -0,0 +1,196 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE cregex.cpp + * VERSION see + * DESCRIPTION: Declares POSIX API functions + */ + +#ifndef BOOST_RE_CREGEX_HPP_INCLUDED +#define BOOST_RE_CREGEX_HPP_INCLUDED + +#ifndef BOOST_REGEX_CONFIG_HPP +#include +#endif +#include +#include + +#ifndef BOOST_REGEX_STANDALONE +#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) +# define BOOST_LIB_NAME boost_regex +# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) +# define BOOST_DYN_LINK +# endif +# ifdef BOOST_REGEX_DIAG +# define BOOST_LIB_DIAGNOSTIC +# endif +# include +#endif +#endif + +#ifndef BOOST_REGEX_AS_MODULE +#ifdef __cplusplus +#include +#else +#include +#endif +#endif + +/* include these defs only for POSIX compatablity */ +#ifdef __cplusplus +namespace boost{ +extern "C" { +#endif + +#if defined(__cplusplus) +typedef std::ptrdiff_t regoff_t; +typedef std::size_t regsize_t; +#else +typedef ptrdiff_t regoff_t; +typedef size_t regsize_t; +#endif + +typedef struct +{ + unsigned int re_magic; +#ifdef __cplusplus + std::size_t re_nsub; /* number of parenthesized subexpressions */ +#else + size_t re_nsub; +#endif + const char* re_endp; /* end pointer for REG_PEND */ + void* guts; /* none of your business :-) */ + match_flag_type eflags; /* none of your business :-) */ +} regex_tA; + +#ifndef BOOST_NO_WREGEX +typedef struct +{ + unsigned int re_magic; +#ifdef __cplusplus + std::size_t re_nsub; /* number of parenthesized subexpressions */ +#else + size_t re_nsub; +#endif + const wchar_t* re_endp; /* end pointer for REG_PEND */ + void* guts; /* none of your business :-) */ + match_flag_type eflags; /* none of your business :-) */ +} regex_tW; +#endif + +typedef struct +{ + regoff_t rm_so; /* start of match */ + regoff_t rm_eo; /* end of match */ +} regmatch_t; + +/* regcomp() flags */ +typedef enum{ + REG_BASIC = 0000, + REG_EXTENDED = 0001, + REG_ICASE = 0002, + REG_NOSUB = 0004, + REG_NEWLINE = 0010, + REG_NOSPEC = 0020, + REG_PEND = 0040, + REG_DUMP = 0200, + REG_NOCOLLATE = 0400, + REG_ESCAPE_IN_LISTS = 01000, + REG_NEWLINE_ALT = 02000, + REG_PERLEX = 04000, + + REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX, + REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS, + REG_GREP = REG_BASIC | REG_NEWLINE_ALT, + REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT, + + REG_ASSERT = 15, + REG_INVARG = 16, + REG_ATOI = 255, /* convert name to number (!) */ + REG_ITOA = 0400 /* convert number to name (!) */ +} reg_comp_flags; + +/* regexec() flags */ +typedef enum{ + REG_NOTBOL = 00001, + REG_NOTEOL = 00002, + REG_STARTEND = 00004 +} reg_exec_flags; + +/* + * POSIX error codes: + */ +typedef unsigned reg_error_t; +typedef reg_error_t reg_errcode_t; /* backwards compatibility */ + +static const reg_error_t REG_NOERROR = 0; /* Success. */ +static const reg_error_t REG_NOMATCH = 1; /* Didn't find a match (for regexec). */ + + /* POSIX regcomp return error codes. (In the order listed in the + standard.) */ +static const reg_error_t REG_BADPAT = 2; /* Invalid pattern. */ +static const reg_error_t REG_ECOLLATE = 3; /* Undefined collating element. */ +static const reg_error_t REG_ECTYPE = 4; /* Invalid character class name. */ +static const reg_error_t REG_EESCAPE = 5; /* Trailing backslash. */ +static const reg_error_t REG_ESUBREG = 6; /* Invalid back reference. */ +static const reg_error_t REG_EBRACK = 7; /* Unmatched left bracket. */ +static const reg_error_t REG_EPAREN = 8; /* Parenthesis imbalance. */ +static const reg_error_t REG_EBRACE = 9; /* Unmatched \{. */ +static const reg_error_t REG_BADBR = 10; /* Invalid contents of \{\}. */ +static const reg_error_t REG_ERANGE = 11; /* Invalid range end. */ +static const reg_error_t REG_ESPACE = 12; /* Ran out of memory. */ +static const reg_error_t REG_BADRPT = 13; /* No preceding re for repetition op. */ +static const reg_error_t REG_EEND = 14; /* unexpected end of expression */ +static const reg_error_t REG_ESIZE = 15; /* expression too big */ +static const reg_error_t REG_ERPAREN = 8; /* = REG_EPAREN : unmatched right parenthesis */ +static const reg_error_t REG_EMPTY = 17; /* empty expression */ +static const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */ +static const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */ +static const reg_error_t REG_ESTACK = 19; /* out of stack space */ +static const reg_error_t REG_E_PERL = 20; /* Perl (?...) error */ +static const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */ +static const reg_error_t REG_ENOSYS = 21; /* = REG_E_UNKNOWN : Reserved. */ + +BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int); +BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t); +BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int); +BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*); + +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int); +BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t); +BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int); +BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*); +#endif + +#ifdef UNICODE +#define regcomp regcompW +#define regerror regerrorW +#define regexec regexecW +#define regfree regfreeW +#define regex_t regex_tW +#else +#define regcomp regcompA +#define regerror regerrorA +#define regexec regexecA +#define regfree regfreeA +#define regex_t regex_tA +#endif + +#ifdef __cplusplus +} /* extern "C" */ +} /* namespace */ +#endif + +#endif /* include guard */ + diff --git a/include/boost/regex/v4/error_type.hpp b/include/boost/regex/v5/error_type.hpp similarity index 96% rename from include/boost/regex/v4/error_type.hpp rename to include/boost/regex/v5/error_type.hpp index afcc71e3d..a3161d287 100644 --- a/include/boost/regex/v4/error_type.hpp +++ b/include/boost/regex/v5/error_type.hpp @@ -26,7 +26,7 @@ namespace boost{ #ifdef __cplusplus namespace regex_constants{ -enum error_type{ +BOOST_REGEX_MODULE_EXPORT enum error_type{ error_ok = 0, /* not used */ error_no_match = 1, /* not used */ diff --git a/include/boost/regex/v5/icu.hpp b/include/boost/regex/v5/icu.hpp new file mode 100644 index 000000000..213633aa0 --- /dev/null +++ b/include/boost/regex/v5/icu.hpp @@ -0,0 +1,1404 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE icu.hpp + * VERSION see + * DESCRIPTION: Unicode regular expressions on top of the ICU Library. + */ + +#ifndef BOOST_REGEX_ICU_V5_HPP +#define BOOST_REGEX_ICU_V5_HPP + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#include +#endif +#include +#include + +#ifdef BOOST_REGEX_MSVC +#pragma warning (push) +#pragma warning (disable: 4251) +#endif + +namespace boost{ + +namespace BOOST_REGEX_DETAIL_NS{ + +// +// Implementation details: +// +class icu_regex_traits_implementation +{ + typedef UChar32 char_type; + typedef std::size_t size_type; + typedef std::vector string_type; + typedef U_NAMESPACE_QUALIFIER Locale locale_type; + typedef std::uint_least32_t char_class_type; +public: + icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l) + : m_locale(l) + { + UErrorCode success = U_ZERO_ERROR; + m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); + if(U_SUCCESS(success) == 0) + init_error(); + m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL); + success = U_ZERO_ERROR; + m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); + if(U_SUCCESS(success) == 0) + init_error(); + m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY); + } + U_NAMESPACE_QUALIFIER Locale getloc()const + { + return m_locale; + } + string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const + { + // TODO make thread safe!!!! : + typedef u32_to_u16_iterator itt; + itt i(p1), j(p2); + std::vector< ::UChar> t(i, j); + std::uint8_t result[100]; + std::int32_t len; + if (!t.empty()) + len = pcoll->getSortKey(&*t.begin(), static_cast(t.size()), result, sizeof(result)); + else + len = pcoll->getSortKey(static_cast(0), static_cast(0), result, sizeof(result)); + if (std::size_t(len) > sizeof(result)) + { + std::unique_ptr< std::uint8_t[]> presult(new ::uint8_t[len + 1]); + if (!t.empty()) + len = pcoll->getSortKey(&*t.begin(), static_cast(t.size()), presult.get(), len + 1); + else + len = pcoll->getSortKey(static_cast(0), static_cast(0), presult.get(), len + 1); + if ((0 == presult[len - 1]) && (len > 1)) + --len; + return string_type(presult.get(), presult.get() + len); + } + if ((0 == result[len - 1]) && (len > 1)) + --len; + return string_type(result, result + len); + } + string_type transform(const char_type* p1, const char_type* p2) const + { + return do_transform(p1, p2, m_collator.get()); + } + string_type transform_primary(const char_type* p1, const char_type* p2) const + { + return do_transform(p1, p2, m_primary_collator.get()); + } +private: + void init_error() + { + std::runtime_error e("Could not initialize ICU resources"); +#ifndef BOOST_REGEX_STANDALONE + boost::throw_exception(e); +#else + throw e; +#endif + } + U_NAMESPACE_QUALIFIER Locale m_locale; // The ICU locale that we're using + std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator; // The full collation object + std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator; // The primary collation object +}; +inline std::shared_ptr get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc) +{ + return std::shared_ptr(new icu_regex_traits_implementation(loc)); +} + +} + +class icu_regex_traits +{ +public: + typedef UChar32 char_type; + typedef std::size_t size_type; + typedef std::vector string_type; + typedef U_NAMESPACE_QUALIFIER Locale locale_type; + typedef std::uint64_t char_class_type; + + struct boost_extensions_tag{}; + + icu_regex_traits() + : m_pimpl(BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale())) + { + } + static size_type length(const char_type* p) + { + size_type result = 0; + while (*p) + { + ++p; + ++result; + } + return result; + } + + ::boost::regex_constants::syntax_type syntax_type(char_type c)const + { + return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_syntax_type(static_cast(c)) : regex_constants::syntax_char; + } + ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const + { + return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_escape_syntax_type(static_cast(c)) : regex_constants::syntax_char; + } + char_type translate(char_type c) const + { + return c; + } + char_type translate_nocase(char_type c) const + { + return ::u_foldCase(c, U_FOLD_CASE_DEFAULT); + } + char_type translate(char_type c, bool icase) const + { + return icase ? translate_nocase(c) : translate(c); + } + char_type tolower(char_type c) const + { + return ::u_tolower(c); + } + char_type toupper(char_type c) const + { + return ::u_toupper(c); + } + string_type transform(const char_type* p1, const char_type* p2) const + { + return m_pimpl->transform(p1, p2); + } + string_type transform_primary(const char_type* p1, const char_type* p2) const + { + return m_pimpl->transform_primary(p1, p2); + } + char_class_type lookup_classname(const char_type* p1, const char_type* p2) const + { + constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; + constexpr char_class_type mask_space = char_class_type(1) << offset_space; + constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; + constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; + constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; + //constexpr char_class_type mask_any = char_class_type(1) << offset_any; + //constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; + constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; + constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; + + static const char_class_type masks[] = + { + 0, + U_GC_L_MASK | U_GC_ND_MASK, + U_GC_L_MASK, + mask_blank, + U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK, + U_GC_ND_MASK, + U_GC_ND_MASK, + (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK), + mask_horizontal, + U_GC_LL_MASK, + U_GC_LL_MASK, + ~(U_GC_C_MASK), + U_GC_P_MASK, + char_class_type(U_GC_Z_MASK) | mask_space, + char_class_type(U_GC_Z_MASK) | mask_space, + U_GC_LU_MASK, + mask_unicode, + U_GC_LU_MASK, + mask_vertical, + char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, + char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, + char_class_type(U_GC_ND_MASK) | mask_xdigit, + }; + + int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); + if (idx >= 0) + return masks[idx + 1]; + char_class_type result = lookup_icu_mask(p1, p2); + if (result != 0) + return result; + + if (idx < 0) + { + string_type s(p1, p2); + string_type::size_type i = 0; + while (i < s.size()) + { + s[i] = static_cast((::u_tolower)(s[i])); + if (::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_')) + s.erase(s.begin() + i, s.begin() + i + 1); + else + { + s[i] = static_cast((::u_tolower)(s[i])); + ++i; + } + } + if (!s.empty()) + idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); + if (idx >= 0) + return masks[idx + 1]; + if (!s.empty()) + result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size()); + if (result != 0) + return result; + } + BOOST_REGEX_ASSERT(std::size_t(idx + 1) < sizeof(masks) / sizeof(masks[0])); + return masks[idx + 1]; + } + string_type lookup_collatename(const char_type* p1, const char_type* p2) const + { + string_type result; + if (std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2) + { + std::string s(p1, p2); + // Try Unicode name: + UErrorCode err = U_ZERO_ERROR; + UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err); + if (U_SUCCESS(err)) + { + result.push_back(c); + return result; + } + // Try Unicode-extended name: + err = U_ZERO_ERROR; + c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err); + if (U_SUCCESS(err)) + { + result.push_back(c); + return result; + } + // try POSIX name: + s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); + result.assign(s.begin(), s.end()); + } + if (result.empty() && (p2 - p1 == 1)) + result.push_back(*p1); + return result; + } + bool isctype(char_type c, char_class_type f) const + { + constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; + constexpr char_class_type mask_space = char_class_type(1) << offset_space; + constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; + constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; + constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; + constexpr char_class_type mask_any = char_class_type(1) << offset_any; + constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; + constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; + constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; + + // check for standard catagories first: + char_class_type m = char_class_type(static_cast(1) << u_charType(c)); + if ((m & f) != 0) + return true; + // now check for special cases: + if (((f & mask_blank) != 0) && u_isblank(c)) + return true; + if (((f & mask_space) != 0) && u_isspace(c)) + return true; + if (((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0)) + return true; + if (((f & mask_unicode) != 0) && (c >= 0x100)) + return true; + if (((f & mask_underscore) != 0) && (c == '_')) + return true; + if (((f & mask_any) != 0) && (c <= 0x10FFFF)) + return true; + if (((f & mask_ascii) != 0) && (c <= 0x7F)) + return true; + if (((f & mask_vertical) != 0) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == static_cast('\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK))) + return true; + if (((f & mask_horizontal) != 0) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && u_isspace(c) && (c != static_cast('\v'))) + return true; + return false; + } + std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const + { + return BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); + } + int value(char_type c, int radix)const + { + return u_digit(c, static_cast< std::int8_t>(radix)); + } + locale_type imbue(locale_type l) + { + locale_type result(m_pimpl->getloc()); + m_pimpl = BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(l); + return result; + } + locale_type getloc()const + { + return locale_type(); + } + std::string error_string(::boost::regex_constants::error_type n) const + { + return BOOST_REGEX_DETAIL_NS::get_default_error_string(n); + } +private: + icu_regex_traits(const icu_regex_traits&); + icu_regex_traits& operator=(const icu_regex_traits&); + + // + // define the bitmasks offsets we need for additional character properties: + // + enum{ + offset_blank = U_CHAR_CATEGORY_COUNT, + offset_space = U_CHAR_CATEGORY_COUNT+1, + offset_xdigit = U_CHAR_CATEGORY_COUNT+2, + offset_underscore = U_CHAR_CATEGORY_COUNT+3, + offset_unicode = U_CHAR_CATEGORY_COUNT+4, + offset_any = U_CHAR_CATEGORY_COUNT+5, + offset_ascii = U_CHAR_CATEGORY_COUNT+6, + offset_horizontal = U_CHAR_CATEGORY_COUNT+7, + offset_vertical = U_CHAR_CATEGORY_COUNT+8 + }; + + static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2) + { + //constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; + //constexpr char_class_type mask_space = char_class_type(1) << offset_space; + //constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; + //constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; + //constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; + constexpr char_class_type mask_any = char_class_type(1) << offset_any; + constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; + //constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; + //constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; + + static const ::UChar32 prop_name_table[] = { + /* any */ 'a', 'n', 'y', + /* ascii */ 'a', 's', 'c', 'i', 'i', + /* assigned */ 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', + /* c* */ 'c', '*', + /* cc */ 'c', 'c', + /* cf */ 'c', 'f', + /* closepunctuation */ 'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* cn */ 'c', 'n', + /* co */ 'c', 'o', + /* connectorpunctuation */ 'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* control */ 'c', 'o', 'n', 't', 'r', 'o', 'l', + /* cs */ 'c', 's', + /* currencysymbol */ 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l', + /* dashpunctuation */ 'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* decimaldigitnumber */ 'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r', + /* enclosingmark */ 'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k', + /* finalpunctuation */ 'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* format */ 'f', 'o', 'r', 'm', 'a', 't', + /* initialpunctuation */ 'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* l* */ 'l', '*', + /* letter */ 'l', 'e', 't', 't', 'e', 'r', + /* letternumber */ 'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', + /* lineseparator */ 'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', + /* ll */ 'l', 'l', + /* lm */ 'l', 'm', + /* lo */ 'l', 'o', + /* lowercaseletter */ 'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', + /* lt */ 'l', 't', + /* lu */ 'l', 'u', + /* m* */ 'm', '*', + /* mark */ 'm', 'a', 'r', 'k', + /* mathsymbol */ 'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l', + /* mc */ 'm', 'c', + /* me */ 'm', 'e', + /* mn */ 'm', 'n', + /* modifierletter */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', + /* modifiersymbol */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', + /* n* */ 'n', '*', + /* nd */ 'n', 'd', + /* nl */ 'n', 'l', + /* no */ 'n', 'o', + /* nonspacingmark */ 'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k', + /* notassigned */ 'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', + /* number */ 'n', 'u', 'm', 'b', 'e', 'r', + /* openpunctuation */ 'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* other */ 'o', 't', 'h', 'e', 'r', + /* otherletter */ 'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', + /* othernumber */ 'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', + /* otherpunctuation */ 'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* othersymbol */ 'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', + /* p* */ 'p', '*', + /* paragraphseparator */ 'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', + /* pc */ 'p', 'c', + /* pd */ 'p', 'd', + /* pe */ 'p', 'e', + /* pf */ 'p', 'f', + /* pi */ 'p', 'i', + /* po */ 'p', 'o', + /* privateuse */ 'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e', + /* ps */ 'p', 's', + /* punctuation */ 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', + /* s* */ 's', '*', + /* sc */ 's', 'c', + /* separator */ 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', + /* sk */ 's', 'k', + /* sm */ 's', 'm', + /* so */ 's', 'o', + /* spaceseparator */ 's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', + /* spacingcombiningmark */ 's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k', + /* surrogate */ 's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e', + /* symbol */ 's', 'y', 'm', 'b', 'o', 'l', + /* titlecase */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', + /* titlecaseletter */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', + /* uppercaseletter */ 'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', + /* z* */ 'z', '*', + /* zl */ 'z', 'l', + /* zp */ 'z', 'p', + /* zs */ 'z', 's', + }; + + static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> range_data[] = { + { prop_name_table + 0, prop_name_table + 3, }, // any + { prop_name_table + 3, prop_name_table + 8, }, // ascii + { prop_name_table + 8, prop_name_table + 16, }, // assigned + { prop_name_table + 16, prop_name_table + 18, }, // c* + { prop_name_table + 18, prop_name_table + 20, }, // cc + { prop_name_table + 20, prop_name_table + 22, }, // cf + { prop_name_table + 22, prop_name_table + 38, }, // closepunctuation + { prop_name_table + 38, prop_name_table + 40, }, // cn + { prop_name_table + 40, prop_name_table + 42, }, // co + { prop_name_table + 42, prop_name_table + 62, }, // connectorpunctuation + { prop_name_table + 62, prop_name_table + 69, }, // control + { prop_name_table + 69, prop_name_table + 71, }, // cs + { prop_name_table + 71, prop_name_table + 85, }, // currencysymbol + { prop_name_table + 85, prop_name_table + 100, }, // dashpunctuation + { prop_name_table + 100, prop_name_table + 118, }, // decimaldigitnumber + { prop_name_table + 118, prop_name_table + 131, }, // enclosingmark + { prop_name_table + 131, prop_name_table + 147, }, // finalpunctuation + { prop_name_table + 147, prop_name_table + 153, }, // format + { prop_name_table + 153, prop_name_table + 171, }, // initialpunctuation + { prop_name_table + 171, prop_name_table + 173, }, // l* + { prop_name_table + 173, prop_name_table + 179, }, // letter + { prop_name_table + 179, prop_name_table + 191, }, // letternumber + { prop_name_table + 191, prop_name_table + 204, }, // lineseparator + { prop_name_table + 204, prop_name_table + 206, }, // ll + { prop_name_table + 206, prop_name_table + 208, }, // lm + { prop_name_table + 208, prop_name_table + 210, }, // lo + { prop_name_table + 210, prop_name_table + 225, }, // lowercaseletter + { prop_name_table + 225, prop_name_table + 227, }, // lt + { prop_name_table + 227, prop_name_table + 229, }, // lu + { prop_name_table + 229, prop_name_table + 231, }, // m* + { prop_name_table + 231, prop_name_table + 235, }, // mark + { prop_name_table + 235, prop_name_table + 245, }, // mathsymbol + { prop_name_table + 245, prop_name_table + 247, }, // mc + { prop_name_table + 247, prop_name_table + 249, }, // me + { prop_name_table + 249, prop_name_table + 251, }, // mn + { prop_name_table + 251, prop_name_table + 265, }, // modifierletter + { prop_name_table + 265, prop_name_table + 279, }, // modifiersymbol + { prop_name_table + 279, prop_name_table + 281, }, // n* + { prop_name_table + 281, prop_name_table + 283, }, // nd + { prop_name_table + 283, prop_name_table + 285, }, // nl + { prop_name_table + 285, prop_name_table + 287, }, // no + { prop_name_table + 287, prop_name_table + 301, }, // nonspacingmark + { prop_name_table + 301, prop_name_table + 312, }, // notassigned + { prop_name_table + 312, prop_name_table + 318, }, // number + { prop_name_table + 318, prop_name_table + 333, }, // openpunctuation + { prop_name_table + 333, prop_name_table + 338, }, // other + { prop_name_table + 338, prop_name_table + 349, }, // otherletter + { prop_name_table + 349, prop_name_table + 360, }, // othernumber + { prop_name_table + 360, prop_name_table + 376, }, // otherpunctuation + { prop_name_table + 376, prop_name_table + 387, }, // othersymbol + { prop_name_table + 387, prop_name_table + 389, }, // p* + { prop_name_table + 389, prop_name_table + 407, }, // paragraphseparator + { prop_name_table + 407, prop_name_table + 409, }, // pc + { prop_name_table + 409, prop_name_table + 411, }, // pd + { prop_name_table + 411, prop_name_table + 413, }, // pe + { prop_name_table + 413, prop_name_table + 415, }, // pf + { prop_name_table + 415, prop_name_table + 417, }, // pi + { prop_name_table + 417, prop_name_table + 419, }, // po + { prop_name_table + 419, prop_name_table + 429, }, // privateuse + { prop_name_table + 429, prop_name_table + 431, }, // ps + { prop_name_table + 431, prop_name_table + 442, }, // punctuation + { prop_name_table + 442, prop_name_table + 444, }, // s* + { prop_name_table + 444, prop_name_table + 446, }, // sc + { prop_name_table + 446, prop_name_table + 455, }, // separator + { prop_name_table + 455, prop_name_table + 457, }, // sk + { prop_name_table + 457, prop_name_table + 459, }, // sm + { prop_name_table + 459, prop_name_table + 461, }, // so + { prop_name_table + 461, prop_name_table + 475, }, // spaceseparator + { prop_name_table + 475, prop_name_table + 495, }, // spacingcombiningmark + { prop_name_table + 495, prop_name_table + 504, }, // surrogate + { prop_name_table + 504, prop_name_table + 510, }, // symbol + { prop_name_table + 510, prop_name_table + 519, }, // titlecase + { prop_name_table + 519, prop_name_table + 534, }, // titlecaseletter + { prop_name_table + 534, prop_name_table + 549, }, // uppercaseletter + { prop_name_table + 549, prop_name_table + 551, }, // z* + { prop_name_table + 551, prop_name_table + 553, }, // zl + { prop_name_table + 553, prop_name_table + 555, }, // zp + { prop_name_table + 555, prop_name_table + 557, }, // zs + }; + + static const icu_regex_traits::char_class_type icu_class_map[] = { + mask_any, // any + mask_ascii, // ascii + (0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned + U_GC_C_MASK, // c* + U_GC_CC_MASK, // cc + U_GC_CF_MASK, // cf + U_GC_PE_MASK, // closepunctuation + U_GC_CN_MASK, // cn + U_GC_CO_MASK, // co + U_GC_PC_MASK, // connectorpunctuation + U_GC_CC_MASK, // control + U_GC_CS_MASK, // cs + U_GC_SC_MASK, // currencysymbol + U_GC_PD_MASK, // dashpunctuation + U_GC_ND_MASK, // decimaldigitnumber + U_GC_ME_MASK, // enclosingmark + U_GC_PF_MASK, // finalpunctuation + U_GC_CF_MASK, // format + U_GC_PI_MASK, // initialpunctuation + U_GC_L_MASK, // l* + U_GC_L_MASK, // letter + U_GC_NL_MASK, // letternumber + U_GC_ZL_MASK, // lineseparator + U_GC_LL_MASK, // ll + U_GC_LM_MASK, // lm + U_GC_LO_MASK, // lo + U_GC_LL_MASK, // lowercaseletter + U_GC_LT_MASK, // lt + U_GC_LU_MASK, // lu + U_GC_M_MASK, // m* + U_GC_M_MASK, // mark + U_GC_SM_MASK, // mathsymbol + U_GC_MC_MASK, // mc + U_GC_ME_MASK, // me + U_GC_MN_MASK, // mn + U_GC_LM_MASK, // modifierletter + U_GC_SK_MASK, // modifiersymbol + U_GC_N_MASK, // n* + U_GC_ND_MASK, // nd + U_GC_NL_MASK, // nl + U_GC_NO_MASK, // no + U_GC_MN_MASK, // nonspacingmark + U_GC_CN_MASK, // notassigned + U_GC_N_MASK, // number + U_GC_PS_MASK, // openpunctuation + U_GC_C_MASK, // other + U_GC_LO_MASK, // otherletter + U_GC_NO_MASK, // othernumber + U_GC_PO_MASK, // otherpunctuation + U_GC_SO_MASK, // othersymbol + U_GC_P_MASK, // p* + U_GC_ZP_MASK, // paragraphseparator + U_GC_PC_MASK, // pc + U_GC_PD_MASK, // pd + U_GC_PE_MASK, // pe + U_GC_PF_MASK, // pf + U_GC_PI_MASK, // pi + U_GC_PO_MASK, // po + U_GC_CO_MASK, // privateuse + U_GC_PS_MASK, // ps + U_GC_P_MASK, // punctuation + U_GC_S_MASK, // s* + U_GC_SC_MASK, // sc + U_GC_Z_MASK, // separator + U_GC_SK_MASK, // sk + U_GC_SM_MASK, // sm + U_GC_SO_MASK, // so + U_GC_ZS_MASK, // spaceseparator + U_GC_MC_MASK, // spacingcombiningmark + U_GC_CS_MASK, // surrogate + U_GC_S_MASK, // symbol + U_GC_LT_MASK, // titlecase + U_GC_LT_MASK, // titlecaseletter + U_GC_LU_MASK, // uppercaseletter + U_GC_Z_MASK, // z* + U_GC_ZL_MASK, // zl + U_GC_ZP_MASK, // zp + U_GC_ZS_MASK, // zs + }; + + + const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_begin = range_data; + const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data) / sizeof(range_data[0])); + + BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> t = { p1, p2, }; + const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t); + if ((p != ranges_end) && (t == *p)) + return icu_class_map[p - ranges_begin]; + return 0; + } + std::shared_ptr< ::boost::BOOST_REGEX_DETAIL_NS::icu_regex_traits_implementation> m_pimpl; +}; + +} // namespace boost + +namespace boost{ + +// types: +typedef basic_regex< ::UChar32, icu_regex_traits> u32regex; +typedef match_results u32match; +typedef match_results u16match; + +// +// Construction of 32-bit regex types from UTF-8 and UTF-16 primitives: +// +namespace BOOST_REGEX_DETAIL_NS{ + +template +inline u32regex do_make_u32regex(InputIterator i, + InputIterator j, + boost::regex_constants::syntax_option_type opt, + const std::integral_constant*) +{ + typedef boost::u8_to_u32_iterator conv_type; + return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); +} + +template +inline u32regex do_make_u32regex(InputIterator i, + InputIterator j, + boost::regex_constants::syntax_option_type opt, + const std::integral_constant*) +{ + typedef boost::u16_to_u32_iterator conv_type; + return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); +} + +template +inline u32regex do_make_u32regex(InputIterator i, + InputIterator j, + boost::regex_constants::syntax_option_type opt, + const std::integral_constant*) +{ + return u32regex(i, j, opt); +} +} + +// BOOST_REGEX_UCHAR_IS_WCHAR_T +// +// Source inspection of unicode/umachine.h in ICU version 59 indicates that: +// +// On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode) +// +// On earlier versions, the logic is +// +// #if U_SIZEOF_WCHAR_T==2 +// typedef wchar_t OldUChar; +// #elif defined(__CHAR16_TYPE__) +// typedef __CHAR16_TYPE__ OldUChar; +// #else +// typedef uint16_t OldUChar; +// #endif +// +// That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2 +// +// Hence, + +#define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2) + +#if BOOST_REGEX_UCHAR_IS_WCHAR_T + static_assert((std::is_same::value), "Configuration logic has failed!"); +#else + static_assert(!(std::is_same::value), "Configuration logic has failed!"); +#endif + +// +// Construction from an iterator pair: +// +template +inline u32regex make_u32regex(InputIterator i, + InputIterator j, + boost::regex_constants::syntax_option_type opt) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(i, j, opt, static_cast const*>(0)); +} +// +// construction from UTF-8 nul-terminated strings: +// +inline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(p), opt, static_cast const*>(0)); +} +inline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(reinterpret_cast(p)), opt, static_cast const*>(0)); +} +// +// construction from UTF-16 nul-terminated strings: +// +#ifndef BOOST_NO_WREGEX +inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast const*>(0)); +} +#endif +#if !BOOST_REGEX_UCHAR_IS_WCHAR_T +inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast const*>(0)); +} +#endif +// +// construction from basic_string class-template: +// +template +inline u32regex make_u32regex(const std::basic_string& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.begin(), s.end(), opt, static_cast const*>(0)); +} +// +// Construction from ICU string type: +// +inline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) +{ + return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast const*>(0)); +} + +// +// regex_match overloads that widen the character type as appropriate: +// +namespace BOOST_REGEX_DETAIL_NS{ +template +void copy_results(MR1& out, MR2 const& in, NSubs named_subs) +{ + // copy results from an adapted MR2 match_results: + out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base()); + out.set_base(in.base().base()); + out.set_named_subs(named_subs); + for(int i = 0; i < (int)in.size(); ++i) + { + if(in[i].matched || !i) + { + out.set_first(in[i].first.base(), i); + out.set_second(in[i].second.base(), i, in[i].matched); + } + } +#ifdef BOOST_REGEX_MATCH_EXTRA + // Copy full capture info as well: + for(int i = 0; i < (int)in.size(); ++i) + { + if(in[i].captures().size()) + { + out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type()); + for(int j = 0; j < (int)out[i].captures().size(); ++j) + { + out[i].get_captures()[j].first = in[i].captures()[j].first.base(); + out[i].get_captures()[j].second = in[i].captures()[j].second.base(); + out[i].get_captures()[j].matched = in[i].captures()[j].matched; + } + } + } +#endif +} + +template +inline bool do_regex_match(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + std::integral_constant const*) +{ + return ::boost::regex_match(first, last, m, e, flags); +} +template +bool do_regex_match(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + std::integral_constant const*) +{ + typedef u16_to_u32_iterator conv_type; + typedef match_results match_type; + //typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); + // copy results across to m: + if(result) copy_results(m, what, e.get_named_subs()); + return result; +} +template +bool do_regex_match(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + std::integral_constant const*) +{ + typedef u8_to_u32_iterator conv_type; + typedef match_results match_type; + //typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); + // copy results across to m: + if(result) copy_results(m, what, e.get_named_subs()); + return result; +} +} // namespace BOOST_REGEX_DETAIL_NS + +BOOST_REGEX_MODULE_EXPORT template +inline bool u32regex_match(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const UChar* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); +} +#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const wchar_t* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const char* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const unsigned char* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const std::string& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); +} +#ifndef BOOST_NO_STD_WSTRING +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const std::wstring& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); +} +// +// regex_match overloads that do not return what matched: +// +BOOST_REGEX_MODULE_EXPORT template +inline bool u32regex_match(BidiIterator first, BidiIterator last, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const UChar* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); +} +#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const wchar_t* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const char* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const unsigned char* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const std::string& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); +} +#ifndef BOOST_NO_STD_WSTRING +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const std::wstring& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); +} + +// +// regex_search overloads that widen the character type as appropriate: +// +namespace BOOST_REGEX_DETAIL_NS{ +template +inline bool do_regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + BidiIterator base, + std::integral_constant const*) +{ + return ::boost::regex_search(first, last, m, e, flags, base); +} +template +bool do_regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + BidiIterator base, + std::integral_constant const*) +{ + typedef u16_to_u32_iterator conv_type; + typedef match_results match_type; + //typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); + // copy results across to m: + if(result) copy_results(m, what, e.get_named_subs()); + return result; +} +template +bool do_regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + BidiIterator base, + std::integral_constant const*) +{ + typedef u8_to_u32_iterator conv_type; + typedef match_results match_type; + //typedef typename match_type::allocator_type alloc_type; + match_type what; + bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); + // copy results across to m: + if(result) copy_results(m, what, e.get_named_subs()); + return result; +} +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool u32regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT template +inline bool u32regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const u32regex& e, + match_flag_type flags, + BidiIterator base) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, base, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const UChar* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); +} +#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const wchar_t* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const char* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const unsigned char* p, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const std::string& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); +} +#ifndef BOOST_NO_STD_WSTRING +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const std::wstring& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, + match_results& m, + const u32regex& e, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT template +inline bool u32regex_search(BidiIterator first, BidiIterator last, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const UChar* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); +} +#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const wchar_t* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const char* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const unsigned char* p, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); +} +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const std::string& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); +} +#ifndef BOOST_NO_STD_WSTRING +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const std::wstring& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); +} +#endif +BOOST_REGEX_MODULE_EXPORT inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, + const u32regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); +} + +// +// overloads for regex_replace with utf-8 and utf-16 data types: +// +namespace BOOST_REGEX_DETAIL_NS{ +template +inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > + make_utf32_seq(I i, I j, std::integral_constant const*) +{ + return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(i, i, j), boost::u8_to_u32_iterator(j, i, j)); +} +template +inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > + make_utf32_seq(I i, I j, std::integral_constant const*) +{ + return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(i, i, j), boost::u16_to_u32_iterator(j, i, j)); +} +template +inline std::pair< I, I > + make_utf32_seq(I i, I j, std::integral_constant const*) +{ + return std::pair< I, I >(i, j); +} +template +inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > + make_utf32_seq(const charT* p, std::integral_constant const*) +{ + std::size_t len = std::strlen((const char*)p); + return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(p, p, p+len), boost::u8_to_u32_iterator(p+len, p, p+len)); +} +template +inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > + make_utf32_seq(const charT* p, std::integral_constant const*) +{ + std::size_t len = u_strlen((const UChar*)p); + return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(p, p, p + len), boost::u16_to_u32_iterator(p+len, p, p + len)); +} +template +inline std::pair< const charT*, const charT* > + make_utf32_seq(const charT* p, std::integral_constant const*) +{ + return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p)); +} +template +inline OutputIterator make_utf32_out(OutputIterator o, std::integral_constant const*) +{ + return o; +} +template +inline utf16_output_iterator make_utf32_out(OutputIterator o, std::integral_constant const*) +{ + return o; +} +template +inline utf8_output_iterator make_utf32_out(OutputIterator o, std::integral_constant const*) +{ + return o; +} + +template +OutputIterator do_regex_replace(OutputIterator out, + std::pair const& in, + const u32regex& e, + const std::pair& fmt, + match_flag_type flags + ) +{ + // unfortunately we have to copy the format string in order to pass in onward: + std::vector f; + f.assign(fmt.first, fmt.second); + + regex_iterator i(in.first, in.second, e, flags); + regex_iterator j; + if(i == j) + { + if(!(flags & regex_constants::format_no_copy)) + out = std::copy(in.first, in.second, out); + } + else + { + I1 last_m = in.first; + while(i != j) + { + if(!(flags & regex_constants::format_no_copy)) + out = std::copy(i->prefix().first, i->prefix().second, out); + if(!f.empty()) + out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits()); + else + out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, static_cast(0), static_cast(0), flags, e.get_traits()); + last_m = (*i)[0].second; + if(flags & regex_constants::format_first_only) + break; + ++i; + } + if(!(flags & regex_constants::format_no_copy)) + out = std::copy(last_m, in.second, out); + } + return out; +} +template +inline const BaseIterator& extract_output_base(const BaseIterator& b) +{ + return b; +} +template +inline BaseIterator extract_output_base(const utf8_output_iterator& b) +{ + return b.base(); +} +template +inline BaseIterator extract_output_base(const utf16_output_iterator& b) +{ + return b.base(); +} +} // BOOST_REGEX_DETAIL_NS + +BOOST_REGEX_MODULE_EXPORT template +inline OutputIterator u32regex_replace(OutputIterator out, + BidirectionalIterator first, + BidirectionalIterator last, + const u32regex& e, + const charT* fmt, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::extract_output_base + ( + BOOST_REGEX_DETAIL_NS::do_regex_replace( + BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), + BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), + e, + BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt, static_cast const*>(0)), + flags) + ); +} + +BOOST_REGEX_MODULE_EXPORT template +inline OutputIterator u32regex_replace(OutputIterator out, + Iterator first, + Iterator last, + const u32regex& e, + const std::basic_string& fmt, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::extract_output_base + ( + BOOST_REGEX_DETAIL_NS::do_regex_replace( + BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), + BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), + e, + BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.begin(), fmt.end(), static_cast const*>(0)), + flags) + ); +} + +BOOST_REGEX_MODULE_EXPORT template +inline OutputIterator u32regex_replace(OutputIterator out, + Iterator first, + Iterator last, + const u32regex& e, + const U_NAMESPACE_QUALIFIER UnicodeString& fmt, + match_flag_type flags = match_default) +{ + return BOOST_REGEX_DETAIL_NS::extract_output_base + ( + BOOST_REGEX_DETAIL_NS::do_regex_replace( + BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), + BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), + e, + BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), + flags) + ); +} + +BOOST_REGEX_MODULE_EXPORT template +std::basic_string u32regex_replace(const std::basic_string& s, + const u32regex& e, + const charT* fmt, + match_flag_type flags = match_default) +{ + std::basic_string result; + BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); + u32regex_replace(i, s.begin(), s.end(), e, fmt, flags); + return result; +} + +BOOST_REGEX_MODULE_EXPORT template +std::basic_string u32regex_replace(const std::basic_string& s, + const u32regex& e, + const std::basic_string& fmt, + match_flag_type flags = match_default) +{ + std::basic_string result; + BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); + u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags); + return result; +} + +namespace BOOST_REGEX_DETAIL_NS{ + +class unicode_string_out_iterator +{ + U_NAMESPACE_QUALIFIER UnicodeString* out; +public: + unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {} + unicode_string_out_iterator& operator++() { return *this; } + unicode_string_out_iterator& operator++(int) { return *this; } + unicode_string_out_iterator& operator*() { return *this; } + unicode_string_out_iterator& operator=(UChar v) + { + *out += v; + return *this; + } + typedef std::ptrdiff_t difference_type; + typedef UChar value_type; + typedef value_type* pointer; + typedef value_type& reference; + typedef std::output_iterator_tag iterator_category; +}; + +} + +inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, + const u32regex& e, + const UChar* fmt, + match_flag_type flags = match_default) +{ + U_NAMESPACE_QUALIFIER UnicodeString result; + BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); + u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags); + return result; +} + +inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, + const u32regex& e, + const U_NAMESPACE_QUALIFIER UnicodeString& fmt, + match_flag_type flags = match_default) +{ + U_NAMESPACE_QUALIFIER UnicodeString result; + BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); + BOOST_REGEX_DETAIL_NS::do_regex_replace( + BOOST_REGEX_DETAIL_NS::make_utf32_out(i, static_cast const*>(0)), + BOOST_REGEX_DETAIL_NS::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast const*>(0)), + e, + BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), + flags); + return result; +} + +} // namespace boost. + +#ifdef BOOST_REGEX_MSVC +#pragma warning (pop) +#endif + +#include +#include + +#endif diff --git a/include/boost/regex/v5/iterator_category.hpp b/include/boost/regex/v5/iterator_category.hpp new file mode 100644 index 000000000..bb6f638e6 --- /dev/null +++ b/include/boost/regex/v5/iterator_category.hpp @@ -0,0 +1,86 @@ +/* + * + * Copyright (c) 2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_match.hpp + * VERSION see + * DESCRIPTION: Iterator traits for selecting an iterator type as + * an integral constant expression. + */ + + +#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP +#define BOOST_REGEX_ITERATOR_CATEGORY_HPP + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#endif + +namespace boost{ +namespace detail{ + +template +struct is_random_imp +{ +private: + typedef typename std::iterator_traits::iterator_category cat; +public: + static const bool value = (std::is_convertible::value); +}; + +template +struct is_random_pointer_imp +{ + static const bool value = true; +}; + +template +struct is_random_imp_selector +{ + template + struct rebind + { + typedef is_random_imp type; + }; +}; + +template <> +struct is_random_imp_selector +{ + template + struct rebind + { + typedef is_random_pointer_imp type; + }; +}; + +} + +template +struct is_random_access_iterator +{ +private: + typedef detail::is_random_imp_selector< std::is_pointer::value> selector; + typedef typename selector::template rebind bound_type; + typedef typename bound_type::type answer; +public: + static const bool value = answer::value; +}; + +template +const bool is_random_access_iterator::value; + +} + +#endif + diff --git a/include/boost/regex/v5/iterator_traits.hpp b/include/boost/regex/v5/iterator_traits.hpp new file mode 100644 index 000000000..7d3290cc5 --- /dev/null +++ b/include/boost/regex/v5/iterator_traits.hpp @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE iterator_traits.cpp + * VERSION see + * DESCRIPTION: Declares iterator traits workarounds. + */ + +#ifndef BOOST_REGEX_V5_ITERATOR_TRAITS_HPP +#define BOOST_REGEX_V5_ITERATOR_TRAITS_HPP + +#ifndef BOOST_REGEX_AS_MODULE +#include +#endif + +namespace boost{ +namespace BOOST_REGEX_DETAIL_NS{ + +template +struct regex_iterator_traits : public std::iterator_traits {}; + +} // namespace BOOST_REGEX_DETAIL_NS +} // namespace boost + +#endif + diff --git a/include/boost/regex/v5/match_flags.hpp b/include/boost/regex/v5/match_flags.hpp new file mode 100644 index 000000000..a2e7e46d1 --- /dev/null +++ b/include/boost/regex/v5/match_flags.hpp @@ -0,0 +1,158 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE match_flags.hpp + * VERSION see + * DESCRIPTION: Declares match_flags type. + */ + +#ifndef BOOST_REGEX_V5_MATCH_FLAGS +#define BOOST_REGEX_V5_MATCH_FLAGS + +#ifndef BOOST_REGEX_AS_MODULE +#ifdef __cplusplus +# include +#endif +#endif + +#ifdef __cplusplus +namespace boost{ + namespace regex_constants{ +#endif + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable : 26812) +#endif +#endif + +BOOST_REGEX_MODULE_EXPORT typedef enum _match_flags +{ + match_default = 0, + match_not_bol = 1, /* first is not start of line */ + match_not_eol = match_not_bol << 1, /* last is not end of line */ + match_not_bob = match_not_eol << 1, /* first is not start of buffer */ + match_not_eob = match_not_bob << 1, /* last is not end of buffer */ + match_not_bow = match_not_eob << 1, /* first is not start of word */ + match_not_eow = match_not_bow << 1, /* last is not end of word */ + match_not_dot_newline = match_not_eow << 1, /* \n is not matched by '.' */ + match_not_dot_null = match_not_dot_newline << 1, /* '\0' is not matched by '.' */ + match_prev_avail = match_not_dot_null << 1, /* *--first is a valid expression */ + match_init = match_prev_avail << 1, /* internal use */ + match_any = match_init << 1, /* don't care what we match */ + match_not_null = match_any << 1, /* string can't be null */ + match_continuous = match_not_null << 1, /* each grep match must continue from */ + /* uninterrupted from the previous one */ + match_partial = match_continuous << 1, /* find partial matches */ + + match_stop = match_partial << 1, /* stop after first match (grep) V3 only */ + match_not_initial_null = match_stop, /* don't match initial null, V4 only */ + match_all = match_stop << 1, /* must find the whole of input even if match_any is set */ + match_perl = match_all << 1, /* Use perl matching rules */ + match_posix = match_perl << 1, /* Use POSIX matching rules */ + match_nosubs = match_posix << 1, /* don't trap marked subs */ + match_extra = match_nosubs << 1, /* include full capture information for repeated captures */ + match_single_line = match_extra << 1, /* treat text as single line and ignore any \n's when matching ^ and $. */ + match_unused1 = match_single_line << 1, /* unused */ + match_unused2 = match_unused1 << 1, /* unused */ + match_unused3 = match_unused2 << 1, /* unused */ + match_max = match_unused3, + + format_perl = 0, /* perl style replacement */ + format_default = 0, /* ditto. */ + format_sed = match_max << 1, /* sed style replacement. */ + format_all = format_sed << 1, /* enable all extensions to syntax. */ + format_no_copy = format_all << 1, /* don't copy non-matching segments. */ + format_first_only = format_no_copy << 1, /* Only replace first occurrence. */ + format_is_if = format_first_only << 1, /* internal use only. */ + format_literal = format_is_if << 1, /* treat string as a literal */ + + match_not_any = match_not_bol | match_not_eol | match_not_bob + | match_not_eob | match_not_bow | match_not_eow | match_not_dot_newline + | match_not_dot_null | match_prev_avail | match_init | match_not_null + | match_continuous | match_partial | match_stop | match_not_initial_null + | match_stop | match_all | match_perl | match_posix | match_nosubs + | match_extra | match_single_line | match_unused1 | match_unused2 + | match_unused3 | match_max | format_perl | format_default | format_sed + | format_all | format_no_copy | format_first_only | format_is_if + | format_literal + + +} match_flags; + +BOOST_REGEX_MODULE_EXPORT typedef match_flags match_flag_type; + +#ifdef __cplusplus +BOOST_REGEX_MODULE_EXPORT inline match_flags operator&(match_flags m1, match_flags m2) +{ return static_cast(static_cast(m1) & static_cast(m2)); } +BOOST_REGEX_MODULE_EXPORT inline match_flags operator|(match_flags m1, match_flags m2) +{ return static_cast(static_cast(m1) | static_cast(m2)); } +BOOST_REGEX_MODULE_EXPORT inline match_flags operator^(match_flags m1, match_flags m2) +{ return static_cast(static_cast(m1) ^ static_cast(m2)); } +BOOST_REGEX_MODULE_EXPORT inline match_flags operator~(match_flags m1) +{ return static_cast(~static_cast(m1) & static_cast(match_not_any)); } +BOOST_REGEX_MODULE_EXPORT inline match_flags& operator&=(match_flags& m1, match_flags m2) +{ m1 = m1&m2; return m1; } +BOOST_REGEX_MODULE_EXPORT inline match_flags& operator|=(match_flags& m1, match_flags m2) +{ m1 = m1|m2; return m1; } +BOOST_REGEX_MODULE_EXPORT inline match_flags& operator^=(match_flags& m1, match_flags m2) +{ m1 = m1^m2; return m1; } +#endif + +#ifdef __cplusplus +} /* namespace regex_constants */ +/* + * import names into boost for backwards compatibility: + */ +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_flag_type; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_default; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_bol; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_eol; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_bob; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_eob; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_bow; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_eow; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_dot_newline; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_dot_null; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_prev_avail; +/* using regex_constants::match_init; */ +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_any; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_not_null; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_continuous; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_partial; +/*using regex_constants::match_stop; */ +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_all; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_perl; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_posix; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_nosubs; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_extra; +BOOST_REGEX_MODULE_EXPORT using regex_constants::match_single_line; +/*using regex_constants::match_max; */ +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_all; +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_sed; +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_perl; +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_default; +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_no_copy; +BOOST_REGEX_MODULE_EXPORT using regex_constants::format_first_only; +/*using regex_constants::format_is_if;*/ + +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + + +} /* namespace boost */ +#endif /* __cplusplus */ +#endif /* include guard */ + diff --git a/include/boost/regex/v4/match_results.hpp b/include/boost/regex/v5/match_results.hpp similarity index 81% rename from include/boost/regex/v4/match_results.hpp rename to include/boost/regex/v5/match_results.hpp index d88a7b16b..7e8721050 100644 --- a/include/boost/regex/v4/match_results.hpp +++ b/include/boost/regex/v5/match_results.hpp @@ -16,28 +16,27 @@ * DESCRIPTION: Declares template class match_results. */ -#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP -#define BOOST_REGEX_V4_MATCH_RESULTS_HPP +#ifndef BOOST_REGEX_V5_MATCH_RESULTS_HPP +#define BOOST_REGEX_V5_MATCH_RESULTS_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) +#include +#include +#include +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include #endif namespace boost{ -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) -#pragma warning(disable : 4251) -#if BOOST_MSVC < 1700 +#pragma warning(disable : 4251 4459) +#if BOOST_REGEX_MSVC < 1700 # pragma warning(disable : 4231) #endif -# if BOOST_MSVC < 1600 +# if BOOST_REGEX_MSVC < 1600 # pragma warning(disable : 4660) # endif #endif @@ -48,54 +47,36 @@ class named_subexpressions; } -template +BOOST_REGEX_MODULE_EXPORT template class match_results { private: -#ifndef BOOST_NO_STD_ALLOCATOR typedef std::vector, Allocator> vector_type; -#else - typedef std::vector > vector_type; -#endif public: typedef sub_match value_type; -#ifndef BOOST_NO_CXX11_ALLOCATOR typedef typename std::allocator_traits::value_type const & const_reference; -#elif !defined(BOOST_NO_STD_ALLOCATOR) && !(defined(BOOST_MSVC) && defined(_STLPORT_VERSION)) - typedef typename Allocator::const_reference const_reference; -#else - typedef const value_type& const_reference; -#endif typedef const_reference reference; typedef typename vector_type::const_iterator const_iterator; typedef const_iterator iterator; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits< + typedef typename std::iterator_traits< BidiIterator>::difference_type difference_type; -#ifdef BOOST_NO_CXX11_ALLOCATOR - typedef typename Allocator::size_type size_type; -#else typedef typename std::allocator_traits::size_type size_type; -#endif typedef Allocator allocator_type; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits< + typedef typename std::iterator_traits< BidiIterator>::value_type char_type; typedef std::basic_string string_type; - typedef BOOST_REGEX_DETAIL_NS::named_subexpressions named_sub_type; + typedef BOOST_REGEX_DETAIL_NS::named_subexpressions named_sub_type; // construct/copy/destroy: explicit match_results(const Allocator& a = Allocator()) -#ifndef BOOST_NO_STD_ALLOCATOR : m_subs(a), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) {} -#else - : m_subs(), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) { (void)a; } -#endif // // IMPORTANT: in the code below, the crazy looking checks around m_is_singular are // all required because it is illegal to copy a singular iterator. // See https://svn.boost.org/trac/boost/ticket/3632. // match_results(const match_results& m) - : m_subs(m.m_subs), m_named_subs(m.m_named_subs), m_last_closed_paren(m.m_last_closed_paren), m_is_singular(m.m_is_singular) + : m_subs(m.m_subs), m_base(), m_null(), m_named_subs(m.m_named_subs), m_last_closed_paren(m.m_last_closed_paren), m_is_singular(m.m_is_singular) { if(!m_is_singular) { @@ -126,15 +107,23 @@ class match_results bool empty() const { return m_subs.size() < 2; } // element access: - difference_type length(int sub = 0) const +private: + difference_type do_get_length(int sub = 0) const { - if(m_is_singular) + if (m_is_singular) raise_logic_error(); sub += 2; - if((sub < (int)m_subs.size()) && (sub > 0)) + if ((sub < (int)m_subs.size()) && (sub > 0)) return m_subs[sub].length(); return 0; } +public: + template + typename std::enable_if::value, difference_type>::type length(Integer sub) const + { + return do_get_length(static_cast(sub)); + } + difference_type length() const { return do_get_length(0); } difference_type length(const char_type* sub) const { if(m_is_singular) @@ -167,7 +156,7 @@ class match_results const sub_match& s = m_subs[sub]; if(s.matched || (sub == 2)) { - return ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)(m_base), (BidiIterator)(s.first)); + return std::distance((BidiIterator)(m_base), (BidiIterator)(s.first)); } } return ~static_cast(0); @@ -190,7 +179,8 @@ class match_results { return position(sub.c_str()); } - string_type str(int sub = 0) const +private: + string_type do_get_string(int sub = 0) const { if(m_is_singular) raise_logic_error(); @@ -206,6 +196,13 @@ class match_results } return result; } +public: + template + typename std::enable_if::value, string_type>::type str(Integer sub) const + { + return do_get_string(static_cast(sub)); + } + string_type str() const { return do_get_string(0); } string_type str(const char_type* sub) const { return (*this)[sub].str(); @@ -225,10 +222,15 @@ class match_results { return (*this)[sub].str(); } - const_reference operator[](int sub) const + private: + const_reference get_at(int sub) const { if(m_is_singular && m_subs.empty()) raise_logic_error(); + + if (sub >= INT_MAX - 2 ) + return m_null; + sub += 2; if(sub < (int)m_subs.size() && (sub >= 0)) { @@ -236,6 +238,12 @@ class match_results } return m_null; } +public: + template + typename std::enable_if::value, const_reference>::type operator[](Integer sub) const + { + return get_at(static_cast(sub)); + } // // Named sub-expressions: // @@ -254,7 +262,7 @@ class match_results template const_reference named_subexpression(const charT* i, const charT* j) const { - BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type)); + static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(i == j) return m_null; std::vector s; @@ -282,7 +290,7 @@ class match_results template int named_subexpression_index(const charT* i, const charT* j) const { - BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type)); + static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(i == j) return -20; std::vector s; @@ -305,7 +313,7 @@ class match_results template const_reference operator[](const charT* p) const { - BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type)); + static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(*p == 0) return m_null; std::vector s; @@ -316,7 +324,7 @@ class match_results template const_reference operator[](const std::basic_string& ns) const { - BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type)); + static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(ns.empty()) return m_null; std::vector s; @@ -413,11 +421,7 @@ class match_results allocator_type get_allocator() const { -#ifndef BOOST_NO_STD_ALLOCATOR return m_subs.get_allocator(); -#else - return allocator_type(); -#endif } void swap(match_results& that) { @@ -472,9 +476,9 @@ class match_results // // private access functions: - void BOOST_REGEX_CALL set_second(BidiIterator i) + void set_second(BidiIterator i) { - BOOST_ASSERT(m_subs.size() > 2); + BOOST_REGEX_ASSERT(m_subs.size() > 2); m_subs[2].second = i; m_subs[2].matched = true; m_subs[0].first = i; @@ -485,12 +489,12 @@ class match_results m_is_singular = false; } - void BOOST_REGEX_CALL set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false) + void set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false) { if(pos) m_last_closed_paren = static_cast(pos); pos += 2; - BOOST_ASSERT(m_subs.size() > pos); + BOOST_REGEX_ASSERT(m_subs.size() > pos); m_subs[pos].second = i; m_subs[pos].matched = m; if((pos == 2) && !escape_k) @@ -503,7 +507,7 @@ class match_results m_is_singular = false; } } - void BOOST_REGEX_CALL set_size(size_type n, BidiIterator i, BidiIterator j) + void set_size(size_type n, BidiIterator i, BidiIterator j) { value_type v(j); size_type len = m_subs.size(); @@ -521,7 +525,7 @@ class match_results m_subs[1].first = i; m_last_closed_paren = 0; } - void BOOST_REGEX_CALL set_base(BidiIterator pos) + void set_base(BidiIterator pos) { m_base = pos; } @@ -529,9 +533,9 @@ class match_results { return m_base; } - void BOOST_REGEX_CALL set_first(BidiIterator i) + void set_first(BidiIterator i) { - BOOST_ASSERT(m_subs.size() > 2); + BOOST_REGEX_ASSERT(m_subs.size() > 2); // set up prefix: m_subs[1].second = i; m_subs[1].matched = (m_subs[1].first != i); @@ -544,9 +548,9 @@ class match_results m_subs[n].matched = false; } } - void BOOST_REGEX_CALL set_first(BidiIterator i, size_type pos, bool escape_k = false) + void set_first(BidiIterator i, size_type pos, bool escape_k = false) { - BOOST_ASSERT(pos+2 < m_subs.size()); + BOOST_REGEX_ASSERT(pos+2 < m_subs.size()); if(pos || escape_k) { m_subs[pos+2].first = i; @@ -559,11 +563,11 @@ class match_results else set_first(i); } - void BOOST_REGEX_CALL maybe_assign(const match_results& m); + void maybe_assign(const match_results& m); - void BOOST_REGEX_CALL set_named_subs(boost::shared_ptr subs) + void set_named_subs(std::shared_ptr subs) { - m_named_subs = subs; + m_named_subs = std::move(subs); } private: @@ -573,20 +577,24 @@ class match_results static void raise_logic_error() { std::logic_error e("Attempt to access an uninitialized boost::match_results<> class."); +#ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); +#else + throw e; +#endif } vector_type m_subs; // subexpressions BidiIterator m_base; // where the search started from sub_match m_null; // a null match - boost::shared_ptr m_named_subs; // Shared copy of named subs in the regex object + std::shared_ptr m_named_subs; // Shared copy of named subs in the regex object int m_last_closed_paren; // Last ) to be seen - used for formatting bool m_is_singular; // True if our stored iterators are singular }; template -void BOOST_REGEX_CALL match_results::maybe_assign(const match_results& m) +void match_results::maybe_assign(const match_results& m) { if(m_is_singular) { @@ -648,17 +656,17 @@ void BOOST_REGEX_CALL match_results::maybe_assign(const // p1 better than p2, and no need to calculate distances: return; } - base1 = ::boost::BOOST_REGEX_DETAIL_NS::distance(l_base, p1->first); - base2 = ::boost::BOOST_REGEX_DETAIL_NS::distance(l_base, p2->first); - BOOST_ASSERT(base1 >= 0); - BOOST_ASSERT(base2 >= 0); + base1 = std::distance(l_base, p1->first); + base2 = std::distance(l_base, p2->first); + BOOST_REGEX_ASSERT(base1 >= 0); + BOOST_REGEX_ASSERT(base2 >= 0); if(base1 < base2) return; if(base2 < base1) break; - len1 = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)p1->first, (BidiIterator)p1->second); - len2 = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)p2->first, (BidiIterator)p2->second); - BOOST_ASSERT(len1 >= 0); - BOOST_ASSERT(len2 >= 0); + len1 = std::distance((BidiIterator)p1->first, (BidiIterator)p1->second); + len2 = std::distance((BidiIterator)p2->first, (BidiIterator)p2->second); + BOOST_REGEX_ASSERT(len1 >= 0); + BOOST_REGEX_ASSERT(len2 >= 0); if((len1 != len2) || ((p1->matched == false) && (p2->matched == true))) break; if((p1->matched == true) && (p2->matched == false)) @@ -672,45 +680,25 @@ void BOOST_REGEX_CALL match_results::maybe_assign(const *this = m; } -template +BOOST_REGEX_MODULE_EXPORT template void swap(match_results& a, match_results& b) { a.swap(b); } -#ifndef BOOST_NO_STD_LOCALE -template +BOOST_REGEX_MODULE_EXPORT template std::basic_ostream& operator << (std::basic_ostream& os, const match_results& s) { return (os << s.str()); } -#else -template -std::ostream& operator << (std::ostream& os, - const match_results& s) -{ - return (os << s.str()); -} -#endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace boost -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif diff --git a/include/boost/regex/v5/mem_block_cache.hpp b/include/boost/regex/v5/mem_block_cache.hpp new file mode 100644 index 000000000..18116fb43 --- /dev/null +++ b/include/boost/regex/v5/mem_block_cache.hpp @@ -0,0 +1,177 @@ + /* + * Copyright (c) 2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE mem_block_cache.hpp + * VERSION see + * DESCRIPTION: memory block cache used by the non-recursive matcher. + */ + +#ifndef BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP +#define BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP + +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#ifdef BOOST_HAS_THREADS +#include +#endif + +#ifndef BOOST_NO_CXX11_HDR_ATOMIC + #include + #if ATOMIC_POINTER_LOCK_FREE == 2 + #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE + #define BOOST_REGEX_ATOMIC_POINTER std::atomic + #endif +#endif +#endif + + +namespace boost{ +namespace BOOST_REGEX_DETAIL_NS{ + +#if BOOST_REGEX_MAX_CACHE_BLOCKS != 0 +#ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */ +struct mem_block_cache +{ + std::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; + + ~mem_block_cache() + { + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + if (cache[i].load()) ::operator delete(cache[i].load()); + } + } + void* get() + { + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + void* p = cache[i].load(); + if (p != NULL) { + if (cache[i].compare_exchange_strong(p, NULL)) return p; + } + } + return ::operator new(BOOST_REGEX_BLOCKSIZE); + } + void put(void* ptr) + { + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + void* p = cache[i].load(); + if (p == NULL) { + if (cache[i].compare_exchange_strong(p, ptr)) return; + } + } + ::operator delete(ptr); + } + + static mem_block_cache& instance() + { + static mem_block_cache block_cache = { { {nullptr} } }; + return block_cache; + } +}; + + +#else /* lock-based implementation */ + + +struct mem_block_node +{ + mem_block_node* next; +}; + +struct mem_block_cache +{ + // this member has to be statically initialsed: + mem_block_node* next { nullptr }; + unsigned cached_blocks { 0 }; +#ifdef BOOST_HAS_THREADS + std::mutex mut; +#endif + + ~mem_block_cache() + { + while(next) + { + mem_block_node* old = next; + next = next->next; + ::operator delete(old); + } + } + void* get() + { +#ifdef BOOST_HAS_THREADS + std::lock_guard g(mut); +#endif + if(next) + { + mem_block_node* result = next; + next = next->next; + --cached_blocks; + return result; + } + return ::operator new(BOOST_REGEX_BLOCKSIZE); + } + void put(void* p) + { +#ifdef BOOST_HAS_THREADS + std::lock_guard g(mut); +#endif + if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) + { + ::operator delete(p); + } + else + { + mem_block_node* old = static_cast(p); + old->next = next; + next = old; + ++cached_blocks; + } + } + static mem_block_cache& instance() + { + static mem_block_cache block_cache; + return block_cache; + } +}; +#endif +#endif + +#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0 + +inline void* get_mem_block() +{ + return ::operator new(BOOST_REGEX_BLOCKSIZE); +} + +inline void put_mem_block(void* p) +{ + ::operator delete(p); +} + +#else + +inline void* get_mem_block() +{ + return mem_block_cache::instance().get(); +} + +inline void put_mem_block(void* p) +{ + mem_block_cache::instance().put(p); +} + +#endif +} +} // namespace boost + +#endif + diff --git a/include/boost/regex/v5/object_cache.hpp b/include/boost/regex/v5/object_cache.hpp new file mode 100644 index 000000000..c9aede144 --- /dev/null +++ b/include/boost/regex/v5/object_cache.hpp @@ -0,0 +1,162 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE object_cache.hpp + * VERSION see + * DESCRIPTION: Implements a generic object cache. + */ + +#ifndef BOOST_REGEX_OBJECT_CACHE_HPP +#define BOOST_REGEX_OBJECT_CACHE_HPP + +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#include +#ifdef BOOST_HAS_THREADS +#include +#endif +#endif + +namespace boost{ + +template +class object_cache +{ +public: + typedef std::pair< ::std::shared_ptr, Key const*> value_type; + typedef std::list list_type; + typedef typename list_type::iterator list_iterator; + typedef std::map map_type; + typedef typename map_type::iterator map_iterator; + typedef typename list_type::size_type size_type; + static std::shared_ptr get(const Key& k, size_type l_max_cache_size); + +private: + static std::shared_ptr do_get(const Key& k, size_type l_max_cache_size); + + struct data + { + list_type cont; + map_type index; + }; + + // Needed by compilers not implementing the resolution to DR45. For reference, + // see http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#45. + friend struct data; +}; + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +template +std::shared_ptr object_cache::get(const Key& k, size_type l_max_cache_size) +{ +#ifdef BOOST_HAS_THREADS + static std::mutex mut; + std::lock_guard l(mut); + return do_get(k, l_max_cache_size); +#else + return do_get(k, l_max_cache_size); +#endif +} +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + +template +std::shared_ptr object_cache::do_get(const Key& k, size_type l_max_cache_size) +{ + typedef typename object_cache::data object_data; + typedef typename map_type::size_type map_size_type; + static object_data s_data; + + // + // see if the object is already in the cache: + // + map_iterator mpos = s_data.index.find(k); + if(mpos != s_data.index.end()) + { + // + // Eureka! + // We have a cached item, bump it up the list and return it: + // + if(--(s_data.cont.end()) != mpos->second) + { + // splice out the item we want to move: + list_type temp; + temp.splice(temp.end(), s_data.cont, mpos->second); + // and now place it at the end of the list: + s_data.cont.splice(s_data.cont.end(), temp, temp.begin()); + BOOST_REGEX_ASSERT(*(s_data.cont.back().second) == k); + // update index with new position: + mpos->second = --(s_data.cont.end()); + BOOST_REGEX_ASSERT(&(mpos->first) == mpos->second->second); + BOOST_REGEX_ASSERT(&(mpos->first) == s_data.cont.back().second); + } + return s_data.cont.back().first; + } + // + // if we get here then the item is not in the cache, + // so create it: + // + std::shared_ptr result(new Object(k)); + // + // Add it to the list, and index it: + // + s_data.cont.push_back(value_type(result, static_cast(0))); + s_data.index.insert(std::make_pair(k, --(s_data.cont.end()))); + s_data.cont.back().second = &(s_data.index.find(k)->first); + map_size_type s = s_data.index.size(); + BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get()); + BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); + BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k); + if(s > l_max_cache_size) + { + // + // We have too many items in the list, so we need to start + // popping them off the back of the list, but only if they're + // being held uniquely by us: + // + list_iterator pos = s_data.cont.begin(); + list_iterator last = s_data.cont.end(); + while((pos != last) && (s > l_max_cache_size)) + { + if(pos->first.use_count() == 1) + { + list_iterator condemmed(pos); + ++pos; + // now remove the items from our containers, + // then order has to be as follows: + BOOST_REGEX_ASSERT(s_data.index.find(*(condemmed->second)) != s_data.index.end()); + s_data.index.erase(*(condemmed->second)); + s_data.cont.erase(condemmed); + --s; + } + else + ++pos; + } + BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get()); + BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); + BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k); + } + return result; +} + +} + +#endif diff --git a/include/boost/regex/v5/pattern_except.hpp b/include/boost/regex/v5/pattern_except.hpp new file mode 100644 index 000000000..e01201039 --- /dev/null +++ b/include/boost/regex/v5/pattern_except.hpp @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE pattern_except.hpp + * VERSION see + * DESCRIPTION: Declares pattern-matching exception classes. + */ + +#ifndef BOOST_RE_V5_PAT_EXCEPT_HPP +#define BOOST_RE_V5_PAT_EXCEPT_HPP + +#ifndef BOOST_REGEX_CONFIG_HPP +#include +#endif + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#endif +#include +#include + +namespace boost{ + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable : 4275) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable : 26812 4459) +#endif +#endif +BOOST_REGEX_MODULE_EXPORT class regex_error : public std::runtime_error +{ +public: + explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0) + : std::runtime_error(s) + , m_error_code(err) + , m_position(pos) + { + } + explicit regex_error(regex_constants::error_type err) + : std::runtime_error(::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(err)) + , m_error_code(err) + , m_position(0) + { + } + ~regex_error() noexcept override = default; + regex_constants::error_type code()const + { return m_error_code; } + std::ptrdiff_t position()const + { return m_position; } + void raise()const + { +#ifndef BOOST_NO_EXCEPTIONS +#ifndef BOOST_REGEX_STANDALONE + ::boost::throw_exception(*this); +#else + throw* this; +#endif +#endif + } +private: + regex_constants::error_type m_error_code; + std::ptrdiff_t m_position; +}; + +BOOST_REGEX_MODULE_EXPORT typedef regex_error bad_pattern; +BOOST_REGEX_MODULE_EXPORT typedef regex_error bad_expression; + +namespace BOOST_REGEX_DETAIL_NS{ + +template +inline void raise_runtime_error(const E& ex) +{ +#ifndef BOOST_REGEX_STANDALONE + ::boost::throw_exception(ex); +#else + throw ex; +#endif +} + +template +void raise_error(const traits& t, regex_constants::error_type code) +{ + (void)t; // warning suppression + regex_error e(t.error_string(code), code, 0); + ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(e); +} + +} + +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + +} // namespace boost + +#endif diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v5/perl_matcher.hpp similarity index 81% rename from include/boost/regex/v4/perl_matcher.hpp rename to include/boost/regex/v5/perl_matcher.hpp index 663e6188e..8e600dba4 100644 --- a/include/boost/regex/v4/perl_matcher.hpp +++ b/include/boost/regex/v5/perl_matcher.hpp @@ -12,33 +12,65 @@ #ifndef BOOST_REGEX_MATCHER_HPP #define BOOST_REGEX_MATCHER_HPP -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX +#include +#include +#include +#include +#include +#include + +#ifndef BOOST_REGEX_AS_MODULE +#ifndef BOOST_REGEX_STANDALONE +#include #endif -#ifdef BOOST_MSVC -#pragma warning(pop) + +#include #endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(push) -#if BOOST_MSVC < 1910 +#pragma warning(disable : 4251 4459) +#if BOOST_REGEX_MSVC < 1700 +# pragma warning(disable : 4231) +#endif +# if BOOST_REGEX_MSVC < 1600 +# pragma warning(disable : 4660) +# endif +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif +#ifndef BOOST_REGEX_STANDALONE +# define BOOST_REGEX_DETAIL_THROW(ex) boost::throw_exception(ex) +#else +# define BOOST_REGEX_DETAIL_THROW(ex) throw ex +#endif + namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ // // error checking API: // -BOOST_REGEX_DECL void BOOST_REGEX_CALL verify_options(boost::regex_constants::syntax_option_type ef, match_flag_type mf); +inline void verify_options(boost::regex_constants::syntax_option_type, match_flag_type mf) +{ + auto is_perl = (mf & match_perl); + auto is_posix = (mf & match_posix); + + if (is_perl && is_posix) + { + BOOST_REGEX_DETAIL_THROW(std::logic_error("Usage Error: Can't mix Perl and POSIX matching rules")); + } + + // + // can't mix match_extra with POSIX matching rules: + // + if ((mf & match_extra) && is_posix) + { + BOOST_REGEX_DETAIL_THROW(std::logic_error("Usage Error: Can't mix regular expression captures with POSIX matching rules")); + } +} // // function can_start: // @@ -63,14 +95,12 @@ inline bool can_start(unsigned short c, const unsigned char* map, unsigned char { return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask); } -#if !defined(__hpux) && !defined(__WINSCW__)// WCHAR_MIN not usable in pp-directives. #if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) inline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask) { return ((c >= static_cast(1u << CHAR_BIT)) ? true : map[c] & mask); } #endif -#endif #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) inline bool can_start(unsigned int c, const unsigned char* map, unsigned char mask) { @@ -78,27 +108,6 @@ inline bool can_start(unsigned int c, const unsigned char* map, unsigned char ma } #endif - -// -// Unfortunately Rogue Waves standard library appears to have a bug -// in std::basic_string::compare that results in eroneous answers -// in some cases (tested with Borland C++ 5.1, Rogue Wave lib version -// 0x020101) the test case was: -// {39135,0} < {0xff,0} -// which succeeds when it should not. -// -#ifndef _RWSTD_VER -template -inline int string_compare(const std::basic_string& s, const C* p) -{ - if(0 == *p) - { - if(s.empty() || ((s.size() == 1) && (s[0] == 0))) - return 0; - } - return s.compare(p); -} -#else template inline int string_compare(const std::basic_string& s, const C* p) { @@ -109,13 +118,6 @@ inline int string_compare(const std::basic_string& s, const C* p) } return s.compare(p); } -inline int string_compare(const std::string& s, const char* p) -{ return std::strcmp(s.c_str(), p); } -# ifndef BOOST_NO_WREGEX -inline int string_compare(const std::wstring& s, const wchar_t* p) -{ return std::wcscmp(s.c_str(), p); } -#endif -#endif template inline int string_compare(const Seq& s, const C* p) { @@ -136,7 +138,7 @@ inline const charT* re_skip_past_null(const charT* p) } template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, +iterator re_is_set_member(iterator next, iterator last, const re_set_long* set_, const regex_data& e, bool icase) @@ -341,6 +343,12 @@ enum saved_state_type saved_state_count = 14 }; +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable:26495) +#endif +#endif template struct recursion_info { @@ -352,16 +360,8 @@ struct recursion_info repeater_count* repeater_stack; iterator location_of_start; }; - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4251) -#if BOOST_MSVC < 1700 -# pragma warning(disable : 4231) -#endif -# if BOOST_MSVC < 1600 -# pragma warning(disable : 4660) -# endif +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) #endif template @@ -370,10 +370,10 @@ class perl_matcher public: typedef typename traits::char_type char_type; typedef perl_matcher self_type; - typedef bool (self_type::*matcher_proc_type)(void); + typedef bool (self_type::*matcher_proc_type)(); typedef std::size_t traits_size_type; typedef typename is_byte::width_type width_type; - typedef typename regex_iterator_traits::difference_type difference_type; + typedef typename std::iterator_traits::difference_type difference_type; typedef match_results results_type; perl_matcher(BidiIterator first, BidiIterator end, @@ -384,9 +384,7 @@ class perl_matcher : m_result(what), base(first), last(end), position(first), backstop(l_base), re(e), traits_inst(e.get_traits()), m_independent(false), next_count(&rep_obj), rep_obj(&next_count) -#ifdef BOOST_REGEX_NON_RECURSIVE , m_recursions(0) -#endif { construct_init(e, f); } @@ -404,10 +402,6 @@ class perl_matcher bool find_imp(); bool match_imp(); -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - typedef bool (perl_matcher::*protected_proc_type)(); - bool protected_call(protected_proc_type); -#endif void estimate_max_state_count(std::random_access_iterator_tag*); void estimate_max_state_count(void*); bool match_prefix(); @@ -448,9 +442,6 @@ class perl_matcher bool match_backstep(); bool match_assert_backref(); bool match_toggle_case(); -#ifdef BOOST_REGEX_RECURSIVE - bool backtrack_till_match(std::size_t count); -#endif bool match_recursion(); bool match_fail(); bool match_accept(); @@ -469,7 +460,7 @@ class perl_matcher // final result structure to be filled in: match_results& m_result; // temporary result for POSIX matches: - scoped_ptr > m_temp_match; + std::unique_ptr > m_temp_match; // pointer to actual result structure to fill in: match_results* m_presult; // start of sequence being searched: @@ -514,13 +505,6 @@ class perl_matcher unsigned char match_any_mask; // recursion information: std::vector > recursion_stack; -#ifdef BOOST_REGEX_RECURSIVE - // Set to false by a (*COMMIT): - bool m_can_backtrack; - bool m_have_accept; - bool m_have_then; -#endif -#ifdef BOOST_REGEX_NON_RECURSIVE // // additional members for non-recursive version: // @@ -576,8 +560,13 @@ class perl_matcher //bool m_unwind_commit; // Recursion limit: unsigned m_recursions; -#endif +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#if BOOST_REGEX_MSVC >= 1800 +#pragma warning(disable:26495) +#endif +#endif // these operations aren't allowed, so are declared private, // bodies are provided to keep explicit-instantiation requests happy: perl_matcher& operator=(const perl_matcher&) @@ -586,41 +575,51 @@ class perl_matcher } perl_matcher(const perl_matcher& that) : m_result(that.m_result), re(that.re), traits_inst(that.traits_inst), rep_obj(0) {} +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif }; -#ifdef BOOST_MSVC -#pragma warning(pop) +template +inline bool factory_match(Matcher& m) +{ + return m.match(); +} +template +inline bool factory_find(Matcher& m) +{ + return m.find(); +} + +#ifdef BOOST_REGEX_AS_MODULE +bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m); +bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m); +bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m); + +bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m); +bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m); +bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m); +bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m); #endif } // namespace BOOST_REGEX_DETAIL_NS -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) #endif } // namespace boost -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - // // include the implementation of perl_matcher: // -#ifdef BOOST_REGEX_RECURSIVE -#include -#else -#include -#endif +#include // this one has to be last: -#include +#include #endif - diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v5/perl_matcher_common.hpp similarity index 86% rename from include/boost/regex/v4/perl_matcher_common.hpp rename to include/boost/regex/v5/perl_matcher_common.hpp index 3c654e588..ff3a69e88 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v5/perl_matcher_common.hpp @@ -17,26 +17,29 @@ * common to both the recursive and non-recursive versions. */ -#ifndef BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP +#ifndef BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP +#define BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) +#include + +#ifndef BOOST_REGEX_STANDALONE + +#include +#if defined(BOOST_HAS_PRAGMA_ONCE) +#pragma once +#include #endif -#ifdef __BORLANDC__ -# pragma option push -w-8008 -w-8066 #endif -#ifdef BOOST_MSVC + +#include +#include +#include + +#ifdef BOOST_REGEX_MSVC # pragma warning(push) -#if BOOST_MSVC < 1910 +#pragma warning(disable:4459) +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif @@ -44,17 +47,20 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ -template +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#pragma warning(disable:26812) +#endif + template void perl_matcher::construct_init(const basic_regex& e, match_flag_type f) { - typedef typename regex_iterator_traits::iterator_category category; + typedef typename std::iterator_traits::iterator_category category; typedef typename basic_regex::flag_type expression_flag_type; if(e.empty()) { // precondition failure: e is not a valid regex. - std::invalid_argument ex("Invalid regular expression object"); - boost::throw_exception(ex); + BOOST_REGEX_DETAIL_THROW(std::invalid_argument("Invalid regular expression object")); } pstate = 0; m_match_flags = f; @@ -79,21 +85,23 @@ void perl_matcher::construct_init(const basic_r } else m_presult = &m_result; -#ifdef BOOST_REGEX_NON_RECURSIVE m_stack_base = 0; m_backup_state = 0; -#elif defined(BOOST_REGEX_RECURSIVE) - m_can_backtrack = true; - m_have_accept = false; -#endif // find the value to use for matching word boundaries: m_word_mask = re.get_data().m_word_mask; // find bitmask to use for matching '.': match_any_mask = static_cast((f & match_not_dot_newline) ? BOOST_REGEX_DETAIL_NS::test_not_newline : BOOST_REGEX_DETAIL_NS::test_newline); // Disable match_any if requested in the state machine: if(e.get_data().m_disable_match_any) + { + if (m_match_flags & match_posix) + BOOST_REGEX_DETAIL_THROW(std::logic_error("Invalid regex for POSIX-style matching")); m_match_flags &= regex_constants::match_not_any; + } } +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif template void perl_matcher::estimate_max_state_count(std::random_access_iterator_tag*) @@ -109,7 +117,7 @@ void perl_matcher::estimate_max_state_count(std // Calculate NS^2 first: // static const std::ptrdiff_t k = 100000; - std::ptrdiff_t dist = boost::BOOST_REGEX_DETAIL_NS::distance(base, last); + std::ptrdiff_t dist = std::distance(base, last); if(dist == 0) dist = 1; std::ptrdiff_t states = re.size(); @@ -173,39 +181,20 @@ inline void perl_matcher::estimate_max_state_co max_state_count = BOOST_REGEX_MAX_STATE_COUNT; } -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD -template -inline bool perl_matcher::protected_call( - protected_proc_type proc) -{ - ::boost::BOOST_REGEX_DETAIL_NS::concrete_protected_call - > - obj(this, proc); - return obj.execute(); - -} -#endif - template inline bool perl_matcher::match() { -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - return protected_call(&perl_matcher::match_imp); -#else return match_imp(); -#endif } template bool perl_matcher::match_imp() { // initialise our stack if we are non-recursive: -#ifdef BOOST_REGEX_NON_RECURSIVE save_state_init init(&m_stack_base, &m_backup_state); used_block_count = BOOST_REGEX_MAX_BLOCKS; #if !defined(BOOST_NO_EXCEPTIONS) try{ -#endif #endif // reset our state machine: @@ -223,7 +212,7 @@ bool perl_matcher::match_imp() return false; return (m_result[0].second == last) && (m_result[0].first == base); -#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_NO_EXCEPTIONS) +#if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { @@ -239,11 +228,7 @@ bool perl_matcher::match_imp() template inline bool perl_matcher::find() { -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - return protected_call(&perl_matcher::find_imp); -#else return find_imp(); -#endif } template @@ -261,12 +246,10 @@ bool perl_matcher::find_imp() }; // initialise our stack if we are non-recursive: -#ifdef BOOST_REGEX_NON_RECURSIVE save_state_init init(&m_stack_base, &m_backup_state); used_block_count = BOOST_REGEX_MAX_BLOCKS; #if !defined(BOOST_NO_EXCEPTIONS) try{ -#endif #endif state_count = 0; @@ -314,7 +297,7 @@ bool perl_matcher::find_imp() matcher_proc_type proc = s_find_vtable[type]; return (this->*proc)(); -#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_NO_EXCEPTIONS) +#if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { @@ -361,9 +344,6 @@ bool perl_matcher::match_prefix() #endif if(!m_has_found_match) position = restart; // reset search postion -#ifdef BOOST_REGEX_RECURSIVE - m_can_backtrack = true; // reset for further searches -#endif return m_has_found_match; } @@ -506,6 +486,11 @@ bool perl_matcher::match_word_boundary() template bool perl_matcher::match_within_word() { + bool b = !match_word_boundary(); + if(b) + pstate = pstate->next.p; + return b; + /* if(position == last) return false; // both prev and this character must be m_word_mask: @@ -527,6 +512,7 @@ bool perl_matcher::match_within_word() } } return false; + */ } template @@ -609,10 +595,10 @@ bool perl_matcher::match_backref() // or PCRE. // int index = static_cast(pstate)->index; - if(index >= 10000) + if(index >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(index); - BOOST_ASSERT(r.first != r.second); + BOOST_REGEX_ASSERT(r.first != r.second); do { index = r.first->index; @@ -715,13 +701,13 @@ bool perl_matcher::match_restart_continue() template bool perl_matcher::match_backstep() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif if( ::boost::is_random_access_iterator::value) { - std::ptrdiff_t maxlen = ::boost::BOOST_REGEX_DETAIL_NS::distance(backstop, position); + std::ptrdiff_t maxlen = std::distance(backstop, position); if(maxlen < static_cast(pstate)->index) return false; std::advance(position, -static_cast(pstate)->index); @@ -738,7 +724,7 @@ bool perl_matcher::match_backstep() } pstate = pstate->next.p; return true; -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -758,7 +744,7 @@ inline bool perl_matcher::match_assert_backref( { // Have we matched subexpression "index"? // Check if index is a hash value: - if(index >= 10000) + if(index >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(index); while(r.first != r.second) @@ -782,7 +768,7 @@ inline bool perl_matcher::match_assert_backref( // Have we recursed into subexpression "index"? // If index == 0 then check for any recursion at all, otherwise for recursion to -index-1. int idx = -(index+1); - if(idx >= 10000) + if(idx >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(idx); int stack_index = recursion_stack.empty() ? -1 : recursion_stack.back().idx; @@ -825,7 +811,7 @@ bool perl_matcher::match_accept() template bool perl_matcher::find_restart_any() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif @@ -850,7 +836,7 @@ bool perl_matcher::find_restart_any() ++position; } return false; -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -858,7 +844,7 @@ bool perl_matcher::find_restart_any() template bool perl_matcher::find_restart_word() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif @@ -886,7 +872,7 @@ bool perl_matcher::find_restart_word() break; } while(true); return false; -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -935,62 +921,6 @@ bool perl_matcher::find_restart_buf() template bool perl_matcher::find_restart_lit() { -#if 0 - if(position == last) - return false; // can't possibly match if we're at the end already - - unsigned type = (m_match_flags & match_continuous) ? - static_cast(regbase::restart_continue) - : static_cast(re.get_restart_type()); - - const kmp_info* info = access::get_kmp(re); - int len = info->len; - const char_type* x = info->pstr; - int j = 0; - while (position != last) - { - while((j > -1) && (x[j] != traits_inst.translate(*position, icase))) - j = info->kmp_next[j]; - ++position; - ++j; - if(j >= len) - { - if(type == regbase::restart_fixed_lit) - { - std::advance(position, -j); - restart = position; - std::advance(restart, len); - m_result.set_first(position); - m_result.set_second(restart); - position = restart; - return true; - } - else - { - restart = position; - std::advance(position, -j); - if(match_prefix()) - return true; - else - { - for(int k = 0; (restart != position) && (k < j); ++k, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - position = restart; - j = 0; //we could do better than this... - } - } - } - } - if((m_match_flags & match_partial) && (position == last) && j) - { - // we need to check for a partial match: - restart = position; - std::advance(position, -j); - return match_prefix(); - } -#endif return false; } @@ -998,23 +928,9 @@ bool perl_matcher::find_restart_lit() } // namespace boost -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif -#ifdef __BORLANDC__ -# pragma option pop -#endif -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v5/perl_matcher_non_recursive.hpp similarity index 91% rename from include/boost/regex/v4/perl_matcher_non_recursive.hpp rename to include/boost/regex/v5/perl_matcher_non_recursive.hpp index db883f1e2..5a1c3f4c5 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v5/perl_matcher_non_recursive.hpp @@ -17,25 +17,27 @@ * specific to the non-recursive implementation. */ -#ifndef BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP +#ifndef BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP +#define BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP -#include +#include -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX +#ifndef BOOST_REGEX_STANDALONE + +#include +#if defined(BOOST_HAS_PRAGMA_ONCE) +#pragma once +#include #endif -#ifdef BOOST_MSVC -#pragma warning(pop) + #endif -#ifdef BOOST_MSVC + +#include + +#ifdef BOOST_REGEX_MSVC # pragma warning(push) -# pragma warning(disable: 4706) -#if BOOST_MSVC < 1910 +# pragma warning(disable: 4706 4459) +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif @@ -67,7 +69,7 @@ struct saved_matched_paren : public saved_state { int index; sub_match sub; - saved_matched_paren(int i, const sub_match& s) : saved_state(1), index(i), sub(s){}; + saved_matched_paren(int i, const sub_match& s) : saved_state(1), index(i), sub(s){} }; template @@ -75,7 +77,7 @@ struct saved_position : public saved_state { const re_syntax_base* pstate; BidiIterator position; - saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){}; + saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){} }; template @@ -83,7 +85,7 @@ struct saved_assertion : public saved_position { bool positive; saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos) - : saved_position(ps, pos, saved_type_assertion), positive(p){}; + : saved_position(ps, pos, saved_type_assertion), positive(p){} }; template @@ -111,7 +113,7 @@ struct save_state_init *end = reinterpret_cast(reinterpret_cast(*base)+BOOST_REGEX_BLOCKSIZE); --(*end); (void) new (*end)saved_state(0); - BOOST_ASSERT(*end > *base); + BOOST_REGEX_ASSERT(*end > *base); } ~save_state_init() { @@ -217,7 +219,7 @@ bool perl_matcher::match_all_states() bool successful_unwind = unwind(false); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; - if(false == successful_unwind) + if(!successful_unwind) return m_recursive_result; } } @@ -235,8 +237,8 @@ void perl_matcher::extend_stack() saved_state* backup_state; stack_base = static_cast(get_mem_block()); backup_state = reinterpret_cast(reinterpret_cast(stack_base)+BOOST_REGEX_BLOCKSIZE); - saved_extra_block* block = static_cast(backup_state); - --block; + saved_extra_block* block = reinterpret_cast( + reinterpret_cast(backup_state) - sizeof(saved_extra_block)); (void) new (block) saved_extra_block(m_stack_base, m_backup_state); m_stack_base = stack_base; m_backup_state = block; @@ -248,7 +250,7 @@ void perl_matcher::extend_stack() template inline void perl_matcher::push_matched_paren(int index, const sub_match& sub) { - //BOOST_ASSERT(index); + //BOOST_REGEX_ASSERT(index); saved_matched_paren* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) @@ -264,7 +266,7 @@ inline void perl_matcher::push_matched_paren(in template inline void perl_matcher::push_case_change(bool c) { - //BOOST_ASSERT(index); + //BOOST_REGEX_ASSERT(index); saved_change_case* pmp = static_cast(m_backup_state); --pmp; if(pmp < m_stack_base) @@ -348,7 +350,7 @@ inline void perl_matcher::push_repeater_count(i pmp = static_cast*>(m_backup_state); --pmp; } - (void) new (pmp)saved_repeater(i, s, position, this->recursion_stack.size() ? this->recursion_stack.back().idx : (INT_MIN + 3)); + (void) new (pmp)saved_repeater(i, s, position, this->recursion_stack.empty() ? (INT_MIN + 3) : this->recursion_stack.back().idx); m_backup_state = pmp; } @@ -427,7 +429,8 @@ bool perl_matcher::match_startmark() { // Must be unwinding from a COMMIT/SKIP/PRUNE and the independent // sub failed, need to unwind everything else: - while(unwind(false)); + while (m_backup_state->state_id) + unwind(false); return false; } #if !defined(BOOST_NO_EXCEPTIONS) @@ -492,7 +495,7 @@ bool perl_matcher::match_startmark() { // conditional expression: const re_alt* alt = static_cast(pstate->next.p); - BOOST_ASSERT(alt->type == syntax_element_alt); + BOOST_REGEX_ASSERT(alt->type == syntax_element_alt); pstate = alt->next.p; if(pstate->type == syntax_element_assert_backref) { @@ -503,7 +506,7 @@ bool perl_matcher::match_startmark() else { // zero width assertion, have to match this recursively: - BOOST_ASSERT(pstate->type == syntax_element_startmark); + BOOST_REGEX_ASSERT(pstate->type == syntax_element_startmark); bool negated = static_cast(pstate)->index == -2; BidiIterator saved_position = position; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; @@ -543,7 +546,7 @@ bool perl_matcher::match_startmark() } default: { - BOOST_ASSERT(index > 0); + BOOST_REGEX_ASSERT(index > 0); if((m_match_flags & match_nosubs) == 0) { push_matched_paren(index, (*m_presult)[index]); @@ -596,11 +599,11 @@ bool perl_matcher::match_alt() template bool perl_matcher::match_rep() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127 4244) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); @@ -691,10 +694,10 @@ bool perl_matcher::match_rep() } } return false; -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option pop #endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -705,7 +708,7 @@ bool perl_matcher::match_dot_repeat_slow() std::size_t count = 0; const re_repeat* rep = static_cast(pstate); re_syntax_base* psingle = rep->next.p; - // match compulsary repeats first: + // match compulsory repeats first: while(count < rep->min) { pstate = psingle; @@ -754,7 +757,7 @@ bool perl_matcher::match_dot_repeat_fast() const re_repeat* rep = static_cast(pstate); bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); - std::size_t count = static_cast((std::min)(static_cast(::boost::BOOST_REGEX_DETAIL_NS::distance(position, last)), greedy ? rep->max : rep->min)); + std::size_t count = static_cast((std::min)(static_cast(std::distance(position, last)), greedy ? rep->max : rep->min)); if(rep->min > count) { position = last; @@ -786,15 +789,15 @@ bool perl_matcher::match_dot_repeat_fast() template bool perl_matcher::match_char_repeat() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); - BOOST_ASSERT(1 == static_cast(rep->next.p)->length); + BOOST_REGEX_ASSERT(1 == static_cast(rep->next.p)->length); const char_type what = *reinterpret_cast(static_cast(rep->next.p) + 1); std::size_t count = 0; // @@ -807,7 +810,7 @@ bool perl_matcher::match_char_repeat() BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. - std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : ::boost::BOOST_REGEX_DETAIL_NS::distance(position, last); + std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else @@ -817,7 +820,7 @@ bool perl_matcher::match_char_repeat() { ++position; } - count = (unsigned)::boost::BOOST_REGEX_DETAIL_NS::distance(origin, position); + count = (unsigned)std::distance(origin, position); } else { @@ -850,10 +853,10 @@ bool perl_matcher::match_char_repeat() pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option pop #endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -861,11 +864,11 @@ bool perl_matcher::match_char_repeat() template bool perl_matcher::match_set_repeat() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); @@ -881,7 +884,7 @@ bool perl_matcher::match_set_repeat() BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. - std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : ::boost::BOOST_REGEX_DETAIL_NS::distance(position, last); + std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else @@ -891,7 +894,7 @@ bool perl_matcher::match_set_repeat() { ++position; } - count = (unsigned)::boost::BOOST_REGEX_DETAIL_NS::distance(origin, position); + count = (unsigned)std::distance(origin, position); } else { @@ -924,10 +927,10 @@ bool perl_matcher::match_set_repeat() pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option pop #endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -935,11 +938,11 @@ bool perl_matcher::match_set_repeat() template bool perl_matcher::match_long_set_repeat() { -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif typedef typename traits::char_class_type m_type; @@ -956,7 +959,7 @@ bool perl_matcher::match_long_set_repeat() BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. - std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : ::boost::BOOST_REGEX_DETAIL_NS::distance(position, last); + std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else @@ -966,7 +969,7 @@ bool perl_matcher::match_long_set_repeat() { ++position; } - count = (unsigned)::boost::BOOST_REGEX_DETAIL_NS::distance(origin, position); + count = (unsigned)std::distance(origin, position); } else { @@ -999,10 +1002,10 @@ bool perl_matcher::match_long_set_repeat() pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option pop #endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } @@ -1010,7 +1013,7 @@ bool perl_matcher::match_long_set_repeat() template bool perl_matcher::match_recursion() { - BOOST_ASSERT(pstate->type == syntax_element_recurse); + BOOST_REGEX_ASSERT(pstate->type == syntax_element_recurse); // // See if we've seen this recursion before at this location, if we have then // we need to prevent infinite recursion: @@ -1087,7 +1090,7 @@ bool perl_matcher::match_match() { if(!recursion_stack.empty()) { - BOOST_ASSERT(0 == recursion_stack.back().idx); + BOOST_REGEX_ASSERT(0 == recursion_stack.back().idx); pstate = recursion_stack.back().preturn_address; push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, m_presult, &recursion_stack.back().results); *m_presult = recursion_stack.back().results; @@ -1213,7 +1216,10 @@ bool perl_matcher::skip_until_paren(int index, else if(pstate->type == syntax_element_startmark) { int idx = static_cast(pstate)->index; - pstate = pstate->next.p; + if(idx > 0) + match_startmark(); + else + pstate = pstate->next.p; skip_until_paren(idx, false); continue; } @@ -1224,7 +1230,7 @@ bool perl_matcher::skip_until_paren(int index, /**************************************************************************** -Unwind and associated proceedures follow, these perform what normal stack +Unwind and associated procedures follow, these perform what normal stack unwinding does in the recursive implementation. ****************************************************************************/ @@ -1296,7 +1302,7 @@ bool perl_matcher::unwind_paren(bool have_match { saved_matched_paren* pmp = static_cast*>(m_backup_state); // restore previous values if no match was found: - if(have_match == false) + if(!have_match) { m_presult->set_first(pmp->sub.first, pmp->index, pmp->index == 0); m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched, pmp->index == 0); @@ -1363,6 +1369,7 @@ bool perl_matcher::unwind_repeater_counter(bool template bool perl_matcher::unwind_extra_block(bool) { + ++used_block_count; saved_extra_block* pmp = static_cast(m_backup_state); void* condemmed = m_stack_base; m_stack_base = pmp->base; @@ -1394,15 +1401,15 @@ bool perl_matcher::unwind_greedy_single_repeat( const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; - BOOST_ASSERT(rep->next.p != 0); - BOOST_ASSERT(rep->alt.p != 0); + BOOST_REGEX_ASSERT(rep->next.p != 0); + BOOST_REGEX_ASSERT(rep->alt.p != 0); count -= rep->min; if((m_match_flags & match_partial) && (position == last)) m_has_partial_match = true; - BOOST_ASSERT(count); + BOOST_REGEX_ASSERT(count); position = pmp->last_position; // backtrack till we can skip out: @@ -1443,12 +1450,12 @@ bool perl_matcher::unwind_slow_dot_repeat(bool const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; - BOOST_ASSERT(rep->type == syntax_element_dot_rep); - BOOST_ASSERT(rep->next.p != 0); - BOOST_ASSERT(rep->alt.p != 0); - BOOST_ASSERT(rep->next.p->type == syntax_element_wild); + BOOST_REGEX_ASSERT(rep->type == syntax_element_dot_rep); + BOOST_REGEX_ASSERT(rep->next.p != 0); + BOOST_REGEX_ASSERT(rep->alt.p != 0); + BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_wild); - BOOST_ASSERT(count < rep->max); + BOOST_REGEX_ASSERT(count < rep->max); pstate = rep->next.p; position = pmp->last_position; @@ -1508,7 +1515,7 @@ bool perl_matcher::unwind_fast_dot_repeat(bool const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; - BOOST_ASSERT(count < rep->max); + BOOST_REGEX_ASSERT(count < rep->max); position = pmp->last_position; if(position != last) { @@ -1568,11 +1575,11 @@ bool perl_matcher::unwind_char_repeat(bool r) const char_type what = *reinterpret_cast(static_cast(pstate) + 1); position = pmp->last_position; - BOOST_ASSERT(rep->type == syntax_element_char_rep); - BOOST_ASSERT(rep->next.p != 0); - BOOST_ASSERT(rep->alt.p != 0); - BOOST_ASSERT(rep->next.p->type == syntax_element_literal); - BOOST_ASSERT(count < rep->max); + BOOST_REGEX_ASSERT(rep->type == syntax_element_char_rep); + BOOST_REGEX_ASSERT(rep->next.p != 0); + BOOST_REGEX_ASSERT(rep->alt.p != 0); + BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_literal); + BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { @@ -1637,11 +1644,11 @@ bool perl_matcher::unwind_short_set_repeat(bool const unsigned char* map = static_cast(rep->next.p)->_map; position = pmp->last_position; - BOOST_ASSERT(rep->type == syntax_element_short_set_rep); - BOOST_ASSERT(rep->next.p != 0); - BOOST_ASSERT(rep->alt.p != 0); - BOOST_ASSERT(rep->next.p->type == syntax_element_set); - BOOST_ASSERT(count < rep->max); + BOOST_REGEX_ASSERT(rep->type == syntax_element_short_set_rep); + BOOST_REGEX_ASSERT(rep->next.p != 0); + BOOST_REGEX_ASSERT(rep->alt.p != 0); + BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_set); + BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { @@ -1707,11 +1714,11 @@ bool perl_matcher::unwind_long_set_repeat(bool const re_set_long* set = static_cast*>(pstate); position = pmp->last_position; - BOOST_ASSERT(rep->type == syntax_element_long_set_rep); - BOOST_ASSERT(rep->next.p != 0); - BOOST_ASSERT(rep->alt.p != 0); - BOOST_ASSERT(rep->next.p->type == syntax_element_long_set); - BOOST_ASSERT(count < rep->max); + BOOST_REGEX_ASSERT(rep->type == syntax_element_long_set_rep); + BOOST_REGEX_ASSERT(rep->next.p != 0); + BOOST_REGEX_ASSERT(rep->alt.p != 0); + BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set); + BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { @@ -1860,7 +1867,11 @@ bool perl_matcher::unwind_then(bool b) // Unwind everything till we hit an alternative: boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++); bool result = false; - while((result = unwind(b)) && !m_unwound_alt){} + result = unwind(b); + while(result && !m_unwound_alt) + { + result = unwind(b); + } // We're now pointing at the next alternative, need one more backtrack // since *all* the other alternatives must fail once we've reached a THEN clause: if(result && m_unwound_alt) @@ -1868,81 +1879,11 @@ bool perl_matcher::unwind_then(bool b) return false; } -/* -template -bool perl_matcher::unwind_parenthesis_pop(bool r) -{ - saved_state* pmp = static_cast(m_backup_state); - if(!r) - { - --parenthesis_stack_position; - } - boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); - m_backup_state = pmp; - return true; -} - -template -void perl_matcher::push_parenthesis_pop() -{ - saved_state* pmp = static_cast(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast(m_backup_state); - --pmp; - } - (void) new (pmp)saved_state(16); - m_backup_state = pmp; -} - -template -bool perl_matcher::unwind_parenthesis_push(bool r) -{ - saved_position* pmp = static_cast*>(m_backup_state); - if(!r) - { - parenthesis_stack[parenthesis_stack_position++] = pmp->position; - } - boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); - m_backup_state = pmp; - return true; -} - -template -inline void perl_matcher::push_parenthesis_push(BidiIterator p) -{ - saved_position* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - (void) new (pmp)saved_position(0, p, 17); - m_backup_state = pmp; -} -*/ } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) #endif - -#endif - - diff --git a/include/boost/regex/v4/primary_transform.hpp b/include/boost/regex/v5/primary_transform.hpp similarity index 87% rename from include/boost/regex/v4/primary_transform.hpp rename to include/boost/regex/v5/primary_transform.hpp index 3e7cac549..ed46f3922 100644 --- a/include/boost/regex/v4/primary_transform.hpp +++ b/include/boost/regex/v5/primary_transform.hpp @@ -20,17 +20,6 @@ #ifndef BOOST_REGEX_PRIMARY_TRANSFORM #define BOOST_REGEX_PRIMARY_TRANSFORM -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ @@ -46,7 +35,7 @@ template unsigned count_chars(const S& s, charT c) { // - // Count how many occurances of character c occur + // Count how many occurrences of character c occur // in string s: if c is a delimeter between collation // fields, then this should be the same value for all // sort keys: @@ -125,22 +114,7 @@ unsigned find_sort_syntax(const traits* pt, charT* delim) } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif - - - - diff --git a/include/boost/regex/v4/regbase.hpp b/include/boost/regex/v5/regbase.hpp similarity index 90% rename from include/boost/regex/v4/regbase.hpp rename to include/boost/regex/v5/regbase.hpp index 2b737d5ab..42fda89a4 100644 --- a/include/boost/regex/v4/regbase.hpp +++ b/include/boost/regex/v5/regbase.hpp @@ -16,26 +16,17 @@ * DESCRIPTION: Declares class regbase. */ -#ifndef BOOST_REGEX_V4_REGBASE_HPP -#define BOOST_REGEX_V4_REGBASE_HPP +#ifndef BOOST_REGEX_V5_REGBASE_HPP +#define BOOST_REGEX_V5_REGBASE_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif +#include namespace boost{ // // class regbase // handles error codes and flags // -class BOOST_REGEX_DECL regbase +class regbase { public: enum flag_type_ @@ -123,7 +114,7 @@ class BOOST_REGEX_DECL regbase // namespace regex_constants{ - enum flag_type_ + BOOST_REGEX_MODULE_EXPORT enum flag_type_ { no_except = ::boost::regbase::no_except, @@ -159,22 +150,11 @@ namespace regex_constants{ JavaScript = normal, JScript = normal }; - typedef ::boost::regbase::flag_type syntax_option_type; + BOOST_REGEX_MODULE_EXPORT typedef ::boost::regbase::flag_type syntax_option_type; } // namespace regex_constants } // namespace boost -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif diff --git a/include/boost/regex/v5/regex.hpp b/include/boost/regex/v5/regex.hpp new file mode 100644 index 000000000..bd5244ee7 --- /dev/null +++ b/include/boost/regex/v5/regex.hpp @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex.cpp + * VERSION see + * DESCRIPTION: Declares boost::basic_regex<> and associated + * functions and classes. This header is the main + * entry point for the template regex code. + */ + +#ifndef BOOST_RE_REGEX_HPP_INCLUDED +#define BOOST_RE_REGEX_HPP_INCLUDED + +#ifdef __cplusplus + +// what follows is all C++ don't include in C builds!! + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost{ +#ifdef BOOST_REGEX_NO_FWD +BOOST_REGEX_MODULE_EXPORT typedef basic_regex > regex; +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT typedef basic_regex > wregex; +#endif +#endif + +BOOST_REGEX_MODULE_EXPORT typedef match_results cmatch; +BOOST_REGEX_MODULE_EXPORT typedef match_results smatch; +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT typedef match_results wcmatch; +BOOST_REGEX_MODULE_EXPORT typedef match_results wsmatch; +#endif + +} // namespace boost + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif // __cplusplus + +#endif // include + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/include/boost/regex/v4/regex_format.hpp b/include/boost/regex/v5/regex_format.hpp similarity index 85% rename from include/boost/regex/v4/regex_format.hpp rename to include/boost/regex/v5/regex_format.hpp index b65ffcc9c..afd9d915a 100644 --- a/include/boost/regex/v4/regex_format.hpp +++ b/include/boost/regex/v5/regex_format.hpp @@ -21,38 +21,20 @@ #ifndef BOOST_REGEX_FORMAT_HPP #define BOOST_REGEX_FORMAT_HPP -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_SFINAE -#include +#include +#include +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#include #endif -#include namespace boost{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - // // Forward declaration: // - template >::allocator_type > +BOOST_REGEX_MODULE_EXPORT template >::allocator_type > class match_results; namespace BOOST_REGEX_DETAIL_NS{ @@ -90,6 +72,10 @@ struct trivial_format_traits } }; +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +#pragma warning(disable:26812) +#endif template class basic_regex_formatter { @@ -116,49 +102,49 @@ class basic_regex_formatter void put(char_type c); void put(const sub_match_type& sub); - void format_all(); + void format_all(unsigned recursion_count = 0); void format_perl(); void format_escape(); - void format_conditional(); - void format_until_scope_end(); + void format_conditional(unsigned recursion_count); + void format_until_scope_end(unsigned recursion_count); bool handle_perl_verb(bool have_brace); - inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const mpl::false_&) + inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant&) { std::vector v(i, j); return (i != j) ? this->m_results.named_subexpression(&v[0], &v[0] + v.size()) : this->m_results.named_subexpression(static_cast(0), static_cast(0)); } - inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const mpl::true_&) + inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant&) { return this->m_results.named_subexpression(i, j); } inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j) { - typedef typename boost::is_convertible::type tag_type; + typedef typename std::is_convertible::type tag_type; return get_named_sub(i, j, tag_type()); } - inline int get_named_sub_index(ForwardIter i, ForwardIter j, const mpl::false_&) + inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant&) { std::vector v(i, j); return (i != j) ? this->m_results.named_subexpression_index(&v[0], &v[0] + v.size()) : this->m_results.named_subexpression_index(static_cast(0), static_cast(0)); } - inline int get_named_sub_index(ForwardIter i, ForwardIter j, const mpl::true_&) + inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant&) { return this->m_results.named_subexpression_index(i, j); } inline int get_named_sub_index(ForwardIter i, ForwardIter j) { - typedef typename boost::is_convertible::type tag_type; + typedef typename std::is_convertible::type tag_type; return get_named_sub_index(i, j, tag_type()); } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC // msvc-8.0 issues a spurious warning on the call to std::advance here: #pragma warning(push) #pragma warning(disable:4244) #endif - inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::false_&) + inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant&) { if(i != j) { @@ -171,10 +157,10 @@ class basic_regex_formatter } return -1; } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif - inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::true_&) + inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant&) { return m_traits.toi(i, j, base); } @@ -183,9 +169,9 @@ class basic_regex_formatter #if defined(_MSC_VER) && defined(__INTEL_COMPILER) && ((__INTEL_COMPILER == 9999) || (__INTEL_COMPILER == 1210)) // Workaround for Intel support issue #656654. // See also https://svn.boost.org/trac/boost/ticket/6359 - return toi(i, j, base, mpl::false_()); + return toi(i, j, base, std::integral_constant()); #else - typedef typename boost::is_convertible::type tag_type; + typedef typename std::is_convertible::type tag_type; return toi(i, j, base, tag_type()); #endif } @@ -203,6 +189,9 @@ class basic_regex_formatter basic_regex_formatter(const basic_regex_formatter&); basic_regex_formatter& operator=(const basic_regex_formatter&); }; +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif template OutputIterator basic_regex_formatter::format(ForwardIter p1, ForwardIter p2, match_flag_type f) @@ -215,7 +204,7 @@ OutputIterator basic_regex_formatter -void basic_regex_formatter::format_all() +void basic_regex_formatter::format_all(unsigned recursion_count) { // over and over: while(m_position != m_end) @@ -235,16 +224,16 @@ void basic_regex_formatter::format format_escape(); break; case '(': - if(m_flags & boost::regex_constants::format_all) + if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH)) { ++m_position; bool have_conditional = m_have_conditional; m_have_conditional = false; - format_until_scope_end(); + format_until_scope_end(recursion_count); m_have_conditional = have_conditional; if(m_position == m_end) return; - BOOST_ASSERT(*m_position == static_cast(')')); + BOOST_REGEX_ASSERT(*m_position == static_cast(')')); ++m_position; // skip the closing ')' break; } @@ -268,10 +257,10 @@ void basic_regex_formatter::format ++m_position; break; case '?': - if(m_flags & boost::regex_constants::format_all) + if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH)) { ++m_position; - format_conditional(); + format_conditional(recursion_count); break; } put(*m_position); @@ -284,7 +273,7 @@ void basic_regex_formatter::format break; } // not a special character: - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: put(*m_position); ++m_position; @@ -300,7 +289,7 @@ void basic_regex_formatter::format // On entry *m_position points to a '$' character // output the information that goes with it: // - BOOST_ASSERT(*m_position == '$'); + BOOST_REGEX_ASSERT(*m_position == '$'); // // see if this is a trailing '$': // @@ -355,11 +344,11 @@ void basic_regex_formatter::format case '{': have_brace = true; ++m_position; - BOOST_FALLTHROUGH; + BOOST_REGEX_FALLTHROUGH; default: // see if we have a number: { - std::ptrdiff_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end); + std::ptrdiff_t len = std::distance(m_position, m_end); //len = (std::min)(static_cast(2), len); int v = this->toi(m_position, m_position + len, 10); if((v < 0) || (have_brace && ((m_position == m_end) || (*m_position != '}')))) @@ -570,7 +559,7 @@ void basic_regex_formatter::format } else { - std::ptrdiff_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end); + std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(2), len); int val = this->toi(m_position, m_position + len, 16); if(val < 0) @@ -634,7 +623,7 @@ void basic_regex_formatter::format break; } // see if we have a \n sed style backreference: - std::ptrdiff_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end); + std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(1), len); int v = this->toi(m_position, m_position+len, 10); if((v > 0) || ((v == 0) && (m_flags & ::boost::regex_constants::format_sed))) @@ -646,10 +635,10 @@ void basic_regex_formatter::format { // octal ecape sequence: --m_position; - len = ::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end); + len = std::distance(m_position, m_end); len = (std::min)(static_cast(4), len); v = this->toi(m_position, m_position + len, 8); - BOOST_ASSERT(v >= 0); + BOOST_REGEX_ASSERT(v >= 0); put(static_cast(v)); break; } @@ -660,7 +649,7 @@ void basic_regex_formatter::format } template -void basic_regex_formatter::format_conditional() +void basic_regex_formatter::format_conditional(unsigned recursion_count) { if(m_position == m_end) { @@ -693,7 +682,7 @@ void basic_regex_formatter::format } else { - std::ptrdiff_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance(m_position, m_end); + std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(2), len); v = this->toi(m_position, m_position + len, 10); } @@ -708,7 +697,7 @@ void basic_regex_formatter::format if(m_results[v].matched) { m_have_conditional = true; - format_all(); + format_all(++recursion_count); m_have_conditional = false; if((m_position != m_end) && (*m_position == static_cast(':'))) { @@ -718,7 +707,7 @@ void basic_regex_formatter::format output_state saved_state = m_state; m_state = output_none; // format the rest of this scope: - format_until_scope_end(); + format_until_scope_end(recursion_count); // restore output state: m_state = saved_state; } @@ -730,7 +719,7 @@ void basic_regex_formatter::format m_state = output_none; // format until ':' or ')': m_have_conditional = true; - format_all(); + format_all(++recursion_count); m_have_conditional = false; // restore state: m_state = saved_state; @@ -739,17 +728,17 @@ void basic_regex_formatter::format // skip the ':': ++m_position; // format the rest of this scope: - format_until_scope_end(); + format_until_scope_end(recursion_count); } } } template -void basic_regex_formatter::format_until_scope_end() +void basic_regex_formatter::format_until_scope_end(unsigned recursion_count) { do { - format_all(); + format_all(++recursion_count); if((m_position == m_end) || (*m_position == static_cast(')'))) return; put(*m_position++); @@ -840,9 +829,17 @@ OutputIterator regex_format_imp(OutputIterator out, return f.format(p1, p2, flags); } -#ifndef BOOST_NO_SFINAE +template +struct has_const_iterator +{ + template + static typename U::const_iterator tester(U*); + static char tester(...); -BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator) + static T* get(); + + static const bool value = sizeof(tester(get())) != sizeof(char); +}; struct any_type { @@ -884,7 +881,7 @@ struct unary_binary_ternary operator ternary_fun(); }; -template::value> +template::value> struct formatter_wrapper : Formatter , unary_binary_ternary @@ -906,6 +903,22 @@ struct formatter_wrapper operator Formatter *(); }; +template +struct do_unwrap_reference +{ + typedef T type; +}; +template +struct do_unwrap_reference > +{ + typedef T type; +}; + +template +T& do_unwrap_ref(T& r) { return r; } +template +T& do_unwrap_ref(std::reference_wrapper const& r) { return r.get(); } + template struct format_traits_imp { @@ -913,13 +926,13 @@ struct format_traits_imp // // F must be a pointer, a function, or a class with a function call operator: // - BOOST_STATIC_ASSERT((::boost::is_pointer::value || ::boost::is_function::value || ::boost::is_class::value)); - static formatter_wrapper::type> f; + static_assert((::std::is_pointer::value || ::std::is_function::value || ::std::is_class::value), "The functor must be a pointer or a class with a function call operator"); + static formatter_wrapper::type> f; static M m; static O out; static boost::regex_constants::match_flag_type flags; public: - BOOST_STATIC_CONSTANT(int, value = sizeof(check_is_formatter(f(m), f(m, out), f(m, out, flags)))); + static const int value = sizeof(check_is_formatter(f(m), f(m, out), f(m, out, flags))); }; template @@ -927,7 +940,7 @@ struct format_traits { public: // - // Type is mpl::int_ where N is one of: + // Type is std::integral_constant where N is one of: // // 0 : F is a pointer to a presumably null-terminated string. // 1 : F is a character-container such as a std::string. @@ -935,46 +948,22 @@ struct format_traits // 3 : F is a Binary Functor. // 4 : F is a Ternary Functor. // - typedef typename boost::mpl::if_< - boost::mpl::and_, boost::mpl::not_::type> > >, - boost::mpl::int_<0>, - typename boost::mpl::if_< - has_const_iterator, - boost::mpl::int_<1>, - boost::mpl::int_::value> + typedef typename std::conditional< + std::is_pointer::value && !std::is_function::type>::value, + std::integral_constant, + typename std::conditional< + has_const_iterator::value, + std::integral_constant, + std::integral_constant::value> >::type >::type type; // // This static assertion will fail if the functor passed does not accept // the same type of arguments passed. // - BOOST_STATIC_ASSERT( boost::is_class::value && !has_const_iterator::value ? (type::value > 1) : true); + static_assert( std::is_class::value && !has_const_iterator::value ? (type::value > 1) : true, "Argument mismatch in Functor type"); }; -#else // BOOST_NO_SFINAE - -template -struct format_traits -{ -public: - // - // Type is mpl::int_ where N is one of: - // - // 0 : F is a pointer to a presumably null-terminated string. - // 1 : F is a character-container such as a std::string. - // - // Other options such as F being a Functor are not supported without - // SFINAE support. - // - typedef typename boost::mpl::if_< - boost::is_pointer, - boost::mpl::int_<0>, - boost::mpl::int_<1> - >::type type; -}; - -#endif // BOOST_NO_SFINAE - template struct format_functor3 { @@ -982,7 +971,7 @@ struct format_functor3 template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f) { - return boost::unwrap_ref(func)(m, i, f); + return do_unwrap_ref(func)(m, i, f); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) @@ -1002,7 +991,7 @@ struct format_functor2 template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/) { - return boost::unwrap_ref(func)(m, i); + return do_unwrap_ref(func)(m, i); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) @@ -1023,7 +1012,7 @@ struct format_functor1 template OutputIter do_format_string(const S& s, OutputIter i) { - return BOOST_REGEX_DETAIL_NS::copy(s.begin(), s.end(), i); + return std::copy(s.begin(), s.end(), i); } template inline OutputIter do_format_string(const S* s, OutputIter i) @@ -1039,7 +1028,7 @@ struct format_functor1 template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/) { - return do_format_string(boost::unwrap_ref(func)(m), i); + return do_format_string(do_unwrap_ref(func)(m), i); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) @@ -1092,16 +1081,16 @@ template ::type tag; - typedef typename boost::remove_cv< typename boost::remove_pointer::type>::type maybe_char_type; - - typedef typename mpl::if_< - ::boost::is_same >, format_functor_c_string, - typename mpl::if_< - ::boost::is_same >, format_functor_container, - typename mpl::if_< - ::boost::is_same >, format_functor1, - typename mpl::if_< - ::boost::is_same >, format_functor2, + typedef typename std::remove_cv< typename std::remove_pointer::type>::type maybe_char_type; + + typedef typename std::conditional< + tag::value == 0, format_functor_c_string, + typename std::conditional< + tag::value == 1, format_functor_container, + typename std::conditional< + tag::value == 2, format_functor1, + typename std::conditional< + tag::value == 3, format_functor2, format_functor3 >::type >::type @@ -1111,7 +1100,7 @@ struct compute_functor_type } // namespace BOOST_REGEX_DETAIL_NS -template +BOOST_REGEX_MODULE_EXPORT template inline OutputIterator regex_format(OutputIterator out, const match_results& m, Functor fmt, @@ -1121,7 +1110,7 @@ inline OutputIterator regex_format(OutputIterator out, return m.format(out, fmt, flags); } -template +BOOST_REGEX_MODULE_EXPORT template inline std::basic_string::char_type> regex_format(const match_results& m, Functor fmt, match_flag_type flags = format_all) @@ -1129,17 +1118,6 @@ inline std::basic_string::char_type> return m.format(fmt, flags); } -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - } // namespace boost #endif // BOOST_REGEX_FORMAT_HPP diff --git a/include/boost/regex/v5/regex_fwd.hpp b/include/boost/regex/v5/regex_fwd.hpp new file mode 100644 index 000000000..4f202a417 --- /dev/null +++ b/include/boost/regex/v5/regex_fwd.hpp @@ -0,0 +1,73 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_fwd.cpp + * VERSION see + * DESCRIPTION: Forward declares boost::basic_regex<> and + * associated typedefs. + */ + +#ifndef BOOST_REGEX_FWD_HPP_INCLUDED +#define BOOST_REGEX_FWD_HPP_INCLUDED + +#ifndef BOOST_REGEX_CONFIG_HPP +#include +#endif + +// +// define BOOST_REGEX_NO_FWD if this +// header doesn't work! +// +#ifdef BOOST_REGEX_NO_FWD +# ifndef BOOST_RE_REGEX_HPP +# include +# endif +#else + +namespace boost{ + +BOOST_REGEX_MODULE_EXPORT template +class cpp_regex_traits; +BOOST_REGEX_MODULE_EXPORT template +struct c_regex_traits; +BOOST_REGEX_MODULE_EXPORT template +class w32_regex_traits; + +#ifdef BOOST_REGEX_USE_WIN32_LOCALE +BOOST_REGEX_MODULE_EXPORT template > +struct regex_traits; +#elif defined(BOOST_REGEX_USE_CPP_LOCALE) +BOOST_REGEX_MODULE_EXPORT template > +struct regex_traits; +#else +BOOST_REGEX_MODULE_EXPORT template > +struct regex_traits; +#endif + +BOOST_REGEX_MODULE_EXPORT template > +class basic_regex; + +BOOST_REGEX_MODULE_EXPORT typedef basic_regex > regex; +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT typedef basic_regex > wregex; +#endif + +} // namespace boost + +#endif // BOOST_REGEX_NO_FWD + +#endif + + + + diff --git a/include/boost/regex/v5/regex_grep.hpp b/include/boost/regex/v5/regex_grep.hpp new file mode 100644 index 000000000..4ae6a1779 --- /dev/null +++ b/include/boost/regex/v5/regex_grep.hpp @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_grep.hpp + * VERSION see + * DESCRIPTION: Provides regex_grep implementation. + */ + +#ifndef BOOST_REGEX_V5_REGEX_GREP_HPP +#define BOOST_REGEX_V5_REGEX_GREP_HPP + +#include +#include +#include +#include + +namespace boost{ + +// +// regex_grep: +// find all non-overlapping matches within the sequence first last: +// +BOOST_REGEX_MODULE_EXPORT template +inline unsigned int regex_grep(Predicate foo, + BidiIterator first, + BidiIterator last, + const basic_regex& e, + match_flag_type flags = match_default) +{ + if(e.flags() & regex_constants::failbit) + return false; + + typedef typename match_results::allocator_type match_allocator_type; + + match_results m; + BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); + unsigned int count = 0; + while(BOOST_REGEX_DETAIL_NS::factory_find(matcher)) + { + ++count; + if(0 == foo(m)) + return count; // caller doesn't want to go on + if(m[0].second == last) + return count; // we've reached the end, don't try and find an extra null match. + if(m.length() == 0) + { + if(m[0].second == last) + return count; + // we found a NULL-match, now try to find + // a non-NULL one at the same position: + match_results m2(m); + matcher.setf(match_not_null | match_continuous); + if(BOOST_REGEX_DETAIL_NS::factory_find(matcher)) + { + ++count; + if(0 == foo(m)) + return count; + } + else + { + // reset match back to where it was: + m = m2; + } + matcher.unsetf((match_not_null | match_continuous) & ~flags); + } + } + return count; +} + +// +// regex_grep convenience interfaces: +// +BOOST_REGEX_MODULE_EXPORT template +inline unsigned int regex_grep(Predicate foo, const charT* str, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_grep(foo, str, str + traits::length(str), e, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline unsigned int regex_grep(Predicate foo, const std::basic_string& s, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_grep(foo, s.begin(), s.end(), e, flags); +} + +} // namespace boost + +#endif // BOOST_REGEX_V5_REGEX_GREP_HPP + diff --git a/include/boost/regex/v4/regex_iterator.hpp b/include/boost/regex/v5/regex_iterator.hpp similarity index 80% rename from include/boost/regex/v4/regex_iterator.hpp rename to include/boost/regex/v5/regex_iterator.hpp index 380a9a71a..25a75e550 100644 --- a/include/boost/regex/v4/regex_iterator.hpp +++ b/include/boost/regex/v5/regex_iterator.hpp @@ -16,24 +16,17 @@ * DESCRIPTION: Provides regex_iterator implementation. */ -#ifndef BOOST_REGEX_V4_REGEX_ITERATOR_HPP -#define BOOST_REGEX_V4_REGEX_ITERATOR_HPP +#ifndef BOOST_REGEX_V5_REGEX_ITERATOR_HPP +#define BOOST_REGEX_V5_REGEX_ITERATOR_HPP -#include +#include +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#endif namespace boost{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - template @@ -50,6 +43,8 @@ class regex_iterator_implementation public: regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f) : base(), end(last), re(*p), flags(f){} + regex_iterator_implementation(const regex_iterator_implementation& other) + :what(other.what), base(other.base), end(other.end), re(other.re), flags(other.flags){} bool init(BidirectionalIterator first) { base = first; @@ -81,18 +76,18 @@ class regex_iterator_implementation regex_iterator_implementation& operator=(const regex_iterator_implementation&); }; -template ::value_type, +BOOST_REGEX_MODULE_EXPORT template ::value_type, class traits = regex_traits > class regex_iterator { private: typedef regex_iterator_implementation impl; - typedef shared_ptr pimpl; + typedef std::shared_ptr pimpl; public: typedef basic_regex regex_type; typedef match_results value_type; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::difference_type + typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; @@ -150,44 +145,33 @@ class regex_iterator void cow() { // copy-on-write - if(pdata.get() && !pdata.unique()) + if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } } }; -typedef regex_iterator cregex_iterator; -typedef regex_iterator sregex_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_iterator cregex_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_iterator sregex_iterator; #ifndef BOOST_NO_WREGEX -typedef regex_iterator wcregex_iterator; -typedef regex_iterator wsregex_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_iterator wcregex_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_iterator wsregex_iterator; #endif // make_regex_iterator: -template +BOOST_REGEX_MODULE_EXPORT template inline regex_iterator make_regex_iterator(const charT* p, const basic_regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_iterator(p, p+traits::length(p), e, m); } -template +BOOST_REGEX_MODULE_EXPORT template inline regex_iterator::const_iterator, charT, traits> make_regex_iterator(const std::basic_string& p, const basic_regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, m); } -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - } // namespace boost -#endif // BOOST_REGEX_V4_REGEX_ITERATOR_HPP +#endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP diff --git a/include/boost/regex/v5/regex_match.hpp b/include/boost/regex/v5/regex_match.hpp new file mode 100644 index 000000000..f70a6e62b --- /dev/null +++ b/include/boost/regex/v5/regex_match.hpp @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_match.hpp + * VERSION see + * DESCRIPTION: Regular expression matching algorithms. + * Note this is an internal header file included + * by regex.hpp, do not include on its own. + */ + + +#ifndef BOOST_REGEX_MATCH_HPP +#define BOOST_REGEX_MATCH_HPP + +#include +#include + +namespace boost{ + +// +// proc regex_match +// returns true if the specified regular expression matches +// the whole of the input. Fills in what matched in m. +// +BOOST_REGEX_MODULE_EXPORT template +bool regex_match(BidiIterator first, BidiIterator last, + match_results& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); + return BOOST_REGEX_DETAIL_NS::factory_match(matcher); +} +BOOST_REGEX_MODULE_EXPORT template +bool regex_match(iterator first, iterator last, + const basic_regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return regex_match(first, last, m, e, flags | regex_constants::match_any); +} +// +// query_match convenience interfaces: +// +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_match(const charT* str, + match_results& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_match(str, str + traits::length(str), m, e, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_match(const std::basic_string& s, + match_results::const_iterator, Allocator>& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_match(s.begin(), s.end(), m, e, flags); +} +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_match(const charT* str, + const basic_regex& e, + match_flag_type flags = match_default) +{ + match_results m; + return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any); +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_match(const std::basic_string& s, + const basic_regex& e, + match_flag_type flags = match_default) +{ + typedef typename std::basic_string::const_iterator iterator; + match_results m; + return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); +} + + +} // namespace boost + +#endif // BOOST_REGEX_MATCH_HPP + diff --git a/include/boost/regex/v5/regex_merge.hpp b/include/boost/regex/v5/regex_merge.hpp new file mode 100644 index 000000000..ba9ac21c2 --- /dev/null +++ b/include/boost/regex/v5/regex_merge.hpp @@ -0,0 +1,71 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_format.hpp + * VERSION see + * DESCRIPTION: Provides formatting output routines for search and replace + * operations. Note this is an internal header file included + * by regex.hpp, do not include on its own. + */ + +#ifndef BOOST_REGEX_V5_REGEX_MERGE_HPP +#define BOOST_REGEX_V5_REGEX_MERGE_HPP + + +namespace boost{ + +BOOST_REGEX_MODULE_EXPORT template +inline OutputIterator regex_merge(OutputIterator out, + Iterator first, + Iterator last, + const basic_regex& e, + const charT* fmt, + match_flag_type flags = match_default) +{ + return regex_replace(out, first, last, e, fmt, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline OutputIterator regex_merge(OutputIterator out, + Iterator first, + Iterator last, + const basic_regex& e, + const std::basic_string& fmt, + match_flag_type flags = match_default) +{ + return regex_merge(out, first, last, e, fmt.c_str(), flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string regex_merge(const std::basic_string& s, + const basic_regex& e, + const charT* fmt, + match_flag_type flags = match_default) +{ + return regex_replace(s, e, fmt, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string regex_merge(const std::basic_string& s, + const basic_regex& e, + const std::basic_string& fmt, + match_flag_type flags = match_default) +{ + return regex_replace(s, e, fmt, flags); +} + +} // namespace boost + +#endif // BOOST_REGEX_V5_REGEX_MERGE_HPP + + diff --git a/include/boost/regex/v5/regex_raw_buffer.hpp b/include/boost/regex/v5/regex_raw_buffer.hpp new file mode 100644 index 000000000..b3b8bb98b --- /dev/null +++ b/include/boost/regex/v5/regex_raw_buffer.hpp @@ -0,0 +1,216 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_raw_buffer.hpp + * VERSION see + * DESCRIPTION: Raw character buffer for regex code. + * Note this is an internal header file included + * by regex.hpp, do not include on its own. + */ + +#ifndef BOOST_REGEX_RAW_BUFFER_HPP +#define BOOST_REGEX_RAW_BUFFER_HPP + +#ifndef BOOST_REGEX_CONFIG_HPP +#include +#endif + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#endif + +namespace boost{ + namespace BOOST_REGEX_DETAIL_NS{ + +struct empty_padding{}; + +union padding +{ + void* p; + unsigned int i; +}; + +template +struct padding3 +{ + enum{ + padding_size = 8, + padding_mask = 7 + }; +}; + +template<> +struct padding3<2> +{ + enum{ + padding_size = 2, + padding_mask = 1 + }; +}; + +template<> +struct padding3<4> +{ + enum{ + padding_size = 4, + padding_mask = 3 + }; +}; + +template<> +struct padding3<8> +{ + enum{ + padding_size = 8, + padding_mask = 7 + }; +}; + +template<> +struct padding3<16> +{ + enum{ + padding_size = 16, + padding_mask = 15 + }; +}; + +enum{ + padding_size = padding3::padding_size, + padding_mask = padding3::padding_mask +}; + +// +// class raw_storage +// basically this is a simplified vector +// this is used by basic_regex for expression storage +// + +class raw_storage +{ +public: + typedef std::size_t size_type; + typedef unsigned char* pointer; +private: + pointer last, start, end; +public: + + raw_storage(); + raw_storage(size_type n); + + ~raw_storage() + { + ::operator delete(start); + } + + void resize(size_type n) + { + size_type newsize = start ? last - start : 1024; + while (newsize < n) + newsize *= 2; + size_type datasize = end - start; + // extend newsize to WORD/DWORD boundary: + newsize = (newsize + padding_mask) & ~(padding_mask); + + // allocate and copy data: + pointer ptr = static_cast(::operator new(newsize)); + BOOST_REGEX_NOEH_ASSERT(ptr) + if (start) + std::memcpy(ptr, start, datasize); + + // get rid of old buffer: + ::operator delete(start); + + // and set up pointers: + start = ptr; + end = ptr + datasize; + last = ptr + newsize; + } + + void* extend(size_type n) + { + if(size_type(last - end) < n) + resize(n + (end - start)); + pointer result = end; + end += n; + return result; + } + + void* insert(size_type pos, size_type n) + { + BOOST_REGEX_ASSERT(pos <= size_type(end - start)); + if (size_type(last - end) < n) + resize(n + (end - start)); + void* result = start + pos; + std::memmove(start + pos + n, start + pos, (end - start) - pos); + end += n; + return result; + } + + size_type size() + { + return size_type(end - start); + } + + size_type capacity() + { + return size_type(last - start); + } + + void* data()const + { + return start; + } + + size_type index(void* ptr) + { + return size_type(static_cast(ptr) - static_cast(data())); + } + + void clear() + { + end = start; + } + + void align() + { + // move end up to a boundary: + end = start + (((end - start) + padding_mask) & ~padding_mask); + } + void swap(raw_storage& that) + { + std::swap(start, that.start); + std::swap(end, that.end); + std::swap(last, that.last); + } +}; + +inline raw_storage::raw_storage() +{ + last = start = end = 0; +} + +inline raw_storage::raw_storage(size_type n) +{ + start = end = static_cast(::operator new(n)); + BOOST_REGEX_NOEH_ASSERT(start) + last = start + n; +} + +} // namespace BOOST_REGEX_DETAIL_NS +} // namespace boost + +#endif + diff --git a/include/boost/regex/v4/regex_replace.hpp b/include/boost/regex/v5/regex_replace.hpp similarity index 76% rename from include/boost/regex/v4/regex_replace.hpp rename to include/boost/regex/v5/regex_replace.hpp index 415c58b63..4c2e993f4 100644 --- a/include/boost/regex/v4/regex_replace.hpp +++ b/include/boost/regex/v5/regex_replace.hpp @@ -18,24 +18,17 @@ * by regex.hpp, do not include on its own. */ -#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP -#define BOOST_REGEX_V4_REGEX_REPLACE_HPP +#ifndef BOOST_REGEX_V5_REGEX_REPLACE_HPP +#define BOOST_REGEX_V5_REGEX_REPLACE_HPP -namespace boost{ +#include +#include +#include -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif +namespace boost{ -template +BOOST_REGEX_MODULE_EXPORT template OutputIterator regex_replace(OutputIterator out, BidirectionalIterator first, BidirectionalIterator last, @@ -56,7 +49,7 @@ OutputIterator regex_replace(OutputIterator out, while(i != j) { if(!(flags & regex_constants::format_no_copy)) - out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out); + out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out); out = i->format(out, fmt, flags, e); last_m = (*i)[0].second; if(flags & regex_constants::format_first_only) @@ -69,7 +62,7 @@ OutputIterator regex_replace(OutputIterator out, return out; } -template +BOOST_REGEX_MODULE_EXPORT template std::basic_string regex_replace(const std::basic_string& s, const basic_regex& e, Formatter fmt, @@ -81,19 +74,8 @@ std::basic_string regex_replace(const std::basic_string& s, return result; } -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - } // namespace boost -#endif // BOOST_REGEX_V4_REGEX_REPLACE_HPP +#endif // BOOST_REGEX_V5_REGEX_REPLACE_HPP diff --git a/include/boost/regex/v5/regex_search.hpp b/include/boost/regex/v5/regex_search.hpp new file mode 100644 index 000000000..fbb826b28 --- /dev/null +++ b/include/boost/regex/v5/regex_search.hpp @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_search.hpp + * VERSION see + * DESCRIPTION: Provides regex_search implementation. + */ + +#ifndef BOOST_REGEX_V5_REGEX_SEARCH_HPP +#define BOOST_REGEX_V5_REGEX_SEARCH_HPP + + +#include +#include + +namespace boost{ + +BOOST_REGEX_MODULE_EXPORT template +bool regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_search(first, last, m, e, flags, first); +} + +BOOST_REGEX_MODULE_EXPORT template +bool regex_search(BidiIterator first, BidiIterator last, + match_results& m, + const basic_regex& e, + match_flag_type flags, + BidiIterator base) +{ + if(e.flags() & regex_constants::failbit) + return false; + + BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, base); + return BOOST_REGEX_DETAIL_NS::factory_find(matcher); +} + +// +// regex_search convenience interfaces: +// +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_search(const charT* str, + match_results& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_search(str, str + traits::length(str), m, e, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_search(const std::basic_string& s, + match_results::const_iterator, Allocator>& m, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_search(s.begin(), s.end(), m, e, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +bool regex_search(BidiIterator first, BidiIterator last, + const basic_regex& e, + match_flag_type flags = match_default) +{ + if(e.flags() & regex_constants::failbit) + return false; + + match_results m; + typedef typename match_results::allocator_type match_alloc_type; + BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags | regex_constants::match_any, first); + return BOOST_REGEX_DETAIL_NS::factory_find(matcher); +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_search(const charT* str, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_search(str, str + traits::length(str), e, flags); +} + +BOOST_REGEX_MODULE_EXPORT template +inline bool regex_search(const std::basic_string& s, + const basic_regex& e, + match_flag_type flags = match_default) +{ + return regex_search(s.begin(), s.end(), e, flags); +} + +} // namespace boost + +#endif // BOOST_REGEX_V5_REGEX_SEARCH_HPP + + diff --git a/include/boost/regex/v4/regex_split.hpp b/include/boost/regex/v5/regex_split.hpp similarity index 86% rename from include/boost/regex/v4/regex_split.hpp rename to include/boost/regex/v5/regex_split.hpp index afa565983..20bc19a87 100644 --- a/include/boost/regex/v4/regex_split.hpp +++ b/include/boost/regex/v5/regex_split.hpp @@ -21,22 +21,14 @@ #ifndef BOOST_REGEX_SPLIT_HPP #define BOOST_REGEX_SPLIT_HPP -namespace boost{ +#include +#include -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif +namespace boost{ -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(push) -#if BOOST_MSVC < 1910 +#if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif @@ -101,7 +93,7 @@ bool split_pred::operator() } // namespace BOOST_REGEX_DETAIL_NS -template +BOOST_REGEX_MODULE_EXPORT template std::size_t regex_split(OutputIterator out, std::basic_string& s, const basic_regex& e, @@ -136,7 +128,7 @@ std::size_t regex_split(OutputIterator out, return init_size - max_split; } -template +BOOST_REGEX_MODULE_EXPORT template inline std::size_t regex_split(OutputIterator out, std::basic_string& s, const basic_regex& e, @@ -145,28 +137,17 @@ inline std::size_t regex_split(OutputIterator out, return regex_split(out, s, e, flags, UINT_MAX); } -template +BOOST_REGEX_MODULE_EXPORT template inline std::size_t regex_split(OutputIterator out, std::basic_string& s) { return regex_split(out, s, BOOST_REGEX_DETAIL_NS::get_default_expression(charT(0)), match_default, UINT_MAX); } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - } // namespace boost #endif diff --git a/include/boost/regex/v5/regex_token_iterator.hpp b/include/boost/regex/v5/regex_token_iterator.hpp new file mode 100644 index 000000000..283fcd22b --- /dev/null +++ b/include/boost/regex/v5/regex_token_iterator.hpp @@ -0,0 +1,260 @@ +/* + * + * Copyright (c) 2003 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_token_iterator.hpp + * VERSION see + * DESCRIPTION: Provides regex_token_iterator implementation. + */ + +#ifndef BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP +#define BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP + +#include +#include +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#endif + +namespace boost{ + +template +class regex_token_iterator_implementation +{ + typedef basic_regex regex_type; + typedef sub_match value_type; + + match_results what; // current match + BidirectionalIterator base; // start of search area + BidirectionalIterator end; // end of search area + const regex_type re; // the expression + match_flag_type flags; // match flags + value_type result; // the current string result + int N; // the current sub-expression being enumerated + std::vector subs; // the sub-expressions to enumerate + +public: + regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f) + : end(last), re(*p), flags(f), N(0){ subs.push_back(sub); } + regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) + : end(last), re(*p), flags(f), N(0), subs(v){} + template + regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) + : end(last), re(*p), flags(f), N(0) + { + for(std::size_t i = 0; i < CN; ++i) + { + subs.push_back(submatches[i]); + } + } + regex_token_iterator_implementation(const regex_token_iterator_implementation& other) = default; + bool init(BidirectionalIterator first) + { + N = 0; + base = first; + if(regex_search(first, end, what, re, flags, base) == true) + { + N = 0; + result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]); + return true; + } + else if((subs[N] == -1) && (first != end)) + { + result.first = first; + result.second = end; + result.matched = (first != end); + N = -1; + return true; + } + return false; + } + bool compare(const regex_token_iterator_implementation& that) + { + if(this == &that) return true; + return (&re.get_data() == &that.re.get_data()) + && (end == that.end) + && (flags == that.flags) + && (N == that.N) + && (what[0].first == that.what[0].first) + && (what[0].second == that.what[0].second); + } + const value_type& get() + { return result; } + bool next() + { + if(N == -1) + return false; + if(N+1 < (int)subs.size()) + { + ++N; + result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); + return true; + } + //if(what.prefix().first != what[0].second) + // flags |= /*match_prev_avail |*/ regex_constants::match_not_bob; + BidirectionalIterator last_end(what[0].second); + if(regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base)) + { + N =0; + result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); + return true; + } + else if((last_end != end) && (subs[0] == -1)) + { + N =-1; + result.first = last_end; + result.second = end; + result.matched = (last_end != end); + return true; + } + return false; + } +private: + regex_token_iterator_implementation& operator=(const regex_token_iterator_implementation&); +}; + +BOOST_REGEX_MODULE_EXPORT template ::value_type, + class traits = regex_traits > +class regex_token_iterator +{ +private: + typedef regex_token_iterator_implementation impl; + typedef std::shared_ptr pimpl; +public: + typedef basic_regex regex_type; + typedef sub_match value_type; + typedef typename std::iterator_traits::difference_type + difference_type; + typedef const value_type* pointer; + typedef const value_type& reference; + typedef std::forward_iterator_tag iterator_category; + + regex_token_iterator(){} + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, + int submatch = 0, match_flag_type m = match_default) + : pdata(new impl(&re, b, submatch, m)) + { + if(!pdata->init(a)) + pdata.reset(); + } + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, + const std::vector& submatches, match_flag_type m = match_default) + : pdata(new impl(&re, b, submatches, m)) + { + if(!pdata->init(a)) + pdata.reset(); + } + template + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, + const int (&submatches)[N], match_flag_type m = match_default) + : pdata(new impl(&re, b, submatches, m)) + { + if(!pdata->init(a)) + pdata.reset(); + } + regex_token_iterator(const regex_token_iterator& that) + : pdata(that.pdata) {} + regex_token_iterator& operator=(const regex_token_iterator& that) + { + pdata = that.pdata; + return *this; + } + bool operator==(const regex_token_iterator& that)const + { + if((pdata.get() == 0) || (that.pdata.get() == 0)) + return pdata.get() == that.pdata.get(); + return pdata->compare(*(that.pdata.get())); + } + bool operator!=(const regex_token_iterator& that)const + { return !(*this == that); } + const value_type& operator*()const + { return pdata->get(); } + const value_type* operator->()const + { return &(pdata->get()); } + regex_token_iterator& operator++() + { + cow(); + if(0 == pdata->next()) + { + pdata.reset(); + } + return *this; + } + regex_token_iterator operator++(int) + { + regex_token_iterator result(*this); + ++(*this); + return result; + } +private: + + pimpl pdata; + + void cow() + { + // copy-on-write + if(pdata.get() && (pdata.use_count() > 1)) + { + pdata.reset(new impl(*(pdata.get()))); + } + } +}; + +BOOST_REGEX_MODULE_EXPORT typedef regex_token_iterator cregex_token_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_token_iterator sregex_token_iterator; +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT typedef regex_token_iterator wcregex_token_iterator; +BOOST_REGEX_MODULE_EXPORT typedef regex_token_iterator wsregex_token_iterator; +#endif + +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator(p, p+traits::length(p), e, submatch, m); +} +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); +} +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator(p, p+traits::length(p), e, submatch, m); +} +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); +} +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator(p, p+traits::length(p), e, submatch, m); +} +BOOST_REGEX_MODULE_EXPORT template +inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) +{ + return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); +} + +} // namespace boost + +#endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP + + + + diff --git a/include/boost/regex/v5/regex_traits.hpp b/include/boost/regex/v5/regex_traits.hpp new file mode 100644 index 000000000..25dd542b1 --- /dev/null +++ b/include/boost/regex/v5/regex_traits.hpp @@ -0,0 +1,130 @@ +/* + * + * Copyright (c) 2003 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_traits.hpp + * VERSION see + * DESCRIPTION: Declares regular expression traits classes. + */ + +#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED +#define BOOST_REGEX_TRAITS_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) +# include +#endif +#include + +namespace boost{ + +BOOST_REGEX_MODULE_EXPORT template +struct regex_traits : public implementationT +{ + regex_traits() : implementationT() {} +}; + +// +// class regex_traits_wrapper. +// this is what our implementation will actually store; +// it provides default implementations of the "optional" +// interfaces that we support, in addition to the +// required "standard" ones: +// +namespace BOOST_REGEX_DETAIL_NS{ + + template + struct has_boost_extensions_tag + { + template + static double checker(U*, typename U::boost_extensions_tag* = nullptr); + static char checker(...); + static T* get(); + + static const bool value = sizeof(checker(get())) > 1; + }; + + +template +struct default_wrapper : public BaseT +{ + typedef typename BaseT::char_type char_type; + std::string error_string(::boost::regex_constants::error_type e)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(e); + } + ::boost::regex_constants::syntax_type syntax_type(char_type c)const + { + return (char_type(c & 0x7f) == c) ? get_default_syntax_type(static_cast(c)) : ::boost::regex_constants::syntax_char; + } + ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c)const + { + return (char_type(c & 0x7f) == c) ? get_default_escape_syntax_type(static_cast(c)) : ::boost::regex_constants::escape_type_identity; + } + std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); + } + char_type translate(char_type c, bool icase)const + { + return (icase ? this->translate_nocase(c) : this->translate(c)); + } + char_type translate(char_type c)const + { + return BaseT::translate(c); + } + char_type tolower(char_type c)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c); + } + char_type toupper(char_type c)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c); + } +}; + +template +struct compute_wrapper_base +{ + typedef BaseT type; +}; +template +struct compute_wrapper_base +{ + typedef default_wrapper type; +}; + +} // namespace BOOST_REGEX_DETAIL_NS + +template +struct regex_traits_wrapper + : public ::boost::BOOST_REGEX_DETAIL_NS::compute_wrapper_base< + BaseT, + ::boost::BOOST_REGEX_DETAIL_NS::has_boost_extensions_tag::value + >::type +{ + regex_traits_wrapper(){} +private: + regex_traits_wrapper(const regex_traits_wrapper&); + regex_traits_wrapper& operator=(const regex_traits_wrapper&); +}; + +} // namespace boost + +#endif // include + diff --git a/include/boost/regex/v5/regex_traits_defaults.hpp b/include/boost/regex/v5/regex_traits_defaults.hpp new file mode 100644 index 000000000..1cd7adc18 --- /dev/null +++ b/include/boost/regex/v5/regex_traits_defaults.hpp @@ -0,0 +1,998 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_traits_defaults.hpp + * VERSION see + * DESCRIPTION: Declares API's for access to regex_traits default properties. + */ + +#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED +#define BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED + +#include + +#include +#include +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#include +#include +#endif + +namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ + + +// +// helpers to suppress warnings: +// +template +inline bool is_extended(charT c) +{ + typedef typename std::make_unsigned::type unsigned_type; + return (sizeof(charT) > 1) && (static_cast(c) >= 256u); +} +inline bool is_extended(char) +{ return false; } + +inline const char* get_default_syntax(regex_constants::syntax_type n) +{ + // if the user hasn't supplied a message catalog, then this supplies + // default "messages" for us to load in the range 1-100. + const char* messages[] = { + "", + "(", + ")", + "$", + "^", + ".", + "*", + "+", + "?", + "[", + "]", + "|", + "\\", + "#", + "-", + "{", + "}", + "0123456789", + "b", + "B", + "<", + ">", + "", + "", + "A`", + "z'", + "\n", + ",", + "a", + "f", + "n", + "r", + "t", + "v", + "x", + "c", + ":", + "=", + "e", + "", + "", + "", + "", + "", + "", + "", + "", + "E", + "Q", + "X", + "C", + "Z", + "G", + "!", + "p", + "P", + "N", + "gk", + "K", + "R", + }; + + return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? "" : messages[n]); +} + +inline const char* get_default_error_string(regex_constants::error_type n) +{ + static const char* const s_default_error_messages[] = { + "Success", /* REG_NOERROR 0 error_ok */ + "No match", /* REG_NOMATCH 1 error_no_match */ + "Invalid regular expression.", /* REG_BADPAT 2 error_bad_pattern */ + "Invalid collation character.", /* REG_ECOLLATE 3 error_collate */ + "Invalid character class name, collating name, or character range.", /* REG_ECTYPE 4 error_ctype */ + "Invalid or unterminated escape sequence.", /* REG_EESCAPE 5 error_escape */ + "Invalid back reference: specified capturing group does not exist.", /* REG_ESUBREG 6 error_backref */ + "Unmatched [ or [^ in character class declaration.", /* REG_EBRACK 7 error_brack */ + "Unmatched marking parenthesis ( or \\(.", /* REG_EPAREN 8 error_paren */ + "Unmatched quantified repeat operator { or \\{.", /* REG_EBRACE 9 error_brace */ + "Invalid content of repeat range.", /* REG_BADBR 10 error_badbrace */ + "Invalid range end in character class", /* REG_ERANGE 11 error_range */ + "Out of memory.", /* REG_ESPACE 12 error_space NOT USED */ + "Invalid preceding regular expression prior to repetition operator.", /* REG_BADRPT 13 error_badrepeat */ + "Premature end of regular expression", /* REG_EEND 14 error_end NOT USED */ + "Regular expression is too large.", /* REG_ESIZE 15 error_size NOT USED */ + "Unmatched ) or \\)", /* REG_ERPAREN 16 error_right_paren NOT USED */ + "Empty regular expression.", /* REG_EMPTY 17 error_empty */ + "The complexity of matching the regular expression exceeded predefined bounds. " + "Try refactoring the regular expression to make each choice made by the state machine unambiguous. " + "This exception is thrown to prevent \"eternal\" matches that take an " + "indefinite period time to locate.", /* REG_ECOMPLEXITY 18 error_complexity */ + "Ran out of stack space trying to match the regular expression.", /* REG_ESTACK 19 error_stack */ + "Invalid or unterminated Perl (?...) sequence.", /* REG_E_PERL 20 error_perl */ + "Unknown error.", /* REG_E_UNKNOWN 21 error_unknown */ + }; + + return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[::boost::regex_constants::error_unknown] : s_default_error_messages[n]; +} + +inline regex_constants::syntax_type get_default_syntax_type(char c) +{ + // + // char_syntax determines how the compiler treats a given character + // in a regular expression. + // + static regex_constants::syntax_type char_syntax[] = { + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_newline, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /* */ // 32 + regex_constants::syntax_not, /*!*/ + regex_constants::syntax_char, /*"*/ + regex_constants::syntax_hash, /*#*/ + regex_constants::syntax_dollar, /*$*/ + regex_constants::syntax_char, /*%*/ + regex_constants::syntax_char, /*&*/ + regex_constants::escape_type_end_buffer, /*'*/ + regex_constants::syntax_open_mark, /*(*/ + regex_constants::syntax_close_mark, /*)*/ + regex_constants::syntax_star, /***/ + regex_constants::syntax_plus, /*+*/ + regex_constants::syntax_comma, /*,*/ + regex_constants::syntax_dash, /*-*/ + regex_constants::syntax_dot, /*.*/ + regex_constants::syntax_char, /*/*/ + regex_constants::syntax_digit, /*0*/ + regex_constants::syntax_digit, /*1*/ + regex_constants::syntax_digit, /*2*/ + regex_constants::syntax_digit, /*3*/ + regex_constants::syntax_digit, /*4*/ + regex_constants::syntax_digit, /*5*/ + regex_constants::syntax_digit, /*6*/ + regex_constants::syntax_digit, /*7*/ + regex_constants::syntax_digit, /*8*/ + regex_constants::syntax_digit, /*9*/ + regex_constants::syntax_colon, /*:*/ + regex_constants::syntax_char, /*;*/ + regex_constants::escape_type_left_word, /*<*/ + regex_constants::syntax_equal, /*=*/ + regex_constants::escape_type_right_word, /*>*/ + regex_constants::syntax_question, /*?*/ + regex_constants::syntax_char, /*@*/ + regex_constants::syntax_char, /*A*/ + regex_constants::syntax_char, /*B*/ + regex_constants::syntax_char, /*C*/ + regex_constants::syntax_char, /*D*/ + regex_constants::syntax_char, /*E*/ + regex_constants::syntax_char, /*F*/ + regex_constants::syntax_char, /*G*/ + regex_constants::syntax_char, /*H*/ + regex_constants::syntax_char, /*I*/ + regex_constants::syntax_char, /*J*/ + regex_constants::syntax_char, /*K*/ + regex_constants::syntax_char, /*L*/ + regex_constants::syntax_char, /*M*/ + regex_constants::syntax_char, /*N*/ + regex_constants::syntax_char, /*O*/ + regex_constants::syntax_char, /*P*/ + regex_constants::syntax_char, /*Q*/ + regex_constants::syntax_char, /*R*/ + regex_constants::syntax_char, /*S*/ + regex_constants::syntax_char, /*T*/ + regex_constants::syntax_char, /*U*/ + regex_constants::syntax_char, /*V*/ + regex_constants::syntax_char, /*W*/ + regex_constants::syntax_char, /*X*/ + regex_constants::syntax_char, /*Y*/ + regex_constants::syntax_char, /*Z*/ + regex_constants::syntax_open_set, /*[*/ + regex_constants::syntax_escape, /*\*/ + regex_constants::syntax_close_set, /*]*/ + regex_constants::syntax_caret, /*^*/ + regex_constants::syntax_char, /*_*/ + regex_constants::syntax_char, /*`*/ + regex_constants::syntax_char, /*a*/ + regex_constants::syntax_char, /*b*/ + regex_constants::syntax_char, /*c*/ + regex_constants::syntax_char, /*d*/ + regex_constants::syntax_char, /*e*/ + regex_constants::syntax_char, /*f*/ + regex_constants::syntax_char, /*g*/ + regex_constants::syntax_char, /*h*/ + regex_constants::syntax_char, /*i*/ + regex_constants::syntax_char, /*j*/ + regex_constants::syntax_char, /*k*/ + regex_constants::syntax_char, /*l*/ + regex_constants::syntax_char, /*m*/ + regex_constants::syntax_char, /*n*/ + regex_constants::syntax_char, /*o*/ + regex_constants::syntax_char, /*p*/ + regex_constants::syntax_char, /*q*/ + regex_constants::syntax_char, /*r*/ + regex_constants::syntax_char, /*s*/ + regex_constants::syntax_char, /*t*/ + regex_constants::syntax_char, /*u*/ + regex_constants::syntax_char, /*v*/ + regex_constants::syntax_char, /*w*/ + regex_constants::syntax_char, /*x*/ + regex_constants::syntax_char, /*y*/ + regex_constants::syntax_char, /*z*/ + regex_constants::syntax_open_brace, /*{*/ + regex_constants::syntax_or, /*|*/ + regex_constants::syntax_close_brace, /*}*/ + regex_constants::syntax_char, /*~*/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + regex_constants::syntax_char, /**/ + }; + + return char_syntax[(unsigned char)c]; +} + +inline regex_constants::escape_syntax_type get_default_escape_syntax_type(char c) +{ + // + // char_syntax determines how the compiler treats a given character + // in a regular expression. + // + static regex_constants::escape_syntax_type char_syntax[] = { + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /* */ // 32 + regex_constants::escape_type_identity, /*!*/ + regex_constants::escape_type_identity, /*"*/ + regex_constants::escape_type_identity, /*#*/ + regex_constants::escape_type_identity, /*$*/ + regex_constants::escape_type_identity, /*%*/ + regex_constants::escape_type_identity, /*&*/ + regex_constants::escape_type_end_buffer, /*'*/ + regex_constants::syntax_open_mark, /*(*/ + regex_constants::syntax_close_mark, /*)*/ + regex_constants::escape_type_identity, /***/ + regex_constants::syntax_plus, /*+*/ + regex_constants::escape_type_identity, /*,*/ + regex_constants::escape_type_identity, /*-*/ + regex_constants::escape_type_identity, /*.*/ + regex_constants::escape_type_identity, /*/*/ + regex_constants::escape_type_decimal, /*0*/ + regex_constants::escape_type_backref, /*1*/ + regex_constants::escape_type_backref, /*2*/ + regex_constants::escape_type_backref, /*3*/ + regex_constants::escape_type_backref, /*4*/ + regex_constants::escape_type_backref, /*5*/ + regex_constants::escape_type_backref, /*6*/ + regex_constants::escape_type_backref, /*7*/ + regex_constants::escape_type_backref, /*8*/ + regex_constants::escape_type_backref, /*9*/ + regex_constants::escape_type_identity, /*:*/ + regex_constants::escape_type_identity, /*;*/ + regex_constants::escape_type_left_word, /*<*/ + regex_constants::escape_type_identity, /*=*/ + regex_constants::escape_type_right_word, /*>*/ + regex_constants::syntax_question, /*?*/ + regex_constants::escape_type_identity, /*@*/ + regex_constants::escape_type_start_buffer, /*A*/ + regex_constants::escape_type_not_word_assert, /*B*/ + regex_constants::escape_type_C, /*C*/ + regex_constants::escape_type_not_class, /*D*/ + regex_constants::escape_type_E, /*E*/ + regex_constants::escape_type_not_class, /*F*/ + regex_constants::escape_type_G, /*G*/ + regex_constants::escape_type_not_class, /*H*/ + regex_constants::escape_type_not_class, /*I*/ + regex_constants::escape_type_not_class, /*J*/ + regex_constants::escape_type_reset_start_mark, /*K*/ + regex_constants::escape_type_not_class, /*L*/ + regex_constants::escape_type_not_class, /*M*/ + regex_constants::escape_type_named_char, /*N*/ + regex_constants::escape_type_not_class, /*O*/ + regex_constants::escape_type_not_property, /*P*/ + regex_constants::escape_type_Q, /*Q*/ + regex_constants::escape_type_line_ending, /*R*/ + regex_constants::escape_type_not_class, /*S*/ + regex_constants::escape_type_not_class, /*T*/ + regex_constants::escape_type_not_class, /*U*/ + regex_constants::escape_type_not_class, /*V*/ + regex_constants::escape_type_not_class, /*W*/ + regex_constants::escape_type_X, /*X*/ + regex_constants::escape_type_not_class, /*Y*/ + regex_constants::escape_type_Z, /*Z*/ + regex_constants::escape_type_identity, /*[*/ + regex_constants::escape_type_identity, /*\*/ + regex_constants::escape_type_identity, /*]*/ + regex_constants::escape_type_identity, /*^*/ + regex_constants::escape_type_identity, /*_*/ + regex_constants::escape_type_start_buffer, /*`*/ + regex_constants::escape_type_control_a, /*a*/ + regex_constants::escape_type_word_assert, /*b*/ + regex_constants::escape_type_ascii_control, /*c*/ + regex_constants::escape_type_class, /*d*/ + regex_constants::escape_type_e, /*e*/ + regex_constants::escape_type_control_f, /*f*/ + regex_constants::escape_type_extended_backref, /*g*/ + regex_constants::escape_type_class, /*h*/ + regex_constants::escape_type_class, /*i*/ + regex_constants::escape_type_class, /*j*/ + regex_constants::escape_type_extended_backref, /*k*/ + regex_constants::escape_type_class, /*l*/ + regex_constants::escape_type_class, /*m*/ + regex_constants::escape_type_control_n, /*n*/ + regex_constants::escape_type_class, /*o*/ + regex_constants::escape_type_property, /*p*/ + regex_constants::escape_type_class, /*q*/ + regex_constants::escape_type_control_r, /*r*/ + regex_constants::escape_type_class, /*s*/ + regex_constants::escape_type_control_t, /*t*/ + regex_constants::escape_type_class, /*u*/ + regex_constants::escape_type_control_v, /*v*/ + regex_constants::escape_type_class, /*w*/ + regex_constants::escape_type_hex, /*x*/ + regex_constants::escape_type_class, /*y*/ + regex_constants::escape_type_end_buffer, /*z*/ + regex_constants::syntax_open_brace, /*{*/ + regex_constants::syntax_or, /*|*/ + regex_constants::syntax_close_brace, /*}*/ + regex_constants::escape_type_identity, /*~*/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + regex_constants::escape_type_identity, /**/ + }; + + return char_syntax[(unsigned char)c]; +} + +// is charT c a combining character? +inline bool is_combining_implementation(std::uint_least16_t c) +{ + const std::uint_least16_t combining_ranges[] = { 0x0300, 0x0361, + 0x0483, 0x0486, + 0x0903, 0x0903, + 0x093E, 0x0940, + 0x0949, 0x094C, + 0x0982, 0x0983, + 0x09BE, 0x09C0, + 0x09C7, 0x09CC, + 0x09D7, 0x09D7, + 0x0A3E, 0x0A40, + 0x0A83, 0x0A83, + 0x0ABE, 0x0AC0, + 0x0AC9, 0x0ACC, + 0x0B02, 0x0B03, + 0x0B3E, 0x0B3E, + 0x0B40, 0x0B40, + 0x0B47, 0x0B4C, + 0x0B57, 0x0B57, + 0x0B83, 0x0B83, + 0x0BBE, 0x0BBF, + 0x0BC1, 0x0BCC, + 0x0BD7, 0x0BD7, + 0x0C01, 0x0C03, + 0x0C41, 0x0C44, + 0x0C82, 0x0C83, + 0x0CBE, 0x0CBE, + 0x0CC0, 0x0CC4, + 0x0CC7, 0x0CCB, + 0x0CD5, 0x0CD6, + 0x0D02, 0x0D03, + 0x0D3E, 0x0D40, + 0x0D46, 0x0D4C, + 0x0D57, 0x0D57, + 0x0F7F, 0x0F7F, + 0x20D0, 0x20E1, + 0x3099, 0x309A, + 0xFE20, 0xFE23, + 0xffff, 0xffff, }; + + const std::uint_least16_t* p = combining_ranges + 1; + while (*p < c) p += 2; + --p; + if ((c >= *p) && (c <= *(p + 1))) + return true; + return false; +} + +template +inline bool is_combining(charT c) +{ + return (c <= static_cast(0)) ? false : ((c >= static_cast((std::numeric_limits::max)())) ? false : is_combining_implementation(static_cast(c))); +} +template <> +inline bool is_combining(char) +{ + return false; +} +template <> +inline bool is_combining(signed char) +{ + return false; +} +template <> +inline bool is_combining(unsigned char) +{ + return false; +} +#ifdef _MSC_VER +template<> +inline bool is_combining(wchar_t c) +{ + return is_combining_implementation(static_cast(c)); +} +#elif !defined(__DECCXX) && !defined(__osf__) && !defined(__OSF__) && defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) +#if defined(WCHAR_MAX) && (WCHAR_MAX <= USHRT_MAX) +template<> +inline bool is_combining(wchar_t c) +{ + return is_combining_implementation(static_cast(c)); +} +#else +template<> +inline bool is_combining(wchar_t c) +{ + return (c >= (std::numeric_limits::max)()) ? false : is_combining_implementation(static_cast(c)); +} +#endif +#endif + +// +// is a charT c a line separator? +// +template +inline bool is_separator(charT c) +{ + return BOOST_REGEX_MAKE_BOOL( + (c == static_cast('\n')) + || (c == static_cast('\r')) + || (c == static_cast('\f')) + || (static_cast(c) == 0x2028u) + || (static_cast(c) == 0x2029u) + || (static_cast(c) == 0x85u)); +} +template <> +inline bool is_separator(char c) +{ + return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r') || (c == '\f')); +} + +// +// get a default collating element: +// +inline std::string lookup_default_collate_name(const std::string& name) +{ + // + // these are the POSIX collating names: + // + static const char* def_coll_names[] = { + "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", + "vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", + "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", + "quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", + "left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", + "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", + "colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", + "question-mark", "commercial-at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", + "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "left-square-bracket", "backslash", + "right-square-bracket", "circumflex", "underscore", "grave-accent", "a", "b", "c", "d", "e", "f", + "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "left-curly-bracket", + "vertical-line", "right-curly-bracket", "tilde", "DEL", "", + }; + + // these multi-character collating elements + // should keep most Western-European locales + // happy - we should really localise these a + // little more - but this will have to do for + // now: + + static const char* def_multi_coll[] = { + "ae", + "Ae", + "AE", + "ch", + "Ch", + "CH", + "ll", + "Ll", + "LL", + "ss", + "Ss", + "SS", + "nj", + "Nj", + "NJ", + "dz", + "Dz", + "DZ", + "lj", + "Lj", + "LJ", + "", + }; + + unsigned int i = 0; + while (*def_coll_names[i]) + { + if (def_coll_names[i] == name) + { + return std::string(1, char(i)); + } + ++i; + } + i = 0; + while (*def_multi_coll[i]) + { + if (def_multi_coll[i] == name) + { + return def_multi_coll[i]; + } + ++i; + } + return std::string(); +} + +// +// get the state_id of a character classification, the individual +// traits classes then transform that state_id into a bitmask: +// +template +struct character_pointer_range +{ + const charT* p1; + const charT* p2; + + bool operator < (const character_pointer_range& r)const + { + return std::lexicographical_compare(p1, p2, r.p1, r.p2); + } + bool operator == (const character_pointer_range& r)const + { + // Not only do we check that the ranges are of equal size before + // calling std::equal, but there is no other algorithm available: + // not even a non-standard MS one. So forward to unchecked_equal + // in the MS case. +#ifdef __cpp_lib_robust_nonmodifying_seq_ops + return std::equal(p1, p2, r.p1, r.p2); +#elif defined(BOOST_REGEX_MSVC) + if (((p2 - p1) != (r.p2 - r.p1))) + return false; + const charT* with = r.p1; + const charT* pos = p1; + while (pos != p2) + if (*pos++ != *with++) return false; + return true; + +#else + return ((p2 - p1) == (r.p2 - r.p1)) && std::equal(p1, p2, r.p1); +#endif + } +}; +template +int get_default_class_id(const charT* p1, const charT* p2) +{ + static const charT data[73] = { + 'a', 'l', 'n', 'u', 'm', + 'a', 'l', 'p', 'h', 'a', + 'b', 'l', 'a', 'n', 'k', + 'c', 'n', 't', 'r', 'l', + 'd', 'i', 'g', 'i', 't', + 'g', 'r', 'a', 'p', 'h', + 'l', 'o', 'w', 'e', 'r', + 'p', 'r', 'i', 'n', 't', + 'p', 'u', 'n', 'c', 't', + 's', 'p', 'a', 'c', 'e', + 'u', 'n', 'i', 'c', 'o', 'd', 'e', + 'u', 'p', 'p', 'e', 'r', + 'v', + 'w', 'o', 'r', 'd', + 'x', 'd', 'i', 'g', 'i', 't', + }; + + static const character_pointer_range ranges[21] = + { + {data+0, data+5,}, // alnum + {data+5, data+10,}, // alpha + {data+10, data+15,}, // blank + {data+15, data+20,}, // cntrl + {data+20, data+21,}, // d + {data+20, data+25,}, // digit + {data+25, data+30,}, // graph + {data+29, data+30,}, // h + {data+30, data+31,}, // l + {data+30, data+35,}, // lower + {data+35, data+40,}, // print + {data+40, data+45,}, // punct + {data+45, data+46,}, // s + {data+45, data+50,}, // space + {data+57, data+58,}, // u + {data+50, data+57,}, // unicode + {data+57, data+62,}, // upper + {data+62, data+63,}, // v + {data+63, data+64,}, // w + {data+63, data+67,}, // word + {data+67, data+73,}, // xdigit + }; + const character_pointer_range* ranges_begin = ranges; + const character_pointer_range* ranges_end = ranges + (sizeof(ranges)/sizeof(ranges[0])); + + character_pointer_range t = { p1, p2, }; + const character_pointer_range* p = std::lower_bound(ranges_begin, ranges_end, t); + if((p != ranges_end) && (t == *p)) + return static_cast(p - ranges); + return -1; +} + +// +// helper functions: +// +template +std::ptrdiff_t global_length(const charT* p) +{ + std::ptrdiff_t n = 0; + while(*p) + { + ++p; + ++n; + } + return n; +} +template<> +inline std::ptrdiff_t global_length(const char* p) +{ + return (std::strlen)(p); +} +#ifndef BOOST_NO_WREGEX +template<> +inline std::ptrdiff_t global_length(const wchar_t* p) +{ + return (std::ptrdiff_t)(std::wcslen)(p); +} +#endif +template +inline charT global_lower(charT c) +{ + return c; +} +template +inline charT global_upper(charT c) +{ + return c; +} + +inline char do_global_lower(char c) +{ + return static_cast((std::tolower)((unsigned char)c)); +} + +inline char do_global_upper(char c) +{ + return static_cast((std::toupper)((unsigned char)c)); +} +#ifndef BOOST_NO_WREGEX +inline wchar_t do_global_lower(wchar_t c) +{ + return (std::towlower)(c); +} + +inline wchar_t do_global_upper(wchar_t c) +{ + return (std::towupper)(c); +} +#endif +// +// This sucks: declare template specialisations of global_lower/global_upper +// that just forward to the non-template implementation functions. We do +// this because there is one compiler (Compaq Tru64 C++) that doesn't seem +// to differentiate between templates and non-template overloads.... +// what's more, the primary template, plus all overloads have to be +// defined in the same translation unit (if one is inline they all must be) +// otherwise the "local template instantiation" compiler option can pick +// the wrong instantiation when linking: +// +template<> inline char global_lower(char c) { return do_global_lower(c); } +template<> inline char global_upper(char c) { return do_global_upper(c); } +#ifndef BOOST_NO_WREGEX +template<> inline wchar_t global_lower(wchar_t c) { return do_global_lower(c); } +template<> inline wchar_t global_upper(wchar_t c) { return do_global_upper(c); } +#endif + +template +int global_value(charT c) +{ + static const charT zero = '0'; + static const charT nine = '9'; + static const charT a = 'a'; + static const charT f = 'f'; + static const charT A = 'A'; + static const charT F = 'F'; + + if(c > f) return -1; + if(c >= a) return 10 + (c - a); + if(c > F) return -1; + if(c >= A) return 10 + (c - A); + if(c > nine) return -1; + if(c >= zero) return c - zero; + return -1; +} +template +std::intmax_t global_toi(const charT*& p1, const charT* p2, int radix, const traits& t) +{ + (void)t; // warning suppression + std::intmax_t limit = (std::numeric_limits::max)() / radix; + std::intmax_t next_value = t.value(*p1, radix); + if((p1 == p2) || (next_value < 0) || (next_value >= radix)) + return -1; + std::intmax_t result = 0; + while(p1 != p2) + { + next_value = t.value(*p1, radix); + if((next_value < 0) || (next_value >= radix)) + break; + result *= radix; + result += next_value; + ++p1; + if (result > limit) + return -1; + } + return result; +} + +template +inline typename std::enable_if<(sizeof(charT) > 1), const charT*>::type get_escape_R_string() +{ +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +# pragma warning(disable:4309 4245) +#endif + static const charT e1[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', + '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), static_cast(0x2028), + static_cast(0x2029), ']', ')', ')', '\0' }; + static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', + '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), ']', ')', ')', '\0' }; + + charT c = static_cast(0x2029u); + bool b = (static_cast(c) == 0x2029u); + + return (b ? e1 : e2); +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif +} + +template +inline typename std::enable_if<(sizeof(charT) == 1), const charT*>::type get_escape_R_string() +{ +#ifdef BOOST_REGEX_MSVC +# pragma warning(push) +# pragma warning(disable:4309 4245) +#endif + static const charT e2[] = { + static_cast('('), + static_cast('?'), + static_cast('-'), + static_cast('x'), + static_cast(':'), + static_cast('('), + static_cast('?'), + static_cast('>'), + static_cast('\x0D'), + static_cast('\x0A'), + static_cast('?'), + static_cast('|'), + static_cast('['), + static_cast('\x0A'), + static_cast('\x0B'), + static_cast('\x0C'), + static_cast('\x85'), + static_cast(']'), + static_cast(')'), + static_cast(')'), + static_cast('\0') + }; + return e2; +#ifdef BOOST_REGEX_MSVC +# pragma warning(pop) +#endif +} + +} // BOOST_REGEX_DETAIL_NS +} // boost + +#endif diff --git a/include/boost/regex/v5/regex_workaround.hpp b/include/boost/regex/v5/regex_workaround.hpp new file mode 100644 index 000000000..060e065c0 --- /dev/null +++ b/include/boost/regex/v5/regex_workaround.hpp @@ -0,0 +1,161 @@ +/* + * + * Copyright (c) 1998-2005 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_workarounds.cpp + * VERSION see + * DESCRIPTION: Declares Misc workarounds. + */ + +#ifndef BOOST_REGEX_WORKAROUND_HPP +#define BOOST_REGEX_WORKAROUND_HPP + +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#endif + +#ifndef BOOST_REGEX_STANDALONE +#include +#include +#endif + +#ifdef BOOST_REGEX_NO_BOOL +# define BOOST_REGEX_MAKE_BOOL(x) static_cast((x) ? true : false) +#else +# define BOOST_REGEX_MAKE_BOOL(x) static_cast(x) +#endif + +/***************************************************************************** + * + * helper functions pointer_construct/pointer_destroy: + * + ****************************************************************************/ + +#ifdef __cplusplus +namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ + +#ifdef BOOST_REGEX_MSVC +#pragma warning (push) +#pragma warning (disable : 4100) +#endif + +template +inline void pointer_destroy(T* p) +{ p->~T(); (void)p; } + +#ifdef BOOST_REGEX_MSVC +#pragma warning (pop) +#endif + +template +inline void pointer_construct(T* p, const T& t) +{ new (p) T(t); } + +}} // namespaces +#endif + +/***************************************************************************** + * + * helper function copy: + * + ****************************************************************************/ + +#if defined(BOOST_WORKAROUND) +#if BOOST_WORKAROUND(BOOST_REGEX_MSVC, >= 1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ +#define BOOST_REGEX_HAS_STRCPY_S +#endif +#endif + +#ifdef __cplusplus +namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ + +#if defined(BOOST_REGEX_MSVC) && (BOOST_REGEX_MSVC < 1910) + // + // MSVC 10 will either emit warnings or else refuse to compile + // code that makes perfectly legitimate use of std::copy, when + // the OutputIterator type is a user-defined class (apparently all user + // defined iterators are "unsafe"). What's more Microsoft have removed their + // non-standard "unchecked" versions, even though they are still in the MS + // documentation!! Work around this as best we can: + // + template + inline OutputIterator copy( + InputIterator first, + InputIterator last, + OutputIterator dest + ) + { + while (first != last) + *dest++ = *first++; + return dest; + } +#else + using std::copy; +#endif + + +#if defined(BOOST_REGEX_HAS_STRCPY_S) + + // use safe versions of strcpy etc: + using ::strcpy_s; + using ::strcat_s; +#else + inline std::size_t strcpy_s( + char *strDestination, + std::size_t sizeInBytes, + const char *strSource + ) + { + std::size_t lenSourceWithNull = std::strlen(strSource) + 1; + if (lenSourceWithNull > sizeInBytes) + return 1; + std::memcpy(strDestination, strSource, lenSourceWithNull); + return 0; + } + inline std::size_t strcat_s( + char *strDestination, + std::size_t sizeInBytes, + const char *strSource + ) + { + std::size_t lenSourceWithNull = std::strlen(strSource) + 1; + std::size_t lenDestination = std::strlen(strDestination); + if (lenSourceWithNull + lenDestination > sizeInBytes) + return 1; + std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull); + return 0; + } + +#endif + + inline void overflow_error_if_not_zero(std::size_t i) + { + if(i) + { + std::overflow_error e("String buffer too small"); +#ifndef BOOST_REGEX_STANDALONE + boost::throw_exception(e); +#else + throw e; +#endif + } + } + +}} // namespaces + +#endif // __cplusplus + +#endif // include guard + diff --git a/include/boost/regex/v4/states.hpp b/include/boost/regex/v5/states.hpp similarity index 95% rename from include/boost/regex/v4/states.hpp rename to include/boost/regex/v5/states.hpp index b56d01347..3c3fca69c 100644 --- a/include/boost/regex/v4/states.hpp +++ b/include/boost/regex/v5/states.hpp @@ -16,18 +16,14 @@ * DESCRIPTION: Declares internal state machine structures. */ -#ifndef BOOST_REGEX_V4_STATES_HPP -#define BOOST_REGEX_V4_STATES_HPP +#ifndef BOOST_REGEX_V5_STATES_HPP +#define BOOST_REGEX_V5_STATES_HPP -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) +#include + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include #endif namespace boost{ @@ -161,7 +157,7 @@ A marked parenthesis. struct re_brace : public re_syntax_base { // The index to match, can be zero (don't mark the sub-expression) - // or negative (for perl style (?...) extentions): + // or negative (for perl style (?...) extensions): int index; bool icase; }; @@ -296,7 +292,7 @@ template struct regex_data; template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, +iterator re_is_set_member(iterator next, iterator last, const re_set_long* set_, const regex_data& e, bool icase); @@ -305,17 +301,6 @@ iterator BOOST_REGEX_CALL re_is_set_member(iterator next, } // namespace boost -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4103) -#endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - #endif diff --git a/include/boost/regex/v5/sub_match.hpp b/include/boost/regex/v5/sub_match.hpp new file mode 100644 index 000000000..0dcb6d4d2 --- /dev/null +++ b/include/boost/regex/v5/sub_match.hpp @@ -0,0 +1,387 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE sub_match.cpp + * VERSION see + * DESCRIPTION: Declares template class sub_match. + */ + +#ifndef BOOST_REGEX_V5_SUB_MATCH_HPP +#define BOOST_REGEX_V5_SUB_MATCH_HPP + +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#endif + +namespace boost{ + +BOOST_REGEX_MODULE_EXPORT template +struct sub_match : public std::pair +{ + typedef typename std::iterator_traits::value_type value_type; + typedef typename std::iterator_traits::difference_type difference_type; + typedef BidiIterator iterator_type; + typedef BidiIterator iterator; + typedef BidiIterator const_iterator; + + bool matched; + + sub_match() : std::pair(), matched(false) {} + sub_match(BidiIterator i) : std::pair(i, i), matched(false) {} + template + operator std::basic_string ()const + { + return matched ? std::basic_string(this->first, this->second) : std::basic_string(); + } + difference_type length()const + { + difference_type n = matched ? std::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0; + return n; + } + std::basic_string str()const + { + std::basic_string result; + if(matched) + { + std::size_t len = std::distance((BidiIterator)this->first, (BidiIterator)this->second); + result.reserve(len); + BidiIterator i = this->first; + while(i != this->second) + { + result.append(1, *i); + ++i; + } + } + return result; + } + int compare(const sub_match& s)const + { + if(matched != s.matched) + return static_cast(matched) - static_cast(s.matched); + return str().compare(s.str()); + } + int compare(const std::basic_string& s)const + { + return str().compare(s); + } + int compare(const value_type* p)const + { + return str().compare(p); + } + + bool operator==(const sub_match& that)const + { return compare(that) == 0; } + bool operator !=(const sub_match& that)const + { return compare(that) != 0; } + bool operator<(const sub_match& that)const + { return compare(that) < 0; } + bool operator>(const sub_match& that)const + { return compare(that) > 0; } + bool operator<=(const sub_match& that)const + { return compare(that) <= 0; } + bool operator>=(const sub_match& that)const + { return compare(that) >= 0; } + +#ifdef BOOST_REGEX_MATCH_EXTRA + typedef std::vector > capture_sequence_type; + + const capture_sequence_type& captures()const + { + if(!m_captures) + m_captures.reset(new capture_sequence_type()); + return *m_captures; + } + // + // Private implementation API: DO NOT USE! + // + capture_sequence_type& get_captures()const + { + if(!m_captures) + m_captures.reset(new capture_sequence_type()); + return *m_captures; + } + +private: + mutable std::unique_ptr m_captures; +public: + +#endif + sub_match(const sub_match& that, bool +#ifdef BOOST_REGEX_MATCH_EXTRA + deep_copy +#endif + = true + ) + : std::pair(that), + matched(that.matched) + { +#ifdef BOOST_REGEX_MATCH_EXTRA + if(that.m_captures) + if(deep_copy) + m_captures.reset(new capture_sequence_type(*(that.m_captures))); +#endif + } + sub_match& operator=(const sub_match& that) + { + this->first = that.first; + this->second = that.second; + matched = that.matched; +#ifdef BOOST_REGEX_MATCH_EXTRA + if(that.m_captures) + get_captures() = *(that.m_captures); +#endif + return *this; + } + // + // Make this type a range, for both Boost.Range, and C++11: + // + BidiIterator begin()const { return this->first; } + BidiIterator end()const { return this->second; } +}; + +BOOST_REGEX_MODULE_EXPORT typedef sub_match csub_match; +BOOST_REGEX_MODULE_EXPORT typedef sub_match ssub_match; +#ifndef BOOST_NO_WREGEX +BOOST_REGEX_MODULE_EXPORT typedef sub_match wcsub_match; +BOOST_REGEX_MODULE_EXPORT typedef sub_match wssub_match; +#endif + +// comparison to std::basic_string<> part 1: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) <= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) >= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ return s.compare(m.str()) > 0; } +// comparison to std::basic_string<> part 2: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) > 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) <= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ return m.str().compare(s) >= 0; } +// comparison to const charT* part 1: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) > 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) >= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (const sub_match& m, + typename std::iterator_traits::value_type const* s) +{ return m.str().compare(s) <= 0; } +// comparison to const charT* part 2: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) > 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) >= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ return m.str().compare(s) <= 0; } + +// comparison to const charT& part 1: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) > 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) >= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ return m.str().compare(0, m.length(), &s, 1) <= 0; } +// comparison to const charT* part 2: +BOOST_REGEX_MODULE_EXPORT template +inline bool operator == (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) == 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator != (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) != 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator < (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) > 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator > (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) < 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator <= (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) >= 0; } +BOOST_REGEX_MODULE_EXPORT template +inline bool operator >= (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ return m.str().compare(0, m.length(), &s, 1) <= 0; } + +// addition operators: +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type, traits, Allocator> +operator + (const std::basic_string::value_type, traits, Allocator>& s, + const sub_match& m) +{ + std::basic_string::value_type, traits, Allocator> result; + result.reserve(s.size() + m.length() + 1); + return result.append(s).append(m.first, m.second); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type, traits, Allocator> +operator + (const sub_match& m, + const std::basic_string::value_type, traits, Allocator>& s) +{ + std::basic_string::value_type, traits, Allocator> result; + result.reserve(s.size() + m.length() + 1); + return result.append(m.first, m.second).append(s); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type> +operator + (typename std::iterator_traits::value_type const* s, + const sub_match& m) +{ + std::basic_string::value_type> result; + result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); + return result.append(s).append(m.first, m.second); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type> +operator + (const sub_match& m, + typename std::iterator_traits::value_type const * s) +{ + std::basic_string::value_type> result; + result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); + return result.append(m.first, m.second).append(s); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type> +operator + (typename std::iterator_traits::value_type const& s, + const sub_match& m) +{ + std::basic_string::value_type> result; + result.reserve(m.length() + 2); + return result.append(1, s).append(m.first, m.second); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type> +operator + (const sub_match& m, + typename std::iterator_traits::value_type const& s) +{ + std::basic_string::value_type> result; + result.reserve(m.length() + 2); + return result.append(m.first, m.second).append(1, s); +} +BOOST_REGEX_MODULE_EXPORT template +inline std::basic_string::value_type> +operator + (const sub_match& m1, + const sub_match& m2) +{ + std::basic_string::value_type> result; + result.reserve(m1.length() + m2.length() + 1); + return result.append(m1.first, m1.second).append(m2.first, m2.second); +} +BOOST_REGEX_MODULE_EXPORT template +std::basic_ostream& + operator << (std::basic_ostream& os, + const sub_match& s) +{ + return (os << s.str()); +} + +} // namespace boost + +#endif + diff --git a/include/boost/regex/v5/syntax_type.hpp b/include/boost/regex/v5/syntax_type.hpp new file mode 100644 index 000000000..7824d2d39 --- /dev/null +++ b/include/boost/regex/v5/syntax_type.hpp @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2003 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE syntax_type.hpp + * VERSION see + * DESCRIPTION: Declares regular expression synatx type enumerator. + */ + +#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP +#define BOOST_REGEX_SYNTAX_TYPE_HPP + +#include + +namespace boost{ +namespace regex_constants{ + +BOOST_REGEX_MODULE_EXPORT typedef unsigned char syntax_type; + +// +// values chosen are binary compatible with previous version: +// +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_char = 0; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_open_mark = 1; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_close_mark = 2; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_dollar = 3; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_caret = 4; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_dot = 5; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_star = 6; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_plus = 7; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_question = 8; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_open_set = 9; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_close_set = 10; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_or = 11; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_escape = 12; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_dash = 14; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_open_brace = 15; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_close_brace = 16; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_digit = 17; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_comma = 27; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_equal = 37; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_colon = 36; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_not = 53; + +// extensions: + +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_hash = 13; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST syntax_type syntax_newline = 26; + +// escapes: + +BOOST_REGEX_MODULE_EXPORT typedef syntax_type escape_syntax_type; + +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_word_assert = 18; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_not_word_assert = 19; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_f = 29; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_n = 30; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_r = 31; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_t = 32; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_v = 33; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_ascii_control = 35; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_hex = 34; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_unicode = 0; // not used +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_identity = 0; // not used +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_backref = syntax_digit; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_decimal = syntax_digit; // not used +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_class = 22; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_not_class = 23; + +// extensions: + +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_left_word = 20; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_right_word = 21; +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_start_buffer = 24; // for \` +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_end_buffer = 25; // for \' +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_control_a = 28; // for \a +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_e = 38; // for \e +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_E = 47; // for \Q\E +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_Q = 48; // for \Q\E +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_X = 49; // for \X +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_C = 50; // for \C +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_Z = 51; // for \Z +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_G = 52; // for \G + +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_property = 54; // for \p +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_not_property = 55; // for \P +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_named_char = 56; // for \N +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_extended_backref = 57; // for \g +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_reset_start_mark = 58; // for \K +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type escape_type_line_ending = 59; // for \R + +BOOST_REGEX_MODULE_EXPORT BOOST_REGEX_STATIC_CONST escape_syntax_type syntax_max = 60; + +} +} + + +#endif diff --git a/include/boost/regex/v4/u32regex_iterator.hpp b/include/boost/regex/v5/u32regex_iterator.hpp similarity index 90% rename from include/boost/regex/v4/u32regex_iterator.hpp rename to include/boost/regex/v5/u32regex_iterator.hpp index f8763a8d6..b7ac61a1b 100644 --- a/include/boost/regex/v4/u32regex_iterator.hpp +++ b/include/boost/regex/v5/u32regex_iterator.hpp @@ -16,15 +16,26 @@ * DESCRIPTION: Provides u32regex_iterator implementation. */ -#ifndef BOOST_REGEX_V4_U32REGEX_ITERATOR_HPP -#define BOOST_REGEX_V4_U32REGEX_ITERATOR_HPP +#ifndef BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP +#define BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP -namespace boost{ +#include + +#ifndef BOOST_REGEX_STANDALONE -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX +#include +#if defined(BOOST_HAS_PRAGMA_ONCE) +#pragma once +#include #endif +#endif + +#include +#include + +namespace boost{ + template class u32regex_iterator_implementation { @@ -39,6 +50,7 @@ class u32regex_iterator_implementation public: u32regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f) : base(), end(last), re(*p), flags(f){} + u32regex_iterator_implementation(const u32regex_iterator_implementation&) = default; bool init(BidirectionalIterator first) { base = first; @@ -75,11 +87,11 @@ class u32regex_iterator { private: typedef u32regex_iterator_implementation impl; - typedef shared_ptr pimpl; + typedef std::shared_ptr pimpl; public: typedef u32regex regex_type; typedef match_results value_type; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::difference_type + typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; @@ -137,7 +149,7 @@ class u32regex_iterator void cow() { // copy-on-write - if(pdata.get() && !pdata.unique()) + if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } @@ -175,11 +187,7 @@ inline u32regex_iterator make_u32regex_iterator(const U_NAMESPACE_ return u32regex_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, m); } -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - } // namespace boost -#endif // BOOST_REGEX_V4_REGEX_ITERATOR_HPP +#endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP diff --git a/include/boost/regex/v4/u32regex_token_iterator.hpp b/include/boost/regex/v5/u32regex_token_iterator.hpp similarity index 85% rename from include/boost/regex/v4/u32regex_token_iterator.hpp rename to include/boost/regex/v5/u32regex_token_iterator.hpp index 952f7c413..ea30de7c9 100644 --- a/include/boost/regex/v4/u32regex_token_iterator.hpp +++ b/include/boost/regex/v5/u32regex_token_iterator.hpp @@ -16,27 +16,24 @@ * DESCRIPTION: Provides u32regex_token_iterator implementation. */ -#ifndef BOOST_REGEX_V4_U32REGEX_TOKEN_ITERATOR_HPP -#define BOOST_REGEX_V4_U32REGEX_TOKEN_ITERATOR_HPP +#ifndef BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP +#define BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP + +#include + +#ifndef BOOST_REGEX_STANDALONE + +#include +#if defined(BOOST_HAS_PRAGMA_ONCE) +#pragma once +#include +#endif -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) -// -// Borland C++ Builder 6, and Visual C++ 6, -// can't cope with the array template constructor -// so we have a template member that will accept any type as -// argument, and then assert that is really is an array: -// -#include -#include #endif namespace boost{ -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(push) # pragma warning(disable:4700) #endif @@ -61,22 +58,6 @@ class u32regex_token_iterator_implementation : end(last), re(*p), flags(f){ subs.push_back(sub); } u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) : end(last), re(*p), flags(f), subs(v){} -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) - template - u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const T& submatches, match_flag_type f) - : end(last), re(*p), flags(f) - { - // assert that T really is an array: - BOOST_STATIC_ASSERT(::boost::is_array::value); - const std::size_t array_size = sizeof(T) / sizeof(submatches[0]); - for(std::size_t i = 0; i < array_size; ++i) - { - subs.push_back(submatches[i]); - } - } -#else template u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) : end(last), re(*p), flags(f) @@ -86,7 +67,6 @@ class u32regex_token_iterator_implementation subs.push_back(submatches[i]); } } -#endif bool init(BidirectionalIterator first) { @@ -158,11 +138,11 @@ class u32regex_token_iterator { private: typedef u32regex_token_iterator_implementation impl; - typedef shared_ptr pimpl; + typedef std::shared_ptr pimpl; public: typedef u32regex regex_type; typedef sub_match value_type; - typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits::difference_type + typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; @@ -183,18 +163,6 @@ class u32regex_token_iterator if(!pdata->init(a)) pdata.reset(); } -#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) - template - u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const T& submatches, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#else template u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const int (&submatches)[N], match_flag_type m = match_default) @@ -203,7 +171,6 @@ class u32regex_token_iterator if(!pdata->init(a)) pdata.reset(); } -#endif u32regex_token_iterator(const u32regex_token_iterator& that) : pdata(that.pdata) {} u32regex_token_iterator& operator=(const u32regex_token_iterator& that) @@ -245,7 +212,7 @@ class u32regex_token_iterator void cow() { // copy-on-write - if(pdata.get() && !pdata.unique()) + if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } @@ -344,16 +311,13 @@ inline u32regex_token_iterator make_u32regex_token_iterator(const return u32regex_token_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m); } -#ifdef BOOST_MSVC +#ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif } // namespace boost -#endif // BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP +#endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP diff --git a/include/boost/regex/v5/unicode_iterator.hpp b/include/boost/regex/v5/unicode_iterator.hpp new file mode 100644 index 000000000..d71737631 --- /dev/null +++ b/include/boost/regex/v5/unicode_iterator.hpp @@ -0,0 +1,864 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE unicode_iterator.hpp + * VERSION see + * DESCRIPTION: Iterator adapters for converting between different Unicode encodings. + */ + +/**************************************************************************** + +Contents: +~~~~~~~~~ + +1) Read Only, Input Adapters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +template +class u32_to_u8_iterator; + +Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-8. + +template +class u8_to_u32_iterator; + +Adapts sequence of UTF-8 code points to "look like" a sequence of UTF-32. + +template +class u32_to_u16_iterator; + +Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-16. + +template +class u16_to_u32_iterator; + +Adapts sequence of UTF-16 code points to "look like" a sequence of UTF-32. + +2) Single pass output iterator adapters: + +template +class utf8_output_iterator; + +Accepts UTF-32 code points and forwards them on as UTF-8 code points. + +template +class utf16_output_iterator; + +Accepts UTF-32 code points and forwards them on as UTF-16 code points. + +****************************************************************************/ + +#ifndef BOOST_REGEX_UNICODE_ITERATOR_HPP +#define BOOST_REGEX_UNICODE_ITERATOR_HPP +#include +#ifndef BOOST_REGEX_AS_MODULE +#include +#include +#include +#include +#include // CHAR_BIT +#endif + +#ifndef BOOST_REGEX_STANDALONE +#include +#endif + +namespace boost{ + +namespace detail{ + +BOOST_REGEX_STATIC_CONST std::uint16_t high_surrogate_base = 0xD7C0u; +BOOST_REGEX_STATIC_CONST std::uint16_t low_surrogate_base = 0xDC00u; +BOOST_REGEX_STATIC_CONST std::uint32_t ten_bit_mask = 0x3FFu; + +inline bool is_high_surrogate(std::uint16_t v) +{ + return (v & 0xFFFFFC00u) == 0xd800u; +} +inline bool is_low_surrogate(std::uint16_t v) +{ + return (v & 0xFFFFFC00u) == 0xdc00u; +} +template +inline bool is_surrogate(T v) +{ + return (v & 0xFFFFF800u) == 0xd800; +} + +inline unsigned utf8_byte_count(std::uint8_t c) +{ + // if the most significant bit with a zero in it is in position + // 8-N then there are N bytes in this UTF-8 sequence: + std::uint8_t mask = 0x80u; + unsigned result = 0; + while(c & mask) + { + ++result; + mask >>= 1; + } + return (result == 0) ? 1 : ((result > 4) ? 4 : result); +} + +inline unsigned utf8_trailing_byte_count(std::uint8_t c) +{ + return utf8_byte_count(c) - 1; +} + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable:4100) +#endif +#ifndef BOOST_NO_EXCEPTIONS +BOOST_REGEX_NORETURN +#endif +inline void invalid_utf32_code_point(std::uint32_t val) +{ + std::stringstream ss; + ss << "Invalid UTF-32 code point U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-16 sequence"; + std::out_of_range e(ss.str()); +#ifndef BOOST_REGEX_STANDALONE + boost::throw_exception(e); +#else + throw e; +#endif +} +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + + +} // namespace detail + +template +class u32_to_u16_iterator +{ + typedef typename std::iterator_traits::value_type base_value_type; + + static_assert(sizeof(base_value_type)*CHAR_BIT == 32, "Incorrectly sized template argument"); + static_assert(sizeof(U16Type)*CHAR_BIT == 16, "Incorrectly sized template argument"); + +public: + typedef std::ptrdiff_t difference_type; + typedef U16Type value_type; + typedef value_type const* pointer; + typedef value_type const reference; + typedef std::bidirectional_iterator_tag iterator_category; + + reference operator*()const + { + if(m_current == 2) + extract_current(); + return m_values[m_current]; + } + bool operator==(const u32_to_u16_iterator& that)const + { + if(m_position == that.m_position) + { + // Both m_currents must be equal, or both even + // this is the same as saying their sum must be even: + return (m_current + that.m_current) & 1u ? false : true; + } + return false; + } + bool operator!=(const u32_to_u16_iterator& that)const + { + return !(*this == that); + } + u32_to_u16_iterator& operator++() + { + // if we have a pending read then read now, so that we know whether + // to skip a position, or move to a low-surrogate: + if(m_current == 2) + { + // pending read: + extract_current(); + } + // move to the next surrogate position: + ++m_current; + // if we've reached the end skip a position: + if(m_values[m_current] == 0) + { + m_current = 2; + ++m_position; + } + return *this; + } + u32_to_u16_iterator operator++(int) + { + u32_to_u16_iterator r(*this); + ++(*this); + return r; + } + u32_to_u16_iterator& operator--() + { + if(m_current != 1) + { + // decrementing an iterator always leads to a valid position: + --m_position; + extract_current(); + m_current = m_values[1] ? 1 : 0; + } + else + { + m_current = 0; + } + return *this; + } + u32_to_u16_iterator operator--(int) + { + u32_to_u16_iterator r(*this); + --(*this); + return r; + } + BaseIterator base()const + { + return m_position; + } + // construct: + u32_to_u16_iterator() : m_position(), m_current(0) + { + m_values[0] = 0; + m_values[1] = 0; + m_values[2] = 0; + } + u32_to_u16_iterator(BaseIterator b) : m_position(b), m_current(2) + { + m_values[0] = 0; + m_values[1] = 0; + m_values[2] = 0; + } +private: + + void extract_current()const + { + // begin by checking for a code point out of range: + std::uint32_t v = *m_position; + if(v >= 0x10000u) + { + if(v > 0x10FFFFu) + detail::invalid_utf32_code_point(*m_position); + // split into two surrogates: + m_values[0] = static_cast(v >> 10) + detail::high_surrogate_base; + m_values[1] = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; + m_current = 0; + BOOST_REGEX_ASSERT(detail::is_high_surrogate(m_values[0])); + BOOST_REGEX_ASSERT(detail::is_low_surrogate(m_values[1])); + } + else + { + // 16-bit code point: + m_values[0] = static_cast(*m_position); + m_values[1] = 0; + m_current = 0; + // value must not be a surrogate: + if(detail::is_surrogate(m_values[0])) + detail::invalid_utf32_code_point(*m_position); + } + } + BaseIterator m_position; + mutable U16Type m_values[3]; + mutable unsigned m_current; +}; + +template +class u16_to_u32_iterator +{ + // special values for pending iterator reads: + static const U32Type pending_read = 0xffffffffu; + + typedef typename std::iterator_traits::value_type base_value_type; + + static_assert(sizeof(base_value_type)*CHAR_BIT == 16, "Incorrectly sized template argument"); + static_assert(sizeof(U32Type)*CHAR_BIT == 32, "Incorrectly sized template argument"); + +public: + typedef std::ptrdiff_t difference_type; + typedef U32Type value_type; + typedef value_type const* pointer; + typedef value_type const reference; + typedef std::bidirectional_iterator_tag iterator_category; + + reference operator*()const + { + if(m_value == pending_read) + extract_current(); + return m_value; + } + bool operator==(const u16_to_u32_iterator& that)const + { + return m_position == that.m_position; + } + bool operator!=(const u16_to_u32_iterator& that)const + { + return !(*this == that); + } + u16_to_u32_iterator& operator++() + { + // skip high surrogate first if there is one: + if(detail::is_high_surrogate(*m_position)) ++m_position; + ++m_position; + m_value = pending_read; + return *this; + } + u16_to_u32_iterator operator++(int) + { + u16_to_u32_iterator r(*this); + ++(*this); + return r; + } + u16_to_u32_iterator& operator--() + { + --m_position; + // if we have a low surrogate then go back one more: + if(detail::is_low_surrogate(*m_position)) + --m_position; + m_value = pending_read; + return *this; + } + u16_to_u32_iterator operator--(int) + { + u16_to_u32_iterator r(*this); + --(*this); + return r; + } + BaseIterator base()const + { + return m_position; + } + // construct: + u16_to_u32_iterator() : m_position() + { + m_value = pending_read; + } + u16_to_u32_iterator(BaseIterator b) : m_position(b) + { + m_value = pending_read; + } + // + // Range checked version: + // + u16_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) + { + m_value = pending_read; + // + // The range must not start with a low surrogate, or end in a high surrogate, + // otherwise we run the risk of running outside the underlying input range. + // Likewise b must not be located at a low surrogate. + // + std::uint16_t val; + if(start != end) + { + if((b != start) && (b != end)) + { + val = *b; + if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) + invalid_code_point(val); + } + val = *start; + if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) + invalid_code_point(val); + val = *--end; + if(detail::is_high_surrogate(val)) + invalid_code_point(val); + } + } +private: + static void invalid_code_point(std::uint16_t val) + { + std::stringstream ss; + ss << "Misplaced UTF-16 surrogate U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-32 sequence"; + std::out_of_range e(ss.str()); +#ifndef BOOST_REGEX_STANDALONE + boost::throw_exception(e); +#else + throw e; +#endif + } + void extract_current()const + { + m_value = static_cast(static_cast< std::uint16_t>(*m_position)); + // if the last value is a high surrogate then adjust m_position and m_value as needed: + if(detail::is_high_surrogate(*m_position)) + { + // precondition; next value must have be a low-surrogate: + BaseIterator next(m_position); + std::uint16_t t = *++next; + if((t & 0xFC00u) != 0xDC00u) + invalid_code_point(t); + m_value = (m_value - detail::high_surrogate_base) << 10; + m_value |= (static_cast(static_cast< std::uint16_t>(t)) & detail::ten_bit_mask); + } + // postcondition; result must not be a surrogate: + if(detail::is_surrogate(m_value)) + invalid_code_point(static_cast< std::uint16_t>(m_value)); + } + BaseIterator m_position; + mutable U32Type m_value; +}; + +template +class u32_to_u8_iterator +{ + typedef typename std::iterator_traits::value_type base_value_type; + + static_assert(sizeof(base_value_type)*CHAR_BIT == 32, "Incorrectly sized template argument"); + static_assert(sizeof(U8Type)*CHAR_BIT == 8, "Incorrectly sized template argument"); + +public: + typedef std::ptrdiff_t difference_type; + typedef U8Type value_type; + typedef value_type const* pointer; + typedef value_type const reference; + typedef std::bidirectional_iterator_tag iterator_category; + + reference operator*()const + { + if(m_current == 4) + extract_current(); + return m_values[m_current]; + } + bool operator==(const u32_to_u8_iterator& that)const + { + if(m_position == that.m_position) + { + // either the m_current's must be equal, or one must be 0 and + // the other 4: which means neither must have bits 1 or 2 set: + return (m_current == that.m_current) + || (((m_current | that.m_current) & 3) == 0); + } + return false; + } + bool operator!=(const u32_to_u8_iterator& that)const + { + return !(*this == that); + } + u32_to_u8_iterator& operator++() + { + // if we have a pending read then read now, so that we know whether + // to skip a position, or move to a low-surrogate: + if(m_current == 4) + { + // pending read: + extract_current(); + } + // move to the next surrogate position: + ++m_current; + // if we've reached the end skip a position: + if(m_values[m_current] == 0) + { + m_current = 4; + ++m_position; + } + return *this; + } + u32_to_u8_iterator operator++(int) + { + u32_to_u8_iterator r(*this); + ++(*this); + return r; + } + u32_to_u8_iterator& operator--() + { + if((m_current & 3) == 0) + { + --m_position; + extract_current(); + m_current = 3; + while(m_current && (m_values[m_current] == 0)) + --m_current; + } + else + --m_current; + return *this; + } + u32_to_u8_iterator operator--(int) + { + u32_to_u8_iterator r(*this); + --(*this); + return r; + } + BaseIterator base()const + { + return m_position; + } + // construct: + u32_to_u8_iterator() : m_position(), m_current(0) + { + m_values[0] = 0; + m_values[1] = 0; + m_values[2] = 0; + m_values[3] = 0; + m_values[4] = 0; + } + u32_to_u8_iterator(BaseIterator b) : m_position(b), m_current(4) + { + m_values[0] = 0; + m_values[1] = 0; + m_values[2] = 0; + m_values[3] = 0; + m_values[4] = 0; + } +private: + + void extract_current()const + { + std::uint32_t c = *m_position; + if(c > 0x10FFFFu) + detail::invalid_utf32_code_point(c); + if(c < 0x80u) + { + m_values[0] = static_cast(c); + m_values[1] = static_cast(0u); + m_values[2] = static_cast(0u); + m_values[3] = static_cast(0u); + } + else if(c < 0x800u) + { + m_values[0] = static_cast(0xC0u + (c >> 6)); + m_values[1] = static_cast(0x80u + (c & 0x3Fu)); + m_values[2] = static_cast(0u); + m_values[3] = static_cast(0u); + } + else if(c < 0x10000u) + { + m_values[0] = static_cast(0xE0u + (c >> 12)); + m_values[1] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); + m_values[2] = static_cast(0x80u + (c & 0x3Fu)); + m_values[3] = static_cast(0u); + } + else + { + m_values[0] = static_cast(0xF0u + (c >> 18)); + m_values[1] = static_cast(0x80u + ((c >> 12) & 0x3Fu)); + m_values[2] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); + m_values[3] = static_cast(0x80u + (c & 0x3Fu)); + } + m_current= 0; + } + BaseIterator m_position; + mutable U8Type m_values[5]; + mutable unsigned m_current; +}; + +template +class u8_to_u32_iterator +{ + // special values for pending iterator reads: + static const U32Type pending_read = 0xffffffffu; + + typedef typename std::iterator_traits::value_type base_value_type; + + static_assert(sizeof(base_value_type)*CHAR_BIT == 8, "Incorrectly sized template argument"); + static_assert(sizeof(U32Type)*CHAR_BIT == 32, "Incorrectly sized template argument"); + +public: + typedef std::ptrdiff_t difference_type; + typedef U32Type value_type; + typedef value_type const* pointer; + typedef value_type const reference; + typedef std::bidirectional_iterator_tag iterator_category; + + reference operator*()const + { + if(m_value == pending_read) + extract_current(); + return m_value; + } + bool operator==(const u8_to_u32_iterator& that)const + { + return m_position == that.m_position; + } + bool operator!=(const u8_to_u32_iterator& that)const + { + return !(*this == that); + } + u8_to_u32_iterator& operator++() + { + // We must not start with a continuation character: + if((static_cast(*m_position) & 0xC0) == 0x80) + invalid_sequence(); + // skip high surrogate first if there is one: + unsigned c = detail::utf8_byte_count(*m_position); + if(m_value == pending_read) + { + // Since we haven't read in a value, we need to validate the code points: + for(unsigned i = 0; i < c; ++i) + { + ++m_position; + // We must have a continuation byte: + if((i != c - 1) && ((static_cast(*m_position) & 0xC0) != 0x80)) + invalid_sequence(); + } + } + else + { + std::advance(m_position, c); + } + m_value = pending_read; + return *this; + } + u8_to_u32_iterator operator++(int) + { + u8_to_u32_iterator r(*this); + ++(*this); + return r; + } + u8_to_u32_iterator& operator--() + { + // Keep backtracking until we don't have a trailing character: + unsigned count = 0; + while((*--m_position & 0xC0u) == 0x80u) ++count; + // now check that the sequence was valid: + if(count != detail::utf8_trailing_byte_count(*m_position)) + invalid_sequence(); + m_value = pending_read; + return *this; + } + u8_to_u32_iterator operator--(int) + { + u8_to_u32_iterator r(*this); + --(*this); + return r; + } + BaseIterator base()const + { + return m_position; + } + // construct: + u8_to_u32_iterator() : m_position() + { + m_value = pending_read; + } + u8_to_u32_iterator(BaseIterator b) : m_position(b) + { + m_value = pending_read; + } + // + // Checked constructor: + // + u8_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) + { + m_value = pending_read; + // + // We must not start with a continuation character, or end with a + // truncated UTF-8 sequence otherwise we run the risk of going past + // the start/end of the underlying sequence: + // + if(start != end) + { + unsigned char v = *start; + if((v & 0xC0u) == 0x80u) + invalid_sequence(); + if((b != start) && (b != end) && ((*b & 0xC0u) == 0x80u)) + invalid_sequence(); + BaseIterator pos = end; + do + { + v = *--pos; + } + while((start != pos) && ((v & 0xC0u) == 0x80u)); + std::ptrdiff_t extra = detail::utf8_byte_count(v); + if(std::distance(pos, end) < extra) + invalid_sequence(); + } + } +private: + static void invalid_sequence() + { + std::out_of_range e("Invalid UTF-8 sequence encountered while trying to encode UTF-32 character"); +#ifndef BOOST_REGEX_STANDALONE + boost::throw_exception(e); +#else + throw e; +#endif + } + void extract_current()const + { + m_value = static_cast(static_cast< std::uint8_t>(*m_position)); + // we must not have a continuation character: + if((m_value & 0xC0u) == 0x80u) + invalid_sequence(); + // see how many extra bytes we have: + unsigned extra = detail::utf8_trailing_byte_count(*m_position); + // extract the extra bits, 6 from each extra byte: + BaseIterator next(m_position); + for(unsigned c = 0; c < extra; ++c) + { + ++next; + m_value <<= 6; + // We must have a continuation byte: + if((static_cast(*next) & 0xC0) != 0x80) + invalid_sequence(); + m_value += static_cast(*next) & 0x3Fu; + } + // we now need to remove a few of the leftmost bits, but how many depends + // upon how many extra bytes we've extracted: + static const std::uint32_t masks[4] = + { + 0x7Fu, + 0x7FFu, + 0xFFFFu, + 0x1FFFFFu, + }; + m_value &= masks[extra]; + // check the result is in range: + if(m_value > static_cast(0x10FFFFu)) + invalid_sequence(); + // The result must not be a surrogate: + if((m_value >= static_cast(0xD800)) && (m_value <= static_cast(0xDFFF))) + invalid_sequence(); + // We should not have had an invalidly encoded UTF8 sequence: + if((extra > 0) && (m_value <= static_cast(masks[extra - 1]))) + invalid_sequence(); + } + BaseIterator m_position; + mutable U32Type m_value; +}; + +template +class utf16_output_iterator +{ +public: + typedef void difference_type; + typedef void value_type; + typedef std::uint32_t* pointer; + typedef std::uint32_t& reference; + typedef std::output_iterator_tag iterator_category; + + utf16_output_iterator(const BaseIterator& b) + : m_position(b){} + utf16_output_iterator(const utf16_output_iterator& that) + : m_position(that.m_position){} + utf16_output_iterator& operator=(const utf16_output_iterator& that) + { + m_position = that.m_position; + return *this; + } + const utf16_output_iterator& operator*()const + { + return *this; + } + void operator=(std::uint32_t val)const + { + push(val); + } + utf16_output_iterator& operator++() + { + return *this; + } + utf16_output_iterator& operator++(int) + { + return *this; + } + BaseIterator base()const + { + return m_position; + } +private: + void push(std::uint32_t v)const + { + if(v >= 0x10000u) + { + // begin by checking for a code point out of range: + if(v > 0x10FFFFu) + detail::invalid_utf32_code_point(v); + // split into two surrogates: + *m_position++ = static_cast(v >> 10) + detail::high_surrogate_base; + *m_position++ = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; + } + else + { + // 16-bit code point: + // value must not be a surrogate: + if(detail::is_surrogate(v)) + detail::invalid_utf32_code_point(v); + *m_position++ = static_cast(v); + } + } + mutable BaseIterator m_position; +}; + +template +class utf8_output_iterator +{ +public: + typedef void difference_type; + typedef void value_type; + typedef std::uint32_t* pointer; + typedef std::uint32_t& reference; + typedef std::output_iterator_tag iterator_category; + + utf8_output_iterator(const BaseIterator& b) + : m_position(b){} + utf8_output_iterator(const utf8_output_iterator& that) + : m_position(that.m_position){} + utf8_output_iterator& operator=(const utf8_output_iterator& that) + { + m_position = that.m_position; + return *this; + } + const utf8_output_iterator& operator*()const + { + return *this; + } + void operator=(std::uint32_t val)const + { + push(val); + } + utf8_output_iterator& operator++() + { + return *this; + } + utf8_output_iterator& operator++(int) + { + return *this; + } + BaseIterator base()const + { + return m_position; + } +private: + void push(std::uint32_t c)const + { + if(c > 0x10FFFFu) + detail::invalid_utf32_code_point(c); + if(c < 0x80u) + { + *m_position++ = static_cast(c); + } + else if(c < 0x800u) + { + *m_position++ = static_cast(0xC0u + (c >> 6)); + *m_position++ = static_cast(0x80u + (c & 0x3Fu)); + } + else if(c < 0x10000u) + { + *m_position++ = static_cast(0xE0u + (c >> 12)); + *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); + *m_position++ = static_cast(0x80u + (c & 0x3Fu)); + } + else + { + *m_position++ = static_cast(0xF0u + (c >> 18)); + *m_position++ = static_cast(0x80u + ((c >> 12) & 0x3Fu)); + *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); + *m_position++ = static_cast(0x80u + (c & 0x3Fu)); + } + } + mutable BaseIterator m_position; +}; + +} // namespace boost + +#endif // BOOST_REGEX_UNICODE_ITERATOR_HPP + diff --git a/include/boost/regex/v5/w32_regex_traits.hpp b/include/boost/regex/v5/w32_regex_traits.hpp new file mode 100644 index 000000000..d6a56da53 --- /dev/null +++ b/include/boost/regex/v5/w32_regex_traits.hpp @@ -0,0 +1,1313 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE w32_regex_traits.hpp + * VERSION see + * DESCRIPTION: Declares regular expression traits class w32_regex_traits. + */ + +#ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED +#define BOOST_W32_REGEX_TRAITS_HPP_INCLUDED + +#ifndef BOOST_REGEX_NO_WIN32_LOCALE + +#include +#include +#ifndef BOOST_REGEX_AS_MODULE +#ifdef BOOST_HAS_THREADS +#include +#endif +#endif +#include +#include + +#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE) +#pragma comment(lib, "user32.lib") +#endif + +#ifdef BOOST_REGEX_MSVC +#pragma warning(push) +#pragma warning(disable:4786) +#if BOOST_REGEX_MSVC < 1910 +#pragma warning(disable:4800) +#endif +#endif + +#ifndef BASETYPES +// +// windows.h not included, so lets forward declare what we need: +// +#ifndef NO_STRICT +#ifndef STRICT +#define STRICT 1 +#endif +#endif + +#if defined(STRICT) +#define BOOST_RE_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x +#else +#define BOOST_RE_DETAIL_DECLARE_HANDLE(x) typedef void* x +#endif +// +// This must be in the global namespace: +// +extern "C" { + + BOOST_RE_DETAIL_DECLARE_HANDLE(HINSTANCE); + typedef HINSTANCE HMODULE; +} +#endif + +namespace boost{ + +// +// forward declaration is needed by some compilers: +// +template +class w32_regex_traits; + +namespace BOOST_REGEX_DETAIL_NS{ + +// +// start by typedeffing the types we'll need: +// +typedef unsigned long lcid_type; // placeholder for LCID. +typedef std::shared_ptr cat_type; // placeholder for dll HANDLE. + +// +// then add wrappers around the actual Win32 API's (ie implementation hiding): +// +lcid_type w32_get_default_locale(); +bool w32_is_lower(char, lcid_type); +#ifndef BOOST_NO_WREGEX +bool w32_is_lower(wchar_t, lcid_type); +#endif +bool w32_is_upper(char, lcid_type); +#ifndef BOOST_NO_WREGEX +bool w32_is_upper(wchar_t, lcid_type); +#endif +cat_type w32_cat_open(const std::string& name); +std::string w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def); +#ifndef BOOST_NO_WREGEX +std::wstring w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def); +#endif +std::string w32_transform(lcid_type state_id, const char* p1, const char* p2); +#ifndef BOOST_NO_WREGEX +std::wstring w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2); +#endif +char w32_tolower(char c, lcid_type); +#ifndef BOOST_NO_WREGEX +wchar_t w32_tolower(wchar_t c, lcid_type); +#endif +char w32_toupper(char c, lcid_type); +#ifndef BOOST_NO_WREGEX +wchar_t w32_toupper(wchar_t c, lcid_type); +#endif +bool w32_is(lcid_type, std::uint32_t mask, char c); +#ifndef BOOST_NO_WREGEX +bool w32_is(lcid_type, std::uint32_t mask, wchar_t c); +#endif + +#ifndef BASETYPES +// +// Forward declarations of the small number of windows types and API's we use: +// + +#if !defined(__LP64__) +using dword = unsigned long; +#else +using DWORD = unsigned int; +#endif +using word = unsigned short; +using lctype = dword; + +static constexpr dword ct_ctype1 = 0x00000001; +static constexpr dword c1_upper = 0x0001; // upper case +static constexpr dword c1_lower = 0x0002; // lower case +static constexpr dword c1_digit = 0x0004; // decimal digits +static constexpr dword c1_space = 0x0008; // spacing characters +static constexpr dword c1_punct = 0x0010; // punctuation characters +static constexpr dword c1_cntrl = 0x0020; // control characters +static constexpr dword c1_blank = 0x0040; // blank characters +static constexpr dword c1_xdigit = 0x0080; // other digits +static constexpr dword c1_alpha = 0x0100; // any linguistic character +static constexpr dword c1_defined = 0x0200; // defined character +static constexpr unsigned int cp_acp = 0; +static constexpr dword lcmap_lowercase = 0x00000100; +static constexpr dword lcmap_uppercase = 0x00000200; +static constexpr dword lcmap_sortkey = 0x00000400; // WC sort key (normalize) +static constexpr lctype locale_idefaultansicodepage = 0x00001004; + +# ifdef UNDER_CE +# ifndef WINAPI +# ifndef _WIN32_WCE_EMULATION +# define BOOST_RE_STDCALL __cdecl // Note this doesn't match the desktop definition +# else +# define BOOST_RE_STDCALL __stdcall +# endif +# endif +# else +# if defined(_M_IX86) || defined(__i386__) +# define BOOST_RE_STDCALL __stdcall +# else + // On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning. +# define BOOST_RE_STDCALL +# endif +# endif + +#if defined (WIN32_PLATFORM_PSPC) +#define BOOST_RE_IMPORT __declspec( dllimport ) +#elif defined (_WIN32_WCE) +#define BOOST_RE_IMPORT +#else +#define BOOST_RE_IMPORT __declspec( dllimport ) +#endif + +extern "C" { + + BOOST_RE_IMPORT int BOOST_RE_STDCALL FreeLibrary(HMODULE hLibModule); + BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringA(lcid_type Locale, dword dwMapFlags, const char* lpSrcStr, int cchSrc, char* lpDestStr, int cchDest); + BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest); + BOOST_RE_IMPORT int BOOST_RE_STDCALL MultiByteToWideChar(unsigned int CodePage, dword dwFlags, const char* lpMultiByteStr, int cbMultiByte, wchar_t* lpWideCharStr, int cchWideChar); + BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest); + BOOST_RE_IMPORT int BOOST_RE_STDCALL WideCharToMultiByte(unsigned int CodePage, dword dwFlags, const wchar_t* lpWideCharStr, int cchWideChar, char* lpMultiByteStr, int cbMultiByte, const char* lpDefaultChar, int* lpUsedDefaultChar); + BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType); + BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType); + BOOST_RE_IMPORT lcid_type BOOST_RE_STDCALL GetUserDefaultLCID(); + BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType); + BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType); + BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryA(const char* lpLibFileName); + BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryW(const wchar_t* lpLibFileName); + BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringW(HINSTANCE hInstance, unsigned int uID, wchar_t* lpBuffer, int cchBufferMax); + BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringA(HINSTANCE hInstance, unsigned int uID, char* lpBuffer, int cchBufferMax); + BOOST_RE_IMPORT int BOOST_RE_STDCALL GetLocaleInfoW(lcid_type Locale, lctype LCType, wchar_t* lpLCData, int cchData); +} + +#else +// +// We have windows.h already included: +// +using dword = DWORD; +using word = WORD; +using lctype = LCTYPE; + +static constexpr dword ct_ctype1 = 0x00000001; +static constexpr dword c1_upper = 0x0001; // upper case +static constexpr dword c1_lower = 0x0002; // lower case +static constexpr dword c1_digit = 0x0004; // decimal digits +static constexpr dword c1_space = 0x0008; // spacing characters +static constexpr dword c1_punct = 0x0010; // punctuation characters +static constexpr dword c1_cntrl = 0x0020; // control characters +static constexpr dword c1_blank = 0x0040; // blank characters +static constexpr dword c1_xdigit = 0x0080; // other digits +static constexpr dword c1_alpha = 0x0100; // any linguistic character +static constexpr dword c1_defined = 0x0200; // defined character +static constexpr unsigned int cp_acp = 0; +static constexpr dword lcmap_lowercase = 0x00000100; +static constexpr dword lcmap_uppercase = 0x00000200; +static constexpr dword lcmap_sortkey = 0x00000400; // WC sort key (normalize) +static constexpr lctype locale_idefaultansicodepage = 0x00001004; + +using ::FreeLibrary; +using ::LCMapStringA; +using ::LCMapStringW; +using ::MultiByteToWideChar; +using ::LCMapStringW; +using ::WideCharToMultiByte; +using ::GetStringTypeExA; +using ::GetStringTypeExW; +using ::GetUserDefaultLCID; +using ::GetStringTypeExA; +using ::GetStringTypeExW; +using ::LoadLibraryA; +using ::LoadLibraryW; +using ::LoadStringW; +using ::LoadStringA; +using ::GetLocaleInfoW; + +#endif +// +// class w32_regex_traits_base: +// acts as a container for locale and the facets we are using. +// +template +struct w32_regex_traits_base +{ + w32_regex_traits_base(lcid_type l) + { imbue(l); } + lcid_type imbue(lcid_type l); + + lcid_type m_locale; +}; + +template +inline lcid_type w32_regex_traits_base::imbue(lcid_type l) +{ + lcid_type result(m_locale); + m_locale = l; + return result; +} + +// +// class w32_regex_traits_char_layer: +// implements methods that require specialisation for narrow characters: +// +template +class w32_regex_traits_char_layer : public w32_regex_traits_base +{ + typedef std::basic_string string_type; + typedef std::map map_type; + typedef typename map_type::const_iterator map_iterator_type; +public: + w32_regex_traits_char_layer(const lcid_type l); + + regex_constants::syntax_type syntax_type(charT c)const + { + map_iterator_type i = m_char_map.find(c); + return ((i == m_char_map.end()) ? 0 : i->second); + } + regex_constants::escape_syntax_type escape_syntax_type(charT c) const + { + map_iterator_type i = m_char_map.find(c); + if(i == m_char_map.end()) + { + if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_lower(c, this->m_locale)) return regex_constants::escape_type_class; + if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_upper(c, this->m_locale)) return regex_constants::escape_type_not_class; + return 0; + } + return i->second; + } + charT tolower(charT c)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::w32_tolower(c, this->m_locale); + } + bool isctype(std::uint32_t mask, charT c)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, mask, c); + } + +private: + string_type get_default_message(regex_constants::syntax_type); + // TODO: use a hash table when available! + map_type m_char_map; +}; + +template +w32_regex_traits_char_layer::w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) + : w32_regex_traits_base(l) +{ + // we need to start by initialising our syntax map so we know which + // character is used for which purpose: + cat_type cat; + std::string cat_name(w32_regex_traits::get_catalog_name()); + if(cat_name.size()) + { + cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); + if(!cat) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if(cat) + { + for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_message(i)); + for(typename string_type::size_type j = 0; j < mss.size(); ++j) + { + this->m_char_map[mss[j]] = i; + } + } + } + else + { + for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + const char* ptr = get_default_syntax(i); + while(ptr && *ptr) + { + this->m_char_map[static_cast(*ptr)] = i; + ++ptr; + } + } + } +} + +template +typename w32_regex_traits_char_layer::string_type + w32_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) +{ + const char* ptr = get_default_syntax(i); + string_type result; + while(ptr && *ptr) + { + result.append(1, static_cast(*ptr)); + ++ptr; + } + return result; +} + +// +// specialised version for narrow characters: +// +template <> +class w32_regex_traits_char_layer : public w32_regex_traits_base +{ + typedef std::string string_type; +public: + w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) + : w32_regex_traits_base(l) + { + init(); + } + + regex_constants::syntax_type syntax_type(char c)const + { + return m_char_map[static_cast(c)]; + } + regex_constants::escape_syntax_type escape_syntax_type(char c) const + { + return m_char_map[static_cast(c)]; + } + char tolower(char c)const + { + return m_lower_map[static_cast(c)]; + } + bool isctype(std::uint32_t mask, char c)const + { + return m_type_map[static_cast(c)] & mask; + } + +private: + regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; + char m_lower_map[1u << CHAR_BIT]; + std::uint16_t m_type_map[1u << CHAR_BIT]; + template + void init(); +}; + +// +// class w32_regex_traits_implementation: +// provides pimpl implementation for w32_regex_traits. +// +template +class w32_regex_traits_implementation : public w32_regex_traits_char_layer +{ +public: + typedef typename w32_regex_traits::char_class_type char_class_type; + static const char_class_type mask_word = 0x0400; // must be C1_DEFINED << 1 + static const char_class_type mask_unicode = 0x0800; // must be C1_DEFINED << 2 + static const char_class_type mask_horizontal = 0x1000; // must be C1_DEFINED << 3 + static const char_class_type mask_vertical = 0x2000; // must be C1_DEFINED << 4 + static const char_class_type mask_base = 0x3ff; // all the masks used by the CT_CTYPE1 group + + typedef std::basic_string string_type; + typedef charT char_type; + w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l); + std::string error_string(regex_constants::error_type n) const + { + if(!m_error_strings.empty()) + { + std::map::const_iterator p = m_error_strings.find(n); + return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; + } + return get_default_error_string(n); + } + char_class_type lookup_classname(const charT* p1, const charT* p2) const + { + char_class_type result = lookup_classname_imp(p1, p2); + if(result == 0) + { + typedef typename string_type::size_type size_type; + string_type temp(p1, p2); + for(size_type i = 0; i < temp.size(); ++i) + temp[i] = this->tolower(temp[i]); + result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); + } + return result; + } + string_type lookup_collatename(const charT* p1, const charT* p2) const; + string_type transform_primary(const charT* p1, const charT* p2) const; + string_type transform(const charT* p1, const charT* p2) const + { + return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_locale, p1, p2); + } +private: + std::map m_error_strings; // error messages indexed by numberic ID + std::map m_custom_class_names; // character class names + std::map m_custom_collate_names; // collating element names + unsigned m_collate_type; // the form of the collation string + charT m_collate_delim; // the collation group delimiter + // + // helpers: + // + char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; +}; + +template +typename w32_regex_traits_implementation::string_type + w32_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const +{ + string_type result; + // + // What we do here depends upon the format of the sort key returned by + // sort key returned by this->transform: + // + switch(m_collate_type) + { + case sort_C: + case sort_unknown: + // the best we can do is translate to lower case, then get a regular sort key: + { + result.assign(p1, p2); + typedef typename string_type::size_type size_type; + for(size_type i = 0; i < result.size(); ++i) + result[i] = this->tolower(result[i]); + result = this->transform(&*result.begin(), &*result.begin() + result.size()); + break; + } + case sort_fixed: + { + // get a regular sort key, and then truncate it: + result.assign(this->transform(p1, p2)); + result.erase(this->m_collate_delim); + break; + } + case sort_delim: + // get a regular sort key, and then truncate everything after the delim: + result.assign(this->transform(p1, p2)); + std::size_t i; + for(i = 0; i < result.size(); ++i) + { + if(result[i] == m_collate_delim) + break; + } + result.erase(i); + break; + } + if(result.empty()) + result = string_type(1, charT(0)); + return result; +} + +template +typename w32_regex_traits_implementation::string_type + w32_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const +{ + typedef typename std::map::const_iterator iter_type; + if(m_custom_collate_names.size()) + { + iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); + if(pos != m_custom_collate_names.end()) + return pos->second; + } + std::string name(p1, p2); + name = lookup_default_collate_name(name); + if(name.size()) + return string_type(name.begin(), name.end()); + if(p2 - p1 == 1) + return string_type(1, *p1); + return string_type(); +} + +template +w32_regex_traits_implementation::w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) +: w32_regex_traits_char_layer(l) +{ + cat_type cat; + std::string cat_name(w32_regex_traits::get_catalog_name()); + if(cat_name.size()) + { + cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); + if(!cat) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if(cat) + { + // + // Error messages: + // + for(boost::regex_constants::error_type i = static_cast(0); + i <= boost::regex_constants::error_unknown; + i = static_cast(i + 1)) + { + const char* p = get_default_error_string(i); + string_type default_message; + while(*p) + { + default_message.append(1, static_cast(*p)); + ++p; + } + string_type s = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i+200, default_message); + std::string result; + for(std::string::size_type j = 0; j < s.size(); ++j) + { + result.append(1, static_cast(s[j])); + } + m_error_strings[i] = result; + } + // + // Custom class names: + // + static const char_class_type masks[14] = + { + 0x0104u, // C1_ALPHA | C1_DIGIT + 0x0100u, // C1_ALPHA + 0x0020u, // C1_CNTRL + 0x0004u, // C1_DIGIT + (~(0x0020u|0x0008u) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE + 0x0002u, // C1_LOWER + (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL + 0x0010u, // C1_PUNCT + 0x0008u, // C1_SPACE + 0x0001u, // C1_UPPER + 0x0080u, // C1_XDIGIT + 0x0040u, // C1_BLANK + w32_regex_traits_implementation::mask_word, + w32_regex_traits_implementation::mask_unicode, + }; + static const string_type null_string; + for(unsigned int j = 0; j <= 13; ++j) + { + string_type s(::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, j+300, null_string)); + if(s.size()) + this->m_custom_class_names[s] = masks[j]; + } + } + // + // get the collation format used by m_pcollate: + // + m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); +} + +template +typename w32_regex_traits_implementation::char_class_type + w32_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const +{ + static const char_class_type masks[22] = + { + 0, + 0x0104u, // C1_ALPHA | C1_DIGIT + 0x0100u, // C1_ALPHA + 0x0040u, // C1_BLANK + 0x0020u, // C1_CNTRL + 0x0004u, // C1_DIGIT + 0x0004u, // C1_DIGIT + (~(0x0020u|0x0008u|0x0040) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE or C1_BLANK + w32_regex_traits_implementation::mask_horizontal, + 0x0002u, // C1_LOWER + 0x0002u, // C1_LOWER + (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL + 0x0010u, // C1_PUNCT + 0x0008u, // C1_SPACE + 0x0008u, // C1_SPACE + 0x0001u, // C1_UPPER + w32_regex_traits_implementation::mask_unicode, + 0x0001u, // C1_UPPER + w32_regex_traits_implementation::mask_vertical, + 0x0104u | w32_regex_traits_implementation::mask_word, + 0x0104u | w32_regex_traits_implementation::mask_word, + 0x0080u, // C1_XDIGIT + }; + if(m_custom_class_names.size()) + { + typedef typename std::map, char_class_type>::const_iterator map_iter; + map_iter pos = m_custom_class_names.find(string_type(p1, p2)); + if(pos != m_custom_class_names.end()) + return pos->second; + } + std::size_t state_id = 1u + (std::size_t)BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); + if(state_id < sizeof(masks) / sizeof(masks[0])) + return masks[state_id]; + return masks[0]; +} + + +template +std::shared_ptr > create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) +{ + // TODO: create a cache for previously constructed objects. + return boost::object_cache< ::boost::BOOST_REGEX_DETAIL_NS::lcid_type, w32_regex_traits_implementation >::get(l, 5); +} + +} // BOOST_REGEX_DETAIL_NS + +BOOST_REGEX_MODULE_EXPORT template +class w32_regex_traits +{ +public: + typedef charT char_type; + typedef std::size_t size_type; + typedef std::basic_string string_type; + typedef ::boost::BOOST_REGEX_DETAIL_NS::lcid_type locale_type; + typedef std::uint_least32_t char_class_type; + + struct boost_extensions_tag{}; + + w32_regex_traits() + : m_pimpl(BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::w32_get_default_locale())) + { } + static size_type length(const char_type* p) + { + return std::char_traits::length(p); + } + regex_constants::syntax_type syntax_type(charT c)const + { + return m_pimpl->syntax_type(c); + } + regex_constants::escape_syntax_type escape_syntax_type(charT c) const + { + return m_pimpl->escape_syntax_type(c); + } + charT translate(charT c) const + { + return c; + } + charT translate_nocase(charT c) const + { + return this->m_pimpl->tolower(c); + } + charT translate(charT c, bool icase) const + { + return icase ? this->m_pimpl->tolower(c) : c; + } + charT tolower(charT c) const + { + return this->m_pimpl->tolower(c); + } + charT toupper(charT c) const + { + return ::boost::BOOST_REGEX_DETAIL_NS::w32_toupper(c, this->m_pimpl->m_locale); + } + string_type transform(const charT* p1, const charT* p2) const + { + return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_pimpl->m_locale, p1, p2); + } + string_type transform_primary(const charT* p1, const charT* p2) const + { + return m_pimpl->transform_primary(p1, p2); + } + char_class_type lookup_classname(const charT* p1, const charT* p2) const + { + return m_pimpl->lookup_classname(p1, p2); + } + string_type lookup_collatename(const charT* p1, const charT* p2) const + { + return m_pimpl->lookup_collatename(p1, p2); + } + bool isctype(charT c, char_class_type f) const + { + if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base) + && (this->m_pimpl->isctype(f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base, c))) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_word) && (c == '_')) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical) + && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) + return true; + else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_horizontal) + && this->isctype(c, 0x0008u) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical)) + return true; + return false; + } + std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const + { + return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); + } + int value(charT c, int radix)const + { + int result = (int)::boost::BOOST_REGEX_DETAIL_NS::global_value(c); + return result < radix ? result : -1; + } + locale_type imbue(locale_type l) + { + ::boost::BOOST_REGEX_DETAIL_NS::lcid_type result(getloc()); + m_pimpl = BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(l); + return result; + } + locale_type getloc()const + { + return m_pimpl->m_locale; + } + std::string error_string(regex_constants::error_type n) const + { + return m_pimpl->error_string(n); + } + + // + // extension: + // set the name of the message catalog in use (defaults to "boost_regex"). + // + static std::string catalog_name(const std::string& name); + static std::string get_catalog_name(); + +private: + std::shared_ptr > m_pimpl; + // + // catalog name handler: + // + static std::string& get_catalog_name_inst(); + +#ifdef BOOST_HAS_THREADS + static std::mutex& get_mutex_inst(); +#endif +}; + +template +std::string w32_regex_traits::catalog_name(const std::string& name) +{ +#ifdef BOOST_HAS_THREADS + std::lock_guard lk(get_mutex_inst()); +#endif + std::string result(get_catalog_name_inst()); + get_catalog_name_inst() = name; + return result; +} + +template +std::string& w32_regex_traits::get_catalog_name_inst() +{ + static std::string s_name; + return s_name; +} + +template +std::string w32_regex_traits::get_catalog_name() +{ +#ifdef BOOST_HAS_THREADS + std::lock_guard lk(get_mutex_inst()); +#endif + std::string result(get_catalog_name_inst()); + return result; +} + +#ifdef BOOST_HAS_THREADS +template +std::mutex& w32_regex_traits::get_mutex_inst() +{ + static std::mutex s_mutex; + return s_mutex; +} +#endif + +namespace BOOST_REGEX_DETAIL_NS { + +#ifdef BOOST_NO_ANSI_APIS + inline unsigned int get_code_page_for_locale_id(lcid_type idx) + { + wchar_t code_page_string[7]; + if (boost::BOOST_REGEX_DETAIL_NS::GetLocaleInfoW(idx, locale_idefaultansicodepage, code_page_string, 7) == 0) + return 0; + + return static_cast(_wtol(code_page_string)); +} +#endif + + template + inline void w32_regex_traits_char_layer::init() + { + // we need to start by initialising our syntax map so we know which + // character is used for which purpose: + std::memset(m_char_map, 0, sizeof(m_char_map)); + cat_type cat; + std::string cat_name(w32_regex_traits::get_catalog_name()); + if (cat_name.size()) + { + cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); + if (!cat) + { + std::string m("Unable to open message catalog: "); + std::runtime_error err(m + cat_name); + ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); + } + } + // + // if we have a valid catalog then load our messages: + // + if (cat) + { + for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_syntax(i)); + for (string_type::size_type j = 0; j < mss.size(); ++j) + { + m_char_map[static_cast(mss[j])] = i; + } + } + } + else + { + for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) + { + const char* ptr = get_default_syntax(i); + while (ptr && *ptr) + { + m_char_map[static_cast(*ptr)] = i; + ++ptr; + } + } + } + // + // finish off by calculating our escape types: + // + unsigned char i = 'A'; + do + { + if (m_char_map[i] == 0) + { + if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0002u, (char)i)) + m_char_map[i] = regex_constants::escape_type_class; + else if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0001u, (char)i)) + m_char_map[i] = regex_constants::escape_type_not_class; + } + } while (0xFF != i++); + + // + // fill in lower case map: + // + char char_map[1 << CHAR_BIT]; + for (int ii = 0; ii < (1 << CHAR_BIT); ++ii) + char_map[ii] = static_cast(ii); +#ifndef BOOST_NO_ANSI_APIS + int r = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(this->m_locale, lcmap_lowercase, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT); + BOOST_REGEX_ASSERT(r != 0); +#else + unsigned int code_page = get_code_page_for_locale_id(this->m_locale); + BOOST_REGEX_ASSERT(code_page != 0); + + wchar_t wide_char_map[1 << CHAR_BIT]; + int conv_r = boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT); + BOOST_REGEX_ASSERT(conv_r != 0); + + wchar_t wide_lower_map[1 << CHAR_BIT]; + int r = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(this->m_locale, lcmap_lowercase, wide_char_map, 1 << CHAR_BIT, wide_lower_map, 1 << CHAR_BIT); + BOOST_REGEX_ASSERT(r != 0); + + conv_r = boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL); + BOOST_REGEX_ASSERT(conv_r != 0); +#endif + if (r < (1 << CHAR_BIT)) + { + // if we have multibyte characters then not all may have been given + // a lower case mapping: + for (int jj = r; jj < (1 << CHAR_BIT); ++jj) + this->m_lower_map[jj] = static_cast(jj); + } + +#ifndef BOOST_NO_ANSI_APIS + r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(this->m_locale, ct_ctype1, char_map, 1 << CHAR_BIT, this->m_type_map); +#else + r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(this->m_locale, ct_ctype1, wide_char_map, 1 << CHAR_BIT, this->m_type_map); +#endif + BOOST_REGEX_ASSERT(0 != r); + } + + inline lcid_type w32_get_default_locale() + { + return boost::BOOST_REGEX_DETAIL_NS::GetUserDefaultLCID(); + } + + inline bool w32_is_lower(char c, lcid_type idx) + { +#ifndef BOOST_NO_ANSI_APIS + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower)) + return true; + return false; +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return false; + + wchar_t wide_c; + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_lower)) + return true; + return false; +#endif + } + + inline bool w32_is_lower(wchar_t c, lcid_type idx) + { + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower)) + return true; + return false; + } + + inline bool w32_is_upper(char c, lcid_type idx) + { +#ifndef BOOST_NO_ANSI_APIS + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper)) + return true; + return false; +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return false; + + wchar_t wide_c; + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_upper)) + return true; + return false; +#endif + } + + inline bool w32_is_upper(wchar_t c, lcid_type idx) + { + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper)) + return true; + return false; + } + + inline void free_module(void* mod) + { + boost::BOOST_REGEX_DETAIL_NS::FreeLibrary(static_cast(mod)); + } + + inline cat_type w32_cat_open(const std::string& name) + { +#ifndef BOOST_NO_ANSI_APIS + cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryA(name.c_str()), &free_module); + return result; +#else + wchar_t* wide_name = (wchar_t*)_alloca((name.size() + 1) * sizeof(wchar_t)); + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(cp_acp, 0, name.c_str(), (int)name.size(), wide_name, (int)(name.size() + 1)) == 0) + return cat_type(); + + cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryW(wide_name), &free_module); + return result; +#endif + } + + inline std::string w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def) + { +#ifndef BOOST_NO_ANSI_APIS + char buf[256]; + if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringA( + static_cast(cat.get()), + i, + buf, + 256 + )) + { + return def; + } +#else + wchar_t wbuf[256]; + int r = boost::BOOST_REGEX_DETAIL_NS::LoadStringW( + static_cast(cat.get()), + i, + wbuf, + 256 + ); + if (r == 0) + return def; + + + int buf_size = 1 + boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, NULL, 0, NULL, NULL); + char* buf = (char*)_alloca(buf_size); + if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, buf, buf_size, NULL, NULL) == 0) + return def; // failed conversion. +#endif + return std::string(buf); + } + +#ifndef BOOST_NO_WREGEX + inline std::wstring w32_cat_get(const cat_type& cat, lcid_type, int i, const std::wstring& def) + { + wchar_t buf[256]; + if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringW(static_cast(cat.get()), i, buf, 256)) + { + return def; + } + return std::wstring(buf); + } +#endif + inline std::string w32_transform(lcid_type idx, const char* p1, const char* p2) + { +#ifndef BOOST_NO_ANSI_APIS + int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + p1, // source string + static_cast(p2 - p1), // number of characters in source string + 0, // destination buffer + 0 // size of destination buffer + ); + if (!bytes) + return std::string(p1, p2); + std::string result(++bytes, '\0'); + bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + p1, // source string + static_cast(p2 - p1), // number of characters in source string + &*result.begin(), // destination buffer + bytes // size of destination buffer + ); +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return std::string(p1, p2); + + int src_len = static_cast(p2 - p1); + wchar_t* wide_p1 = (wchar_t*)_alloca((src_len + 1) * 2); + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0) + return std::string(p1, p2); + + int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + 0, // destination buffer + 0 // size of destination buffer + ); + if (!bytes) + return std::string(p1, p2); + std::string result(++bytes, '\0'); + bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + (wchar_t*) & *result.begin(), // destination buffer + bytes // size of destination buffer + ); +#endif + if (bytes > static_cast(result.size())) + return std::string(p1, p2); + while (result.size() && result[result.size() - 1] == '\0') + { + result.erase(result.size() - 1); + } + return result; + } + +#ifndef BOOST_NO_WREGEX + inline std::wstring w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2) + { + int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + p1, // source string + static_cast(p2 - p1), // number of characters in source string + 0, // destination buffer + 0 // size of destination buffer + ); + if (!bytes) + return std::wstring(p1, p2); + std::string result(++bytes, '\0'); + bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_sortkey, // mapping transformation type + p1, // source string + static_cast(p2 - p1), // number of characters in source string + reinterpret_cast(&*result.begin()), // destination buffer *of bytes* + bytes // size of destination buffer + ); + if (bytes > static_cast(result.size())) + return std::wstring(p1, p2); + while (result.size() && result[result.size() - 1] == L'\0') + { + result.erase(result.size() - 1); + } + std::wstring r2; + for (std::string::size_type i = 0; i < result.size(); ++i) + r2.append(1, static_cast(static_cast(result[i]))); + return r2; + } +#endif + inline char w32_tolower(char c, lcid_type idx) + { + char result[2]; +#ifndef BOOST_NO_ANSI_APIS + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( + idx, // locale identifier + lcmap_lowercase, // mapping transformation type + &c, // source string + 1, // number of characters in source string + result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return c; + + wchar_t wide_c; + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + wchar_t wide_result; + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_lowercase, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; + + if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; // No single byte lower case equivalent available +#endif + return result[0]; + } + +#ifndef BOOST_NO_WREGEX + inline wchar_t w32_tolower(wchar_t c, lcid_type idx) + { + wchar_t result[2]; + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_lowercase, // mapping transformation type + &c, // source string + 1, // number of characters in source string + result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; + return result[0]; + } +#endif + inline char w32_toupper(char c, lcid_type idx) + { + char result[2]; +#ifndef BOOST_NO_ANSI_APIS + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( + idx, // locale identifier + lcmap_uppercase, // mapping transformation type + &c, // source string + 1, // number of characters in source string + result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return c; + + wchar_t wide_c; + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + wchar_t wide_result; + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_uppercase, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; + + if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; // No single byte upper case equivalent available. +#endif + return result[0]; + } + +#ifndef BOOST_NO_WREGEX + inline wchar_t w32_toupper(wchar_t c, lcid_type idx) + { + wchar_t result[2]; + int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( + idx, // locale identifier + lcmap_uppercase, // mapping transformation type + &c, // source string + 1, // number of characters in source string + result, // destination buffer + 1); // size of destination buffer + if (b == 0) + return c; + return result[0]; + } +#endif + inline bool w32_is(lcid_type idx, std::uint32_t m, char c) + { + word mask; +#ifndef BOOST_NO_ANSI_APIS + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) + return true; +#else + unsigned int code_page = get_code_page_for_locale_id(idx); + if (code_page == 0) + return false; + + wchar_t wide_c; + if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) + return true; +#endif + if ((m & w32_regex_traits_implementation::mask_word) && (c == '_')) + return true; + return false; + } + +#ifndef BOOST_NO_WREGEX + inline bool w32_is(lcid_type idx, std::uint32_t m, wchar_t c) + { + word mask; + if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) + return true; + if ((m & w32_regex_traits_implementation::mask_word) && (c == '_')) + return true; + if ((m & w32_regex_traits_implementation::mask_unicode) && (c > 0xff)) + return true; + return false; + } +#endif + +} // BOOST_REGEX_DETAIL_NS + + +} // boost + +#ifdef BOOST_REGEX_MSVC +#pragma warning(pop) +#endif + +#endif // BOOST_REGEX_NO_WIN32_LOCALE + +#endif diff --git a/include/boost/regex_fwd.hpp b/include/boost/regex_fwd.hpp index 2ee4a2495..f671b8077 100644 --- a/include/boost/regex_fwd.hpp +++ b/include/boost/regex_fwd.hpp @@ -24,7 +24,7 @@ #include #endif -#include +#include #endif diff --git a/meta/libraries.json b/meta/libraries.json index a2aadf92d..026de86c7 100644 --- a/meta/libraries.json +++ b/meta/libraries.json @@ -13,5 +13,6 @@ ], "maintainers": [ "John Maddock " - ] + ], + "cxxstd": "11" } diff --git a/module/regex.cxx b/module/regex.cxx new file mode 100644 index 000000000..c23d0caa5 --- /dev/null +++ b/module/regex.cxx @@ -0,0 +1,103 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if __has_include() + +#if !defined(BOOST_REGEX_WITH_ICU) + +#if defined(_MSC_FULL_VER) +#pragma message "ICU headers are available but building the Regex module with ICU support is turned OFF. Build with BOOST_REGEX_WITH_ICU=1 to turn it on, or BOOST_REGEX_WITH_ICU=0 to disable this message" +#else +# warning "ICU headers are available but building the Regex module with ICU support is turned OFF. Build with BOOST_REGEX_WITH_ICU=1 to turn it on, or BOOST_REGEX_WITH_ICU=0 to disable this message" +#endif + +#elif BOOST_REGEX_WITH_ICU +# define BOOST_REGEX_HAS_ICU_HEADERS +#endif + + +#endif + +#if defined(_WIN32) && __has_include() +#include +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef BOOST_HAS_THREADS +#include +#endif +#include +#include +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#include +#endif + +#ifdef BOOST_REGEX_HAS_ICU_HEADERS +#include +#include +#include +#endif + +#define BOOST_REGEX_AS_MODULE +#define BOOST_REGEX_STANDALONE +#define BOOST_REGEX_MODULE_EXPORT export + +export module boost.regex; + +#if defined(BOOST_REGEX_USE_STD_MODULE) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +#ifdef _MSC_FULL_VER +#pragma warning(disable:5244) +#endif + +#ifdef __clang__ +#pragma clang diagnostic ignored "-Winclude-angled-in-module-purview" +#endif + +#include + +#ifdef BOOST_REGEX_HAS_ICU_HEADERS +#include +#endif diff --git a/module/regex_cfind.cpp b/module/regex_cfind.cpp new file mode 100644 index 000000000..1796d5587 --- /dev/null +++ b/module/regex_cfind.cpp @@ -0,0 +1,11 @@ + +module boost.regex; + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_cmatch.cpp b/module/regex_cmatch.cpp new file mode 100644 index 000000000..ae30eb8e6 --- /dev/null +++ b/module/regex_cmatch.cpp @@ -0,0 +1,11 @@ + +module boost.regex; + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/module/regex_create_char.cpp b/module/regex_create_char.cpp new file mode 100644 index 000000000..ec216464a --- /dev/null +++ b/module/regex_create_char.cpp @@ -0,0 +1,30 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#ifndef BOOST_REGEX_DETAIL_NS +#define BOOST_REGEX_DETAIL_NS re_detail_600 +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::detail { + + std::shared_ptr::traits_type> > + create_implemenation(const char* p1, const char* p2, basic_regex::flag_type f, std::shared_ptr::traits_type> > ptraits) + { + return create_implemenation::flag_type, basic_regex::traits_type>(p1, p2, f, ptraits); + } + +} diff --git a/module/regex_create_wchar_t.cpp b/module/regex_create_wchar_t.cpp new file mode 100644 index 000000000..074993dac --- /dev/null +++ b/module/regex_create_wchar_t.cpp @@ -0,0 +1,30 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#ifndef BOOST_REGEX_DETAIL_NS +#define BOOST_REGEX_DETAIL_NS re_detail_600 +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::detail { + + std::shared_ptr::traits_type> > + create_implemenation(const wchar_t* p1, const wchar_t* p2, basic_regex::flag_type f, std::shared_ptr::traits_type> > ptraits) + { + return create_implemenation::flag_type, basic_regex::traits_type>(p1, p2, f, ptraits); + } + +} diff --git a/module/regex_nc_sfind.cpp b/module/regex_nc_sfind.cpp new file mode 100644 index 000000000..bed2018e2 --- /dev/null +++ b/module/regex_nc_sfind.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_nc_smatch.cpp b/module/regex_nc_smatch.cpp new file mode 100644 index 000000000..2208a2484 --- /dev/null +++ b/module/regex_nc_smatch.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/module/regex_nc_wsfind.cpp b/module/regex_nc_wsfind.cpp new file mode 100644 index 000000000..36c76cb71 --- /dev/null +++ b/module/regex_nc_wsfind.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_nc_wsmatch.cpp b/module/regex_nc_wsmatch.cpp new file mode 100644 index 000000000..4bae45909 --- /dev/null +++ b/module/regex_nc_wsmatch.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/module/regex_sfind.cpp b/module/regex_sfind.cpp new file mode 100644 index 000000000..7de3d2346 --- /dev/null +++ b/module/regex_sfind.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_smatch.cpp b/module/regex_smatch.cpp new file mode 100644 index 000000000..aed056201 --- /dev/null +++ b/module/regex_smatch.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, regex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/module/regex_wcfind.cpp b/module/regex_wcfind.cpp new file mode 100644 index 000000000..0e2e9955d --- /dev/null +++ b/module/regex_wcfind.cpp @@ -0,0 +1,11 @@ + +module boost.regex; + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_wcmatch.cpp b/module/regex_wcmatch.cpp new file mode 100644 index 000000000..560038310 --- /dev/null +++ b/module/regex_wcmatch.cpp @@ -0,0 +1,11 @@ + +module boost.regex; + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/module/regex_wsfind.cpp b/module/regex_wsfind.cpp new file mode 100644 index 000000000..12bef7da7 --- /dev/null +++ b/module/regex_wsfind.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_find(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.find(); + } + +} diff --git a/module/regex_wsmatch.cpp b/module/regex_wsmatch.cpp new file mode 100644 index 000000000..691882f3e --- /dev/null +++ b/module/regex_wsmatch.cpp @@ -0,0 +1,25 @@ + +module; + +#if defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135)) +#define BOOST_REGEX_USE_STD_MODULE +#endif + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && !defined(MSVC_EXPERIMENTAL_STD_MODULE) +#include +#endif + +module boost.regex; + +#if !defined(BOOST_REGEX_USE_STD_MODULE) && defined(MSVC_EXPERIMENTAL_STD_MODULE) +import std.core; +#endif + +namespace boost::re_detail_600 { + + bool factory_match(perl_matcher::allocator_type, wregex::traits_type>& m) + { + return m.match(); + } + +} diff --git a/performance/doc/performance_tables.qbk b/performance/doc/performance_tables.qbk index af7e0d568..736d8b878 100644 --- a/performance/doc/performance_tables.qbk +++ b/performance/doc/performance_tables.qbk @@ -1,212 +1,212 @@ [/tables:] -[template table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_[] -[table:table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing Perl searches (platform = linux, compiler = GNU C++ version 6.3.0) -[[Expression[br]Text][boost 1.65][std::regex][boost::xpressive::cregex][PCRE-10.21]] -[[[^(?i)\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 1.63[br](28838ns)]][[role grey -]][[role blue 1.67[br](29436ns)]][[role green 1.00[br](17678ns)]]] -[[[^(?i)\u005D+face\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>.\*?<\/font>][br]In file: ../../../libs/libraries.htm][[role blue 2.78[br](19366ns)]][[role grey -]][[role blue 1.50[br](10471ns)]][[role green 1.00[br](6963ns)]]] -[[[^(?i)\u005D\*>.\*?<\/h\u005B12345678\u005D>][br]In file: ../../../libs/libraries.htm][[role blue 1.95[br](17081ns)]][[role grey -]][[role blue 2.18[br](19086ns)]][[role green 1.00[br](8745ns)]]] -[[[^(?i)\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 2.61[br](18132ns)]][[role grey -]][[role blue 1.61[br](11211ns)]][[role green 1.00[br](6952ns)]]] -[[[^(?i)

.\*?<\/p>][br]In file: ../../../libs/libraries.htm][[role blue 1.69[br](17517ns)]][[role grey -]][[role blue 1.51[br](15645ns)]][[role green 1.00[br](10345ns)]]] -[[[^(\\w+)\\s\*(\\(\u005B\^()\u005D++(?:(?2)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))\\s\*(\\{\u005B\^{}\u005D++((?3)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\})][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1500580ns)]][[role grey -]][[role grey -]][[role blue 2.84[br](4260530ns)]]] -[[[^(\^\u005B \\t\u005D\*\#(?:(?>\u005B\^\\\\\\n\u005D+)|\\\\(?>\\s\*\\n|.))\*)|][br]In file: boost/multiprecision/number.hpp][[role blue 1.64[br](14163004ns)]][[role grey -]][[role green 1.00[br](8632111ns)]][[role green 1.03[br](8907897ns)]]] -[[[^(template\u005B\u005B:space:\u005D\u005D\*<\u005B\^;:{\u005D+>\u005B\u005B:space:\u005D\u005D\*)?(class|struct)\u005B\u005B:space:\u005D\u005D\*(\\w+(\u005B \u005D\*\\(\u005B\^)\u005D\*\\))?\u005B\u0 ...][br]In file: boost/multiprecision/number.hpp][[role blue 1.72[br](13046296ns)]][[role blue 3.61[br](27370747ns)]][[role green 1.00[br](7585304ns)]][[role blue 1.98[br](14992880ns)]]] -[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](5021ns)]][[role red 36.75[br](184532ns)]][[role blue 1.40[br](7046ns)]][[role green 1.19[br](5966ns)]]] -[[[^\\w+\\s\*(\\(\u005B\^()\u005D++(?:(?1)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1551419ns)]][[role grey -]][[role grey -]][[role blue 1.58[br](2444759ns)]]] -[[[^\\{\u005B\^{}\u005D++((?0)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\}][br]In file: boost/multiprecision/number.hpp][[role blue 1.31[br](200846ns)]][[role grey -]][[role grey -]][[role green 1.00[br](153117ns)]]] -[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("\u005B\^"\u005D+"|<\u005B\^>\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.46[br](234901ns)]][[role red 11.35[br](1821532ns)]][[role green 1.00[br](160446ns)]][[role blue 1.35[br](215802ns)]]] -[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("boost\/\u005B\^"\u005D+"|\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.41[br](234377ns)]][[role red 11.47[br](1903901ns)]][[role green 1.00[br](165921ns)]][[role blue 1.31[br](217806ns)]]] -] -] - -[template table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_[] -[table:table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0) -[[Expression[br]Text][boost 1.65][std::regex][POSIX]] -[[[^\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](107026ns)]][[role blue 1.44[br](154551ns)]][[role blue 1.64[br](175184ns)]]] -[[[^\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](15420ns)]][[role red 6.89[br](106275ns)]][[role blue 1.59[br](24567ns)]]] -[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.03[br](5399ns)]][[role red 36.27[br](190577ns)]][[role green 1.00[br](5254ns)]]] -] -] - -[template table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_[] -[table:table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0) -[[Expression[br]Text][boost 1.65][std::regex][boost::xpressive::cregex][PCRE-10.21]] -[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 2.65[br](506ns)]][[role blue 2.86[br](546ns)]][[role green 1.00[br](191ns)]][[role blue 1.37[br](262ns)]]] -[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role blue 2.52[br](353ns)]][[role red 20.99[br](2939ns)]][[role green 1.00[br](140ns)]][[role blue 3.50[br](490ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role blue 1.98[br](681ns)]][[role grey -]][[role green 1.00[br](344ns)]][[role blue 1.32[br](454ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role blue 2.06[br](695ns)]][[role grey -]][[role green 1.00[br](337ns)]][[role blue 1.34[br](451ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role blue 1.93[br](821ns)]][[role grey -]][[role green 1.00[br](425ns)]][[role blue 1.24[br](526ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 2.34[br](243ns)]][[role red 4.45[br](463ns)]][[role green 1.00[br](104ns)]][[role blue 1.62[br](168ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 2.33[br](245ns)]][[role red 4.39[br](461ns)]][[role green 1.00[br](105ns)]][[role blue 1.60[br](168ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 2.08[br](208ns)]][[role blue 3.31[br](331ns)]][[role green 1.00[br](100ns)]][[role blue 1.52[br](152ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 2.28[br](237ns)]][[role blue 3.39[br](353ns)]][[role green 1.00[br](104ns)]][[role green 1.18[br](123ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 2.12[br](216ns)]][[role blue 3.02[br](308ns)]][[role green 1.00[br](102ns)]][[role green 1.19[br](121ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 2.12[br](257ns)]][[role blue 2.66[br](322ns)]][[role green 1.00[br](121ns)]][[role green 1.17[br](142ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 2.00[br](230ns)]][[role blue 2.65[br](305ns)]][[role green 1.00[br](115ns)]][[role blue 1.22[br](140ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 2.05[br](244ns)]][[role blue 2.81[br](334ns)]][[role green 1.00[br](119ns)]][[role blue 1.22[br](145ns)]]] -[[[^abc][br][^abc]][[role blue 1.65[br](135ns)]][[role blue 1.83[br](150ns)]][[role green 1.00[br](82ns)]][[role green 1.02[br](84ns)]]] -] -] - -[template table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_[] -[table:table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 6.3.0) -[[Expression[br]Text][boost 1.65][std::regex][POSIX]] -[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role green 1.11[br](669ns)]][[role green 1.00[br](603ns)]][[role blue 3.70[br](2234ns)]]] -[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role green 1.00[br](781ns)]][[role red 4.52[br](3530ns)]][[role red 12.72[br](9933ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role green 1.00[br](937ns)]][[role blue 1.26[br](1184ns)]][[role blue 3.06[br](2864ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role green 1.00[br](892ns)]][[role blue 1.29[br](1150ns)]][[role blue 2.95[br](2628ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role green 1.00[br](1160ns)]][[role blue 1.31[br](1517ns)]][[role blue 3.29[br](3818ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 1.58[br](485ns)]][[role blue 1.48[br](455ns)]][[role green 1.00[br](307ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 1.50[br](466ns)]][[role blue 1.50[br](464ns)]][[role green 1.00[br](310ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 3.10[br](666ns)]][[role blue 1.57[br](338ns)]][[role green 1.00[br](215ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 2.18[br](373ns)]][[role blue 2.10[br](359ns)]][[role green 1.00[br](171ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 2.27[br](363ns)]][[role blue 1.93[br](309ns)]][[role green 1.00[br](160ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 2.90[br](473ns)]][[role blue 2.19[br](357ns)]][[role green 1.00[br](163ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 2.56[br](386ns)]][[role blue 1.83[br](277ns)]][[role green 1.00[br](151ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 2.46[br](381ns)]][[role blue 2.14[br](331ns)]][[role green 1.00[br](155ns)]]] -[[[^abc][br][^abc]][[role blue 2.35[br](324ns)]][[role green 1.11[br](153ns)]][[role green 1.00[br](138ns)]]] -] -] - -[template table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_[] -[table:table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_ Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) -[[Expression[br]Text][boost 1.65][PCRE-10.10][RE2][std::regex][boost::xpressive::cregex]] -[[[^(?i)\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 1.36[br](21565ns)]][[role green 1.00[br](15821ns)]][[role green 1.08[br](17111ns)]][[role grey -]][[role blue 2.89[br](45731ns)]]] -[[[^(?i)\u005D+face\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>.\*?<\/font>][br]In file: ../../../libs/libraries.htm][[role blue 3.05[br](16442ns)]][[role blue 1.58[br](8492ns)]][[role green 1.00[br](5385ns)]][[role grey -]][[role blue 3.31[br](17804ns)]]] -[[[^(?i)\u005D\*>.\*?<\/h\u005B12345678\u005D>][br]In file: ../../../libs/libraries.htm][[role blue 2.11[br](15434ns)]][[role blue 1.31[br](9615ns)]][[role green 1.00[br](7315ns)]][[role grey -]][[role red 4.28[br](31331ns)]]] -[[[^(?i)\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 2.73[br](16457ns)]][[role blue 1.41[br](8503ns)]][[role green 1.00[br](6023ns)]][[role grey -]][[role blue 3.14[br](18913ns)]]] -[[[^(?i)

.\*?<\/p>][br]In file: ../../../libs/libraries.htm][[role blue 2.32[br](15717ns)]][[role blue 1.57[br](10652ns)]][[role green 1.00[br](6789ns)]][[role grey -]][[role blue 3.76[br](25542ns)]]] -[[[^(\\w+)\\s\*(\\(\u005B\^()\u005D++(?:(?2)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))\\s\*(\\{\u005B\^{}\u005D++((?3)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\})][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1125008ns)]][[role blue 2.90[br](3265708ns)]][[role grey -]][[role grey -]][[role grey -]]] -[[[^(\^\u005B \\t\u005D\*\#(?:(?>\u005B\^\\\\\\n\u005D+)|\\\\(?>\\s\*\\n|.))\*)|][br]In file: boost/multiprecision/number.hpp][[role blue 1.55[br](11035845ns)]][[role green 1.00[br](7123895ns)]][[role grey -]][[role grey -]][[role blue 1.46[br](10415180ns)]]] -[[[^(template\u005B\u005B:space:\u005D\u005D\*<\u005B\^;:{\u005D+>\u005B\u005B:space:\u005D\u005D\*)?(class|struct)\u005B\u005B:space:\u005D\u005D\*(\\w+(\u005B \u005D\*\\(\u005B\^)\u005D\*\\))?\u005B\u0 ...][br]In file: boost/multiprecision/number.hpp][[role red 26.17[br](8436744ns)]][[role red 32.97[br](10629852ns)]][[role green 1.00[br](322399ns)]][[role red 811.84[br](261737971ns)]][[role red 23.34[br](7526351ns)]]] -[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role blue 1.58[br](10246ns)]][[role green 1.00[br](6487ns)]][[role blue 2.48[br](16109ns)]][[role red 5.39[br](34994ns)]][[role green 1.09[br](7046ns)]]] -[[[^\\w+\\s\*(\\(\u005B\^()\u005D++(?:(?1)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1152646ns)]][[role blue 1.70[br](1962067ns)]][[role grey -]][[role grey -]][[role grey -]]] -[[[^\\{\u005B\^{}\u005D++((?0)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\}][br]In file: boost/multiprecision/number.hpp][[role blue 1.62[br](255439ns)]][[role green 1.00[br](158034ns)]][[role grey -]][[role grey -]][[role grey -]]] -[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("\u005B\^"\u005D+"|<\u005B\^>\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.48[br](268270ns)]][[role green 1.08[br](195553ns)]][[role blue 1.78[br](323879ns)]][[role red 7.75[br](1406976ns)]][[role green 1.00[br](181554ns)]]] -[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("boost\/\u005B\^"\u005D+"|\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.48[br](268560ns)]][[role green 1.08[br](195915ns)]][[role blue 1.76[br](319886ns)]][[role red 7.72[br](1398962ns)]][[role green 1.00[br](181328ns)]]] -] -] - -[template table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_[] -[table:table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_ Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) -[[Expression[br]Text][boost 1.65][std::regex]] -[[[^\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](80801ns)]][[role red 6.82[br](551022ns)]]] -[[[^\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](19868ns)]][[role red 4.23[br](84068ns)]]] -[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](10508ns)]][[role blue 3.37[br](35378ns)]]] -] -] - -[template table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_[] -[table:table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_ Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) -[[Expression[br]Text][boost 1.65][PCRE-10.10][RE2][std::regex][boost::xpressive::cregex]] -[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 1.90[br](328ns)]][[role green 1.18[br](205ns)]][[role green 1.00[br](173ns)]][[role red 27.81[br](4811ns)]][[role blue 1.32[br](228ns)]]] -[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role blue 1.45[br](251ns)]][[role blue 1.73[br](300ns)]][[role blue 2.14[br](371ns)]][[role red 24.75[br](4281ns)]][[role green 1.00[br](173ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role blue 2.53[br](403ns)]][[role blue 2.13[br](338ns)]][[role green 1.00[br](159ns)]][[role red 34.16[br](5432ns)]][[role blue 1.86[br](295ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role blue 2.75[br](402ns)]][[role blue 2.34[br](342ns)]][[role green 1.00[br](146ns)]][[role red 40.78[br](5954ns)]][[role blue 2.01[br](294ns)]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role blue 2.54[br](469ns)]][[role blue 2.16[br](399ns)]][[role green 1.00[br](185ns)]][[role red 44.27[br](8190ns)]][[role blue 2.04[br](377ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 1.53[br](171ns)]][[role green 1.14[br](128ns)]][[role green 1.11[br](124ns)]][[role red 21.63[br](2422ns)]][[role green 1.00[br](112ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 1.50[br](167ns)]][[role green 1.15[br](128ns)]][[role green 1.13[br](125ns)]][[role red 21.92[br](2433ns)]][[role green 1.00[br](111ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 1.40[br](143ns)]][[role green 1.15[br](117ns)]][[role green 1.03[br](105ns)]][[role red 35.65[br](3636ns)]][[role green 1.00[br](102ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 1.47[br](157ns)]][[role green 1.00[br](107ns)]][[role blue 1.27[br](136ns)]][[role red 16.75[br](1792ns)]][[role green 1.03[br](110ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 1.39[br](145ns)]][[role green 1.00[br](104ns)]][[role green 1.13[br](117ns)]][[role red 16.90[br](1758ns)]][[role green 1.07[br](111ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 1.44[br](164ns)]][[role green 1.00[br](114ns)]][[role green 1.10[br](125ns)]][[role red 15.61[br](1779ns)]][[role green 1.06[br](121ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 1.36[br](152ns)]][[role green 1.00[br](112ns)]][[role green 1.04[br](117ns)]][[role red 15.86[br](1776ns)]][[role green 1.05[br](118ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 1.40[br](158ns)]][[role green 1.00[br](113ns)]][[role green 1.10[br](124ns)]][[role red 15.86[br](1792ns)]][[role green 1.07[br](121ns)]]] -[[[^abc][br][^abc]][[role blue 2.01[br](141ns)]][[role green 1.00[br](70ns)]][[role green 1.17[br](82ns)]][[role red 8.24[br](577ns)]][[role green 1.19[br](83ns)]]] -] -] - - -[template table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_[] -[table:table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_ Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) -[[Expression[br]Text][boost 1.65][std::regex]] -[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role green 1.00[br](554ns)]][[role red 11.06[br](6127ns)]]] -[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role green 1.00[br](679ns)]][[role grey -]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role green 1.00[br](1444ns)]][[role grey -]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role green 1.00[br](1397ns)]][[role grey -]]] -[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role green 1.00[br](1588ns)]][[role grey -]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role green 1.00[br](466ns)]][[role red 11.18[br](5208ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role green 1.00[br](519ns)]][[role red 9.79[br](5083ns)]]] -[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role green 1.00[br](619ns)]][[role red 7.64[br](4730ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role green 1.00[br](449ns)]][[role red 5.23[br](2347ns)]]] -[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role green 1.00[br](362ns)]][[role red 6.48[br](2344ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role green 1.00[br](1090ns)]][[role blue 2.48[br](2699ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role green 1.00[br](348ns)]][[role red 6.57[br](2288ns)]]] -[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role green 1.00[br](358ns)]][[role red 6.41[br](2296ns)]]] -[[[^abc][br][^abc]][[role green 1.00[br](375ns)]][[role blue 2.30[br](864ns)]]] +[template table_Testing_Perl_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_[] +[table:table_Testing_Perl_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_ Testing Perl searches (platform = Windows x64, compiler = GNU C++ version 11.4.0) +[[Expression[br]Text][boost 1.85][std::regex][boost::xpressive::cregex]] +[[[^(?i)\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 2.07[br](65579ns)]][[role grey -]][[role green 1.00[br](31708ns)]]] +[[[^(?i)\u005D+face\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>.\*?<\/font>][br]In file: ../../../libs/libraries.htm][[role blue 1.62[br](14208ns)]][[role grey -]][[role green 1.00[br](8781ns)]]] +[[[^(?i)\u005D\*>.\*?<\/h\u005B12345678\u005D>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](15866ns)]][[role grey -]][[role blue 1.27[br](20103ns)]]] +[[[^(?i)\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 1.54[br](14798ns)]][[role grey -]][[role green 1.00[br](9614ns)]]] +[[[^(?i)

.\*?<\/p>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](11317ns)]][[role grey -]][[role green 1.02[br](11542ns)]]] +[[[^(\\w+)\\s\*(\\(\u005B\^()\u005D++(?:(?2)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))\\s\*(\\{\u005B\^{}\u005D++((?3)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\})][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1690669ns)]][[role grey -]][[role grey -]]] +[[[^(\^\u005B \\t\u005D\*\#(?:(?>\u005B\^\\\\\\n\u005D+)|\\\\(?>\\s\*\\n|.))\*)|][br]In file: boost/multiprecision/number.hpp][[role blue 1.48[br](14069292ns)]][[role grey -]][[role green 1.00[br](9506228ns)]]] +[[[^(template\u005B\u005B:space:\u005D\u005D\*<\u005B\^;:{\u005D+>\u005B\u005B:space:\u005D\u005D\*)?(class|struct)\u005B\u005B:space:\u005D\u005D\*(\\w+(\u005B \u005D\*\\(\u005B\^)\u005D\*\\))?\u005B\u0 ...][br]In file: boost/multiprecision/number.hpp][[role blue 1.51[br](9371314ns)]][[role blue 2.70[br](16777146ns)]][[role green 1.00[br](6207423ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](4331ns)]][[role red 29.11[br](126072ns)]][[role green 1.20[br](5177ns)]]] +[[[^\\w+\\s\*(\\(\u005B\^()\u005D++(?:(?1)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1651918ns)]][[role grey -]][[role grey -]]] +[[[^\\{\u005B\^{}\u005D++((?0)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\}][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](176801ns)]][[role grey -]][[role grey -]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("\u005B\^"\u005D+"|<\u005B\^>\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.34[br](246116ns)]][[role red 10.90[br](2008042ns)]][[role green 1.00[br](184212ns)]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("boost\/\u005B\^"\u005D+"|\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.35[br](236395ns)]][[role red 11.53[br](2026633ns)]][[role green 1.00[br](175716ns)]]] +] +] + +[template table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_[] +[table:table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_ Testing leftmost-longest searches (platform = Windows x64, compiler = GNU C++ version 11.4.0) +[[Expression[br]Text][boost 1.85][std::regex]] +[[[^\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](60911ns)]][[role blue 2.06[br](125213ns)]]] +[[[^\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](10803ns)]][[role red 7.00[br](75668ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](5683ns)]][[role red 46.25[br](262830ns)]]] +] +] + +[template table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_[] +[table:table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_ Testing simple Perl matches (platform = Windows x64, compiler = GNU C++ version 11.4.0) +[[Expression[br]Text][boost 1.85][std::regex][boost::xpressive::cregex]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 2.75[br](297ns)]][[role blue 3.35[br](362ns)]][[role green 1.00[br](108ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role blue 2.60[br](208ns)]][[role red 17.80[br](1424ns)]][[role green 1.00[br](80ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role blue 2.47[br](428ns)]][[role blue 3.32[br](574ns)]][[role green 1.00[br](173ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role blue 2.73[br](412ns)]][[role blue 3.54[br](535ns)]][[role green 1.00[br](151ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role blue 2.74[br](469ns)]][[role red 4.25[br](727ns)]][[role green 1.00[br](171ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 2.55[br](158ns)]][[role red 4.98[br](309ns)]][[role green 1.00[br](62ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 2.48[br](151ns)]][[role red 4.95[br](302ns)]][[role green 1.00[br](61ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 2.03[br](124ns)]][[role red 4.38[br](267ns)]][[role green 1.00[br](61ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 2.66[br](162ns)]][[role red 4.67[br](285ns)]][[role green 1.00[br](61ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 2.07[br](126ns)]][[role red 4.36[br](266ns)]][[role green 1.00[br](61ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 2.08[br](148ns)]][[role blue 3.72[br](264ns)]][[role green 1.00[br](71ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 2.17[br](141ns)]][[role blue 3.82[br](248ns)]][[role green 1.00[br](65ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 2.39[br](160ns)]][[role blue 3.61[br](242ns)]][[role green 1.00[br](67ns)]]] +[[[^abc][br][^abc]][[role blue 1.75[br](77ns)]][[role red 4.25[br](187ns)]][[role green 1.00[br](44ns)]]] +] +] + +[template table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_[] +[table:table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_ Testing simple leftmost-longest matches (platform = Windows x64, compiler = GNU C++ version 11.4.0) +[[Expression[br]Text][boost 1.85][std::regex]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 1.43[br](534ns)]][[role green 1.00[br](373ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role green 1.00[br](412ns)]][[role blue 3.53[br](1455ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role green 1.03[br](578ns)]][[role green 1.00[br](561ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role green 1.00[br](567ns)]][[role blue 1.34[br](760ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role green 1.05[br](779ns)]][[role green 1.00[br](742ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role green 1.00[br](327ns)]][[role green 1.10[br](361ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role green 1.08[br](341ns)]][[role green 1.00[br](315ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 1.85[br](440ns)]][[role green 1.00[br](238ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role green 1.14[br](296ns)]][[role green 1.00[br](259ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role green 1.08[br](270ns)]][[role green 1.00[br](249ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 1.31[br](322ns)]][[role green 1.00[br](245ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role green 1.15[br](283ns)]][[role green 1.00[br](246ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 1.22[br](296ns)]][[role green 1.00[br](242ns)]]] +[[[^abc][br][^abc]][[role blue 1.37[br](242ns)]][[role green 1.00[br](177ns)]]] +] +] + +[template table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_[] +[table:table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_ Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) +[[Expression[br]Text][boost 1.85][std::regex][boost::xpressive::cregex][PCRE-10.43]] +[[[^(?i)\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](14312ns)]][[role grey -]][[role blue 2.23[br](31878ns)]][[role blue 1.31[br](18684ns)]]] +[[[^(?i)\u005D+face\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>.\*?<\/font>][br]In file: ../../../libs/libraries.htm][[role green 1.10[br](10195ns)]][[role grey -]][[role blue 1.34[br](12441ns)]][[role green 1.00[br](9263ns)]]] +[[[^(?i)\u005D\*>.\*?<\/h\u005B12345678\u005D>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](9687ns)]][[role grey -]][[role blue 2.10[br](20340ns)]][[role blue 1.27[br](12333ns)]]] +[[[^(?i)\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.07[br](10169ns)]][[role grey -]][[role blue 1.40[br](13302ns)]][[role green 1.00[br](9505ns)]]] +[[[^(?i)

.\*?<\/p>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](9950ns)]][[role grey -]][[role blue 1.73[br](17184ns)]][[role blue 1.46[br](14485ns)]]] +[[[^(\\w+)\\s\*(\\(\u005B\^()\u005D++(?:(?2)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))\\s\*(\\{\u005B\^{}\u005D++((?3)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\})][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1549295ns)]][[role grey -]][[role grey -]][[role red 11.09[br](17177250ns)]]] +[[[^(\^\u005B \\t\u005D\*\#(?:(?>\u005B\^\\\\\\n\u005D+)|\\\\(?>\\s\*\\n|.))\*)|][br]In file: boost/multiprecision/number.hpp][[role blue 1.36[br](14276693ns)]][[role grey -]][[role green 1.17[br](12252446ns)]][[role green 1.00[br](10503162ns)]]] +[[[^(template\u005B\u005B:space:\u005D\u005D\*<\u005B\^;:{\u005D+>\u005B\u005B:space:\u005D\u005D\*)?(class|struct)\u005B\u005B:space:\u005D\u005D\*(\\w+(\u005B \u005D\*\\(\u005B\^)\u005D\*\\))?\u005B\u0 ...][br]In file: boost/multiprecision/number.hpp][[role blue 1.22[br](7693839ns)]][[role red 57.46[br](363338150ns)]][[role green 1.00[br](6323396ns)]][[role blue 2.15[br](13603310ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](4643ns)]][[role red 15.54[br](72171ns)]][[role blue 1.30[br](6027ns)]][[role blue 1.54[br](7151ns)]]] +[[[^\\w+\\s\*(\\(\u005B\^()\u005D++(?:(?1)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1498291ns)]][[role grey -]][[role grey -]][[role blue 2.37[br](3555960ns)]]] +[[[^\\{\u005B\^{}\u005D++((?0)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\}][br]In file: boost/multiprecision/number.hpp][[role blue 1.29[br](212586ns)]][[role grey -]][[role grey -]][[role green 1.00[br](164592ns)]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("\u005B\^"\u005D+"|<\u005B\^>\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role green 1.06[br](251988ns)]][[role red 7.99[br](1891782ns)]][[role green 1.00[br](236878ns)]][[role blue 1.54[br](363700ns)]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("boost\/\u005B\^"\u005D+"|\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](228825ns)]][[role red 7.72[br](1765632ns)]][[role green 1.01[br](231986ns)]][[role blue 1.57[br](360051ns)]]] +] +] + +[template table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_[] +[table:table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_ Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) +[[Expression[br]Text][boost 1.85][std::regex]] +[[[^\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](59483ns)]][[role red 9.43[br](561070ns)]]] +[[[^\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](11446ns)]][[role red 7.64[br](87467ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](5211ns)]][[role red 13.88[br](72322ns)]]] +] +] + +[template table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_[] +[table:table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_ Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) +[[Expression[br]Text][boost 1.85][std::regex][boost::xpressive::cregex][PCRE-10.43]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 1.94[br](242ns)]][[role red 60.38[br](7547ns)]][[role green 1.00[br](125ns)]][[role blue 1.46[br](183ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role blue 1.68[br](190ns)]][[role red 32.06[br](3623ns)]][[role green 1.00[br](113ns)]][[role blue 2.58[br](292ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role blue 1.72[br](328ns)]][[role red 25.84[br](4936ns)]][[role green 1.00[br](191ns)]][[role blue 1.76[br](337ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role blue 1.82[br](346ns)]][[role red 28.83[br](5477ns)]][[role green 1.00[br](190ns)]][[role blue 1.80[br](342ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role blue 1.71[br](382ns)]][[role red 53.03[br](11879ns)]][[role green 1.00[br](224ns)]][[role blue 1.70[br](381ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 1.72[br](141ns)]][[role red 28.50[br](2337ns)]][[role green 1.00[br](82ns)]][[role blue 1.80[br](148ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 1.71[br](144ns)]][[role red 31.99[br](2687ns)]][[role green 1.00[br](84ns)]][[role blue 1.58[br](133ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 1.64[br](126ns)]][[role red 44.17[br](3401ns)]][[role green 1.00[br](77ns)]][[role blue 1.51[br](116ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 1.61[br](132ns)]][[role red 21.67[br](1777ns)]][[role green 1.00[br](82ns)]][[role blue 1.26[br](103ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 1.51[br](121ns)]][[role red 21.27[br](1702ns)]][[role green 1.00[br](80ns)]][[role blue 1.27[br](102ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 1.47[br](138ns)]][[role red 17.55[br](1650ns)]][[role green 1.00[br](94ns)]][[role green 1.19[br](112ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 1.43[br](130ns)]][[role red 17.12[br](1558ns)]][[role green 1.00[br](91ns)]][[role blue 2.18[br](198ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 1.41[br](131ns)]][[role red 17.63[br](1640ns)]][[role green 1.00[br](93ns)]][[role green 1.11[br](103ns)]]] +[[[^abc][br][^abc]][[role blue 1.36[br](90ns)]][[role red 7.61[br](502ns)]][[role blue 1.98[br](131ns)]][[role green 1.00[br](66ns)]]] +] +] + + +[template table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_[] +[table:table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_ Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3) +[[Expression[br]Text][boost 1.85][std::regex]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role green 1.00[br](424ns)]][[role red 11.06[br](4689ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role green 1.00[br](447ns)]][[role grey -]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role green 1.00[br](3585ns)]][[role grey -]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role green 1.00[br](3566ns)]][[role grey -]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role green 1.00[br](3762ns)]][[role grey -]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role green 1.00[br](336ns)]][[role red 11.43[br](3840ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role green 1.00[br](339ns)]][[role red 10.95[br](3713ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role green 1.00[br](424ns)]][[role red 9.54[br](4047ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role green 1.00[br](302ns)]][[role red 5.83[br](1761ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role green 1.00[br](286ns)]][[role red 6.08[br](1738ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 1.37[br](3229ns)]][[role green 1.00[br](2356ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role green 1.00[br](298ns)]][[role red 6.66[br](1985ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role green 1.00[br](303ns)]][[role red 6.59[br](1998ns)]]] +[[[^abc][br][^abc]][[role green 1.00[br](259ns)]][[role blue 2.36[br](612ns)]]] ] ] [/sections:] -[template section_id1675827111[] -[section:section_id1675827111 Testing Perl searches (platform = linux, compiler = GNU C++ version 6.3.0)] -[table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_] +[template section_id3601180469[] +[section:section_id3601180469 Testing Perl searches (platform = Windows x64, compiler = GNU C++ version 11.4.0)] +[table_Testing_Perl_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] [endsect] ] -[template section_id4148872883[] -[section:section_id4148872883 Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0)] -[table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_] +[template section_id456935730[] +[section:section_id456935730 Testing leftmost-longest searches (platform = Windows x64, compiler = GNU C++ version 11.4.0)] +[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] [endsect] ] -[template section_id3261825021[] -[section:section_id3261825021 Testing simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0)] -[table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_] +[template section_id85151138[] +[section:section_id85151138 Testing simple Perl matches (platform = Windows x64, compiler = GNU C++ version 11.4.0)] +[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] [endsect] ] -[template section_id1378460593[] -[section:section_id1378460593 Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 6.3.0)] -[table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_] +[template section_id1744311203[] +[section:section_id1744311203 Testing simple leftmost-longest matches (platform = Windows x64, compiler = GNU C++ version 11.4.0)] +[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] [endsect] ] -[template section_id3752650613[] -[section:section_id3752650613 Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1)] -[table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[template section_id2864474365[] +[section:section_id2864474365 Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3)] +[table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] [endsect] ] -[template section_id3258595385[] -[section:section_id3258595385 Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1)] -[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[template section_id1344826346[] +[section:section_id1344826346 Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3)] +[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] [endsect] ] -[template section_id4128344975[] -[section:section_id4128344975 Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1)] -[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[template section_id3048770036[] +[section:section_id3048770036 Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3)] +[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] [endsect] ] -[template section_id3141719723[] -[section:section_id3141719723 Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1)] -[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[template section_id3810206988[] +[section:section_id3810206988 Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.3)] +[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] [endsect] ] [template performance_all_sections[] -[section_id1378460593] -[section_id1675827111] -[section_id3141719723] -[section_id3258595385] -[section_id3261825021] -[section_id3752650613] -[section_id4128344975] -[section_id4148872883] +[section_id1344826346] +[section_id1744311203] +[section_id2864474365] +[section_id3048770036] +[section_id3601180469] +[section_id3810206988] +[section_id456935730] +[section_id85151138] ] [template performance_all_tables[] -[table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] -[table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_] -[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] -[table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_] -[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] -[table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_] -[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] -[table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_] +[table_Testing_Perl_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] +[table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] +[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] +[table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] +[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] +[table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] +[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_GNU_C_version_11_4_0_] +[table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_3_] ] diff --git a/performance/performance.cpp b/performance/performance.cpp index 798aa3309..8521f9be5 100644 --- a/performance/performance.cpp +++ b/performance/performance.cpp @@ -6,6 +6,7 @@ #include "performance.hpp" #include +#include #include #include #include @@ -148,7 +149,7 @@ void test_search(const char* expression, const char* text, bool isperl = false, { double time = exec_timed_test([&]() { return (*i)->find_all(text); }); report_execution_time(time, table, row, heading); - std::cout << "Search with library: " << heading << " found " << last_value_returned << " occurances.\n"; + std::cout << "Search with library: " << heading << " found " << last_value_returned << " occurrences.\n"; } } } diff --git a/performance/table_helper.cpp b/performance/table_helper.cpp index 986c2189f..2ff40f1f0 100644 --- a/performance/table_helper.cpp +++ b/performance/table_helper.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/c_regex_traits.cpp b/src/c_regex_traits.cpp deleted file mode 100644 index a0b52ee4e..000000000 --- a/src/c_regex_traits.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: c_regex_traits.cpp - * VERSION: see - * DESCRIPTION: Implements out of line c_regex_traits members - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include "internals.hpp" - -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) - -#include -#include -#include - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::strxfrm; using ::isspace; - using ::ispunct; using ::isalpha; - using ::isalnum; using ::iscntrl; - using ::isprint; using ::isupper; - using ::islower; using ::isdigit; - using ::isxdigit; using ::strtol; -} -#endif - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -namespace boost{ - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform(const char* p1, const char* p2) -{ - std::string result(10, ' '); - std::size_t s = result.size(); - std::size_t r; - std::string src(p1, p2); - while(s < (r = std::strxfrm(&*result.begin(), src.c_str(), s))) - { -#if defined(_CPPLIB_VER) - // - // A bug in VC11 and 12 causes the program to hang if we pass a null-string - // to std::strxfrm, but only for certain locales :-( - // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). - // - if(r == INT_MAX) - { - result.erase(); - result.insert(result.begin(), static_cast(0)); - return result; - } -#endif - result.append(r - s + 3, ' '); - s = result.size(); - } - result.erase(r); - return result; -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform_primary(const char* p1, const char* p2) -{ - static char s_delim; - static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); - std::string result; - // - // What we do here depends upon the format of the sort key returned by - // sort key returned by this->transform: - // - switch(s_collate_type) - { - case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: - case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: - // the best we can do is translate to lower case, then get a regular sort key: - { - result.assign(p1, p2); - for(std::string::size_type i = 0; i < result.size(); ++i) - result[i] = static_cast((std::tolower)(static_cast(result[i]))); - result = transform(&*result.begin(), &*result.begin() + result.size()); - break; - } - case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: - { - // get a regular sort key, and then truncate it: - result = transform(p1, p2); - result.erase(s_delim); - break; - } - case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: - // get a regular sort key, and then truncate everything after the delim: - result = transform(p1, p2); - if(result.size() && (result[0] == s_delim)) - break; - std::size_t i; - for(i = 0; i < result.size(); ++i) - { - if(result[i] == s_delim) - break; - } - result.erase(i); - break; - } - if(result.empty()) - result = std::string(1, char(0)); - return result; -} - -c_regex_traits::char_class_type BOOST_REGEX_CALL c_regex_traits::lookup_classname(const char* p1, const char* p2) -{ - static const char_class_type masks[] = - { - 0, - char_class_alnum, - char_class_alpha, - char_class_blank, - char_class_cntrl, - char_class_digit, - char_class_digit, - char_class_graph, - char_class_horizontal, - char_class_lower, - char_class_lower, - char_class_print, - char_class_punct, - char_class_space, - char_class_space, - char_class_upper, - char_class_unicode, - char_class_upper, - char_class_vertical, - char_class_alnum | char_class_word, - char_class_alnum | char_class_word, - char_class_xdigit, - }; - - int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); - if(idx < 0) - { - std::string s(p1, p2); - for(std::string::size_type i = 0; i < s.size(); ++i) - s[i] = static_cast((std::tolower)(static_cast(s[i]))); - idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); - } - BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0])); - return masks[idx+1]; -} - -bool BOOST_REGEX_CALL c_regex_traits::isctype(char c, char_class_type mask) -{ - return - ((mask & char_class_space) && (std::isspace)(static_cast(c))) - || ((mask & char_class_print) && (std::isprint)(static_cast(c))) - || ((mask & char_class_cntrl) && (std::iscntrl)(static_cast(c))) - || ((mask & char_class_upper) && (std::isupper)(static_cast(c))) - || ((mask & char_class_lower) && (std::islower)(static_cast(c))) - || ((mask & char_class_alpha) && (std::isalpha)(static_cast(c))) - || ((mask & char_class_digit) && (std::isdigit)(static_cast(c))) - || ((mask & char_class_punct) && (std::ispunct)(static_cast(c))) - || ((mask & char_class_xdigit) && (std::isxdigit)(static_cast(c))) - || ((mask & char_class_blank) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) - || ((mask & char_class_word) && (c == '_')) - || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) - || ((mask & char_class_horizontal) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != '\v')); -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::lookup_collatename(const char* p1, const char* p2) -{ - std::string s(p1, p2); - s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); - if(s.empty() && (p2-p1 == 1)) - s.append(1, *p1); - return s; -} - -int BOOST_REGEX_CALL c_regex_traits::value(char c, int radix) -{ - char b[2] = { c, '\0', }; - char* ep; - int result = std::strtol(b, &ep, radix); - if(ep == b) - return -1; - return result; -} - -} -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - -#endif diff --git a/src/cpp_regex_traits.cpp b/src/cpp_regex_traits.cpp deleted file mode 100644 index 05bbc50d7..000000000 --- a/src/cpp_regex_traits.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE cpp_regex_traits.cpp - * VERSION see - * DESCRIPTION: Implements cpp_regex_traits (and associated helper classes). - */ - -#define BOOST_REGEX_SOURCE -#include -#ifndef BOOST_NO_STD_LOCALE -#include -#include - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::memset; -} -#endif - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -void cpp_regex_traits_char_layer::init() -{ - // we need to start by initialising our syntax map so we know which - // character is used for which purpose: - std::memset(m_char_map, 0, sizeof(m_char_map)); -#ifndef BOOST_NO_STD_MESSAGES -#ifndef __IBMCPP__ - std::messages::catalog cat = static_cast::catalog>(-1); -#else - std::messages::catalog cat = reinterpret_cast::catalog>(-1); -#endif - std::string cat_name(cpp_regex_traits::get_catalog_name()); - if(cat_name.size() && (m_pmessages != 0)) - { - cat = this->m_pmessages->open( - cat_name, - this->m_locale); - if((int)cat < 0) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if((int)cat >= 0) - { -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - string_type mss = this->m_pmessages->get(cat, 0, i, get_default_syntax(i)); - for(string_type::size_type j = 0; j < mss.size(); ++j) - { - m_char_map[static_cast(mss[j])] = i; - } - } - this->m_pmessages->close(cat); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - this->m_pmessages->close(cat); - throw; - } -#endif - } - else - { -#endif - for(regex_constants::syntax_type j = 1; j < regex_constants::syntax_max; ++j) - { - const char* ptr = get_default_syntax(j); - while(ptr && *ptr) - { - m_char_map[static_cast(*ptr)] = j; - ++ptr; - } - } -#ifndef BOOST_NO_STD_MESSAGES - } -#endif - // - // finish off by calculating our escape types: - // - unsigned char i = 'A'; - do - { - if(m_char_map[i] == 0) - { - if(this->m_pctype->is(std::ctype_base::lower, i)) - m_char_map[i] = regex_constants::escape_type_class; - else if(this->m_pctype->is(std::ctype_base::upper, i)) - m_char_map[i] = regex_constants::escape_type_not_class; - } - }while(0xFF != i++); -} - -} // BOOST_REGEX_DETAIL_NS -} // boost -#endif - diff --git a/src/cregex.cpp b/src/cregex.cpp deleted file mode 100644 index a1ae3b087..000000000 --- a/src/cregex.cpp +++ /dev/null @@ -1,660 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: cregex.cpp - * VERSION: see - * DESCRIPTION: Implements high level class boost::RexEx - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#if !defined(BOOST_NO_STD_STRING) -#include -#include -#include -typedef boost::match_flag_type match_flag_type; -#include - -#ifdef BOOST_MSVC -#pragma warning(disable:4309) -#endif -#ifdef BOOST_INTEL -#pragma warning(disable:981 383) -#endif - -namespace boost{ - -#ifdef __BORLANDC__ -#if __BORLANDC__ < 0x530 -// -// we need to instantiate the vector classes we use -// since declaring a reference to type doesn't seem to -// do the job... -std::vector inst1; -std::vector inst2; -#endif -#endif - -namespace{ - -template -std::string to_string(iterator i, iterator j) -{ - std::string s; - while(i != j) - { - s.append(1, *i); - ++i; - } - return s; -} - -inline std::string to_string(const char* i, const char* j) -{ - return std::string(i, j); -} - -} -namespace BOOST_REGEX_DETAIL_NS{ - -class RegExData -{ -public: - enum type - { - type_pc, - type_pf, - type_copy - }; - regex e; - cmatch m; -#ifndef BOOST_REGEX_NO_FILEITER - match_results fm; -#endif - type t; - const char* pbase; -#ifndef BOOST_REGEX_NO_FILEITER - mapfile::iterator fbase; -#endif - std::map > strings; - std::map > positions; - void update(); - void clean(); - RegExData() : e(), m(), -#ifndef BOOST_REGEX_NO_FILEITER - fm(), -#endif - t(type_copy), pbase(0), -#ifndef BOOST_REGEX_NO_FILEITER - fbase(), -#endif - strings(), positions() {} -}; - -void RegExData::update() -{ - strings.erase(strings.begin(), strings.end()); - positions.erase(positions.begin(), positions.end()); - if(t == type_pc) - { - for(unsigned int i = 0; i < m.size(); ++i) - { - if(m[i].matched) strings[i] = std::string(m[i].first, m[i].second); - positions[i] = m[i].matched ? m[i].first - pbase : -1; - } - } -#ifndef BOOST_REGEX_NO_FILEITER - else - { - for(unsigned int i = 0; i < fm.size(); ++i) - { - if(fm[i].matched) strings[i] = to_string(fm[i].first, fm[i].second); - positions[i] = fm[i].matched ? fm[i].first - fbase : -1; - } - } -#endif - t = type_copy; -} - -void RegExData::clean() -{ -#ifndef BOOST_REGEX_NO_FILEITER - fbase = mapfile::iterator(); - fm = match_results(); -#endif -} - -} // namespace - -RegEx::RegEx() -{ - pdata = new BOOST_REGEX_DETAIL_NS::RegExData(); -} - -RegEx::RegEx(const RegEx& o) -{ - pdata = new BOOST_REGEX_DETAIL_NS::RegExData(*(o.pdata)); -} - -RegEx::~RegEx() -{ - delete pdata; -} - -RegEx::RegEx(const char* c, bool icase) -{ - pdata = new BOOST_REGEX_DETAIL_NS::RegExData(); - SetExpression(c, icase); -} - -RegEx::RegEx(const std::string& s, bool icase) -{ - pdata = new BOOST_REGEX_DETAIL_NS::RegExData(); - SetExpression(s.c_str(), icase); -} - -RegEx& RegEx::operator=(const RegEx& o) -{ - *pdata = *(o.pdata); - return *this; -} - -RegEx& RegEx::operator=(const char* p) -{ - SetExpression(p, false); - return *this; -} - -unsigned int RegEx::SetExpression(const char* p, bool icase) -{ - boost::uint_fast32_t f = icase ? regex::normal | regex::icase : regex::normal; - return pdata->e.set_expression(p, f); -} - -unsigned int RegEx::error_code()const -{ - return pdata->e.error_code(); -} - - -std::string RegEx::Expression()const -{ - return pdata->e.expression(); -} - -// -// now matching operators: -// -bool RegEx::Match(const char* p, match_flag_type flags) -{ - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - if(regex_match(p, end, pdata->m, pdata->e, flags)) - { - pdata->update(); - return true; - } - return false; -} - -bool RegEx::Search(const char* p, match_flag_type flags) -{ - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - if(regex_search(p, end, pdata->m, pdata->e, flags)) - { - pdata->update(); - return true; - } - return false; -} -namespace BOOST_REGEX_DETAIL_NS{ -struct pred1 -{ - GrepCallback cb; - RegEx* pe; - pred1(GrepCallback c, RegEx* i) : cb(c), pe(i) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - return cb(*pe); - } -}; -} -unsigned int RegEx::Grep(GrepCallback cb, const char* p, match_flag_type flags) -{ - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(BOOST_REGEX_DETAIL_NS::pred1(cb, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -namespace BOOST_REGEX_DETAIL_NS{ -struct pred2 -{ - std::vector& v; - RegEx* pe; - pred2(std::vector& o, RegEx* e) : v(o), pe(e) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - v.push_back(std::string(m[0].first, m[0].second)); - return true; - } -private: - pred2& operator=(const pred2&); -}; -} - -unsigned int RegEx::Grep(std::vector& v, const char* p, match_flag_type flags) -{ - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(BOOST_REGEX_DETAIL_NS::pred2(v, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -namespace BOOST_REGEX_DETAIL_NS{ -struct pred3 -{ - std::vector& v; - const char* base; - RegEx* pe; - pred3(std::vector& o, const char* pb, RegEx* p) : v(o), base(pb), pe(p) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - v.push_back(static_cast(m[0].first - base)); - return true; - } -private: - pred3& operator=(const pred3&); -}; -} -unsigned int RegEx::Grep(std::vector& v, const char* p, match_flag_type flags) -{ - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(BOOST_REGEX_DETAIL_NS::pred3(v, p, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -#ifndef BOOST_REGEX_NO_FILEITER -namespace BOOST_REGEX_DETAIL_NS{ -struct pred4 -{ - GrepFileCallback cb; - RegEx* pe; - const char* file; - bool ok; - pred4(GrepFileCallback c, RegEx* i, const char* f) : cb(c), pe(i), file(f), ok(true) {} - bool operator()(const match_results& m) - { - pe->pdata->t = RegExData::type_pf; - pe->pdata->fm = m; - pe->pdata->update(); - ok = cb(file, *pe); - return ok; - } -}; -} -namespace{ -void BuildFileList(std::list* pl, const char* files, bool recurse) -{ - file_iterator start(files); - file_iterator end; - if(recurse) - { - // go through sub directories: - char buf[MAX_PATH]; - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(buf, MAX_PATH, start.root())); - if(*buf == 0) - { - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(buf, MAX_PATH, ".")); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(buf, MAX_PATH, directory_iterator::separator())); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(buf, MAX_PATH, "*")); - } - else - { - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(buf, MAX_PATH, directory_iterator::separator())); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(buf, MAX_PATH, "*")); - } - directory_iterator dstart(buf); - directory_iterator dend; - - // now get the file mask bit of "files": - const char* ptr = files; - while(*ptr) ++ptr; - while((ptr != files) && (*ptr != *directory_iterator::separator()) && (*ptr != '/'))--ptr; - if(ptr != files) ++ptr; - - while(dstart != dend) - { - // Verify that sprintf will not overflow: - if(std::strlen(dstart.path()) + std::strlen(directory_iterator::separator()) + std::strlen(ptr) >= MAX_PATH) - { - // Oops overflow, skip this item: - ++dstart; - continue; - } -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - int r = (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); -#else - int r = (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); -#endif - if(r < 0) - { - // sprintf failed, skip this item: - ++dstart; - continue; - } - BuildFileList(pl, buf, recurse); - ++dstart; - } - } - while(start != end) - { - pl->push_back(*start); - ++start; - } -} -} - -unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recurse, match_flag_type flags) -{ - unsigned int result = 0; - std::list file_list; - BuildFileList(&file_list, files, recurse); - std::list::iterator start, end; - start = file_list.begin(); - end = file_list.end(); - - while(start != end) - { - mapfile map((*start).c_str()); - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pf; - pdata->fbase = map.begin(); - BOOST_REGEX_DETAIL_NS::pred4 pred(cb, this, (*start).c_str()); - int r = regex_grep(pred, map.begin(), map.end(), pdata->e, flags); - result += r; - ++start; - pdata->clean(); - if(pred.ok == false) - return result; - } - - return result; -} - - -unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recurse, match_flag_type flags) -{ - unsigned int result = 0; - std::list file_list; - BuildFileList(&file_list, files, recurse); - std::list::iterator start, end; - start = file_list.begin(); - end = file_list.end(); - - while(start != end) - { - mapfile map((*start).c_str()); - pdata->t = BOOST_REGEX_DETAIL_NS::RegExData::type_pf; - pdata->fbase = map.begin(); - - if(regex_search(map.begin(), map.end(), pdata->fm, pdata->e, flags)) - { - ++result; - if(false == cb((*start).c_str())) - return result; - } - //pdata->update(); - ++start; - //pdata->clean(); - } - - return result; -} -#endif - -#ifdef BOOST_REGEX_V3 -#define regex_replace regex_merge -#endif - -std::string RegEx::Merge(const std::string& in, const std::string& fmt, - bool copy, match_flag_type flags) -{ - std::string result; - BOOST_REGEX_DETAIL_NS::string_out_iterator i(result); - if(!copy) flags |= format_no_copy; - regex_replace(i, in.begin(), in.end(), pdata->e, fmt.c_str(), flags); - return result; -} - -std::string RegEx::Merge(const char* in, const char* fmt, - bool copy, match_flag_type flags) -{ - std::string result; - if(!copy) flags |= format_no_copy; - BOOST_REGEX_DETAIL_NS::string_out_iterator i(result); - regex_replace(i, in, in + std::strlen(in), pdata->e, fmt, flags); - return result; -} - -std::size_t RegEx::Split(std::vector& v, - std::string& s, - match_flag_type flags, - unsigned max_count) -{ - return regex_split(std::back_inserter(v), s, pdata->e, flags, max_count); -} - - - -// -// now operators for returning what matched in more detail: -// -std::size_t RegEx::Position(int i)const -{ - switch(pdata->t) - { - case BOOST_REGEX_DETAIL_NS::RegExData::type_pc: - return pdata->m[i].matched ? pdata->m[i].first - pdata->pbase : RegEx::npos; - case BOOST_REGEX_DETAIL_NS::RegExData::type_pf: -#ifndef BOOST_REGEX_NO_FILEITER - return pdata->fm[i].matched ? pdata->fm[i].first - pdata->fbase : RegEx::npos; -#endif - case BOOST_REGEX_DETAIL_NS::RegExData::type_copy: - { - std::map >::iterator pos = pdata->positions.find(i); - if(pos == pdata->positions.end()) - return RegEx::npos; - return (*pos).second; - } - } - return RegEx::npos; -} - -std::size_t RegEx::Marks()const -{ - return pdata->e.mark_count(); -} - - -std::size_t RegEx::Length(int i)const -{ - switch(pdata->t) - { - case BOOST_REGEX_DETAIL_NS::RegExData::type_pc: - return pdata->m[i].matched ? pdata->m[i].second - pdata->m[i].first : RegEx::npos; - case BOOST_REGEX_DETAIL_NS::RegExData::type_pf: -#ifndef BOOST_REGEX_NO_FILEITER - return pdata->fm[i].matched ? pdata->fm[i].second - pdata->fm[i].first : RegEx::npos; -#endif - case BOOST_REGEX_DETAIL_NS::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos == pdata->strings.end()) - return RegEx::npos; - return (*pos).second.size(); - } - } - return RegEx::npos; -} - -bool RegEx::Matched(int i)const -{ - switch(pdata->t) - { - case BOOST_REGEX_DETAIL_NS::RegExData::type_pc: - return pdata->m[i].matched; - case BOOST_REGEX_DETAIL_NS::RegExData::type_pf: -#ifndef BOOST_REGEX_NO_FILEITER - return pdata->fm[i].matched; -#endif - case BOOST_REGEX_DETAIL_NS::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos == pdata->strings.end()) - return false; - return true; - } - } - return false; -} - - -std::string RegEx::What(int i)const -{ - std::string result; - switch(pdata->t) - { - case BOOST_REGEX_DETAIL_NS::RegExData::type_pc: - if(pdata->m[i].matched) - result.assign(pdata->m[i].first, pdata->m[i].second); - break; - case BOOST_REGEX_DETAIL_NS::RegExData::type_pf: - if(pdata->m[i].matched) - result.assign(to_string(pdata->m[i].first, pdata->m[i].second)); - break; - case BOOST_REGEX_DETAIL_NS::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos != pdata->strings.end()) - result = (*pos).second; - break; - } - } - return result; -} - -const std::size_t RegEx::npos = ~static_cast(0); - -} // namespace boost - -#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) && (__BORLANDC__ <= 0x551) && !defined(_RWSTD_COMPILE_INSTANTIATE) -// -// this is an ugly hack to work around an ugly problem: -// by default this file will produce unresolved externals during -// linking unless _RWSTD_COMPILE_INSTANTIATE is defined (Borland bug). -// However if _RWSTD_COMPILE_INSTANTIATE is defined then we get separate -// copies of basic_string's static data in the RTL and this DLL, this messes -// with basic_string's memory management and results in run-time crashes, -// Oh sweet joy of Catch 22.... -// -namespace std{ -template<> template<> -basic_string& BOOST_REGEX_DECL -basic_string::replace(char* f1, char* f2, const char* i1, const char* i2) -{ - unsigned insert_pos = f1 - begin(); - unsigned remove_len = f2 - f1; - unsigned insert_len = i2 - i1; - unsigned org_size = size(); - if(insert_len > remove_len) - { - append(insert_len-remove_len, ' '); - std::copy_backward(begin() + insert_pos + remove_len, begin() + org_size, end()); - std::copy(i1, i2, begin() + insert_pos); - } - else - { - std::copy(begin() + insert_pos + remove_len, begin() + org_size, begin() + insert_pos + insert_len); - std::copy(i1, i2, begin() + insert_pos); - erase(size() + insert_len - remove_len); - } - return *this; -} -template<> template<> -basic_string& BOOST_REGEX_DECL -basic_string::replace(wchar_t* f1, wchar_t* f2, const wchar_t* i1, const wchar_t* i2) -{ - unsigned insert_pos = f1 - begin(); - unsigned remove_len = f2 - f1; - unsigned insert_len = i2 - i1; - unsigned org_size = size(); - if(insert_len > remove_len) - { - append(insert_len-remove_len, ' '); - std::copy_backward(begin() + insert_pos + remove_len, begin() + org_size, end()); - std::copy(i1, i2, begin() + insert_pos); - } - else - { - std::copy(begin() + insert_pos + remove_len, begin() + org_size, begin() + insert_pos + insert_len); - std::copy(i1, i2, begin() + insert_pos); - erase(size() + insert_len - remove_len); - } - return *this; -} -} // namespace std -#endif - -#endif - - - - - - - - - - - - - - - - diff --git a/src/fileiter.cpp b/src/fileiter.cpp deleted file mode 100644 index c80459b86..000000000 --- a/src/fileiter.cpp +++ /dev/null @@ -1,928 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: fileiter.cpp - * VERSION: see - * DESCRIPTION: Implements file io primitives + directory searching for class boost::RegEx. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::sprintf; - using ::fseek; - using ::fread; - using ::ftell; - using ::fopen; - using ::fclose; - using ::FILE; - using ::strcpy; - using ::strcpy; - using ::strcat; - using ::strcmp; - using ::strlen; -} -#endif - - -#ifndef BOOST_REGEX_NO_FILEITER - -#if defined(__CYGWIN__) || defined(__CYGWIN32__) -#include -#endif - -#ifdef BOOST_MSVC -# pragma warning(disable: 4800) -#endif - -namespace boost{ - namespace BOOST_REGEX_DETAIL_NS{ -// start with the operating system specific stuff: - -#if (defined(__BORLANDC__) || defined(BOOST_REGEX_FI_WIN32_DIR) || defined(BOOST_MSVC)) && !defined(BOOST_RE_NO_WIN32) - -// platform is DOS or Windows -// directories are separated with '\\' -// and names are insensitive of case - -BOOST_REGEX_DECL const char* _fi_sep = "\\"; -const char* _fi_sep_alt = "/"; -#define BOOST_REGEX_FI_TRANSLATE(c) std::tolower(c) - -#else - -// platform is not DOS or Windows -// directories are separated with '/' -// and names are sensitive of case - -BOOST_REGEX_DECL const char* _fi_sep = "/"; -const char* _fi_sep_alt = _fi_sep; -#define BOOST_REGEX_FI_TRANSLATE(c) c - -#endif - -#ifdef BOOST_REGEX_FI_WIN32_MAP - -void mapfile::open(const char* file) -{ -#if defined(BOOST_NO_ANSI_APIS) - int filename_size = strlen(file); - LPWSTR wide_file = (LPWSTR)_alloca( (filename_size + 1) * sizeof(WCHAR) ); - if(::MultiByteToWideChar(CP_ACP, 0, file, filename_size, wide_file, filename_size + 1) == 0) - hfile = INVALID_HANDLE_VALUE; - else - hfile = CreateFileW(wide_file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); -#elif defined(__CYGWIN__)||defined(__CYGWIN32__) - char win32file[ MAX_PATH ]; - cygwin_conv_to_win32_path( file, win32file ); - hfile = CreateFileA(win32file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); -#else - hfile = CreateFileA(file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); -#endif - if(hfile != INVALID_HANDLE_VALUE) - { - hmap = CreateFileMapping(hfile, 0, PAGE_READONLY, 0, 0, 0); - if((hmap == INVALID_HANDLE_VALUE) || (hmap == NULL)) - { - CloseHandle(hfile); - hmap = 0; - hfile = 0; - std::runtime_error err("Unable to create file mapping."); - boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - _first = static_cast(MapViewOfFile(hmap, FILE_MAP_READ, 0, 0, 0)); - if(_first == 0) - { - CloseHandle(hmap); - CloseHandle(hfile); - hmap = 0; - hfile = 0; - std::runtime_error err("Unable to create file mapping."); - } - _last = _first + GetFileSize(hfile, 0); - } - else - { - hfile = 0; -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Unable to open file."); -#else - BOOST_REGEX_NOEH_ASSERT(hfile != INVALID_HANDLE_VALUE); -#endif - } -} - -void mapfile::close() -{ - if(hfile != INVALID_HANDLE_VALUE) - { - UnmapViewOfFile((void*)_first); - CloseHandle(hmap); - CloseHandle(hfile); - hmap = hfile = 0; - _first = _last = 0; - } -} - -#elif !defined(BOOST_RE_NO_STL) - -mapfile_iterator& mapfile_iterator::operator = (const mapfile_iterator& i) -{ - if(file && node) - file->unlock(node); - file = i.file; - node = i.node; - offset = i.offset; - if(file) - file->lock(node); - return *this; -} - -mapfile_iterator& mapfile_iterator::operator++ () -{ - if((++offset == mapfile::buf_size) && file) - { - ++node; - offset = 0; - file->lock(node); - file->unlock(node-1); - } - return *this; -} - -mapfile_iterator mapfile_iterator::operator++ (int) -{ - mapfile_iterator temp(*this); - if((++offset == mapfile::buf_size) && file) - { - ++node; - offset = 0; - file->lock(node); - file->unlock(node-1); - } - return temp; -} - -mapfile_iterator& mapfile_iterator::operator-- () -{ - if((offset == 0) && file) - { - --node; - offset = mapfile::buf_size - 1; - file->lock(node); - file->unlock(node + 1); - } - else - --offset; - return *this; -} - -mapfile_iterator mapfile_iterator::operator-- (int) -{ - mapfile_iterator temp(*this); - if((offset == 0) && file) - { - --node; - offset = mapfile::buf_size - 1; - file->lock(node); - file->unlock(node + 1); - } - else - --offset; - return temp; -} - -mapfile_iterator operator + (const mapfile_iterator& i, long off) -{ - mapfile_iterator temp(i); - temp += off; - return temp; -} - -mapfile_iterator operator - (const mapfile_iterator& i, long off) -{ - mapfile_iterator temp(i); - temp -= off; - return temp; -} - -mapfile::iterator mapfile::begin()const -{ - return mapfile_iterator(this, 0); -} - -mapfile::iterator mapfile::end()const -{ - return mapfile_iterator(this, _size); -} - -void mapfile::lock(pointer* node)const -{ - BOOST_ASSERT(node >= _first); - BOOST_ASSERT(node <= _last); - if(node < _last) - { - if(*node == 0) - { - if(condemed.empty()) - { - *node = new char[sizeof(int) + buf_size]; - *(reinterpret_cast(*node)) = 1; - } - else - { - pointer* p = condemed.front(); - condemed.pop_front(); - *node = *p; - *p = 0; - *(reinterpret_cast(*node)) = 1; - } - - std::size_t read_size = 0; - int read_pos = std::fseek(hfile, (node - _first) * buf_size, SEEK_SET); - - if(0 == read_pos && node == _last - 1) - read_size = std::fread(*node + sizeof(int), _size % buf_size, 1, hfile); - else - read_size = std::fread(*node + sizeof(int), buf_size, 1, hfile); - if((read_size == 0) || (std::ferror(hfile))) - { -#ifndef BOOST_NO_EXCEPTIONS - unlock(node); - throw std::runtime_error("Unable to read file."); -#else - BOOST_REGEX_NOEH_ASSERT((0 == std::ferror(hfile)) && (read_size != 0)); -#endif - } - } - else - { - if(*reinterpret_cast(*node) == 0) - { - *reinterpret_cast(*node) = 1; - condemed.remove(node); - } - else - ++(*reinterpret_cast(*node)); - } - } -} - -void mapfile::unlock(pointer* node)const -{ - BOOST_ASSERT(node >= _first); - BOOST_ASSERT(node <= _last); - if(node < _last) - { - if(--(*reinterpret_cast(*node)) == 0) - { - condemed.push_back(node); - } - } -} - -long int get_file_length(std::FILE* hfile) -{ - long int result; - std::fseek(hfile, 0, SEEK_END); - result = std::ftell(hfile); - std::fseek(hfile, 0, SEEK_SET); - return result; -} - - -void mapfile::open(const char* file) -{ - hfile = std::fopen(file, "rb"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - if(hfile != 0) - { - _size = get_file_length(hfile); - long cnodes = (_size + buf_size - 1) / buf_size; - - // check that number of nodes is not too high: - if(cnodes > (long)((INT_MAX) / sizeof(pointer*))) - { - std::fclose(hfile); - hfile = 0; - _size = 0; - return; - } - - _first = new pointer[(int)cnodes]; - _last = _first + cnodes; - std::memset(_first, 0, cnodes*sizeof(pointer)); - } - else - { - std::runtime_error err("Unable to open file."); - } -#ifndef BOOST_NO_EXCEPTIONS - }catch(...) - { close(); throw; } -#endif -} - -void mapfile::close() -{ - if(hfile != 0) - { - pointer* p = _first; - while(p != _last) - { - if(*p) - delete[] *p; - ++p; - } - delete[] _first; - _size = 0; - _first = _last = 0; - std::fclose(hfile); - hfile = 0; - condemed.erase(condemed.begin(), condemed.end()); - } -} - - -#endif - -inline _fi_find_handle find_first_file(const char* wild, _fi_find_data& data) -{ -#ifdef BOOST_NO_ANSI_APIS - std::size_t wild_size = std::strlen(wild); - LPWSTR wide_wild = (LPWSTR)_alloca( (wild_size + 1) * sizeof(WCHAR) ); - if (::MultiByteToWideChar(CP_ACP, 0, wild, wild_size, wide_wild, wild_size + 1) == 0) - return _fi_invalid_handle; - - return FindFirstFileW(wide_wild, &data); -#else - return FindFirstFileA(wild, &data); -#endif -} - -inline bool find_next_file(_fi_find_handle hf, _fi_find_data& data) -{ -#ifdef BOOST_NO_ANSI_APIS - return FindNextFileW(hf, &data); -#else - return FindNextFileA(hf, &data); -#endif -} - -inline void copy_find_file_result_with_overflow_check(const _fi_find_data& data, char* path, size_t max_size) -{ -#ifdef BOOST_NO_ANSI_APIS - if (::WideCharToMultiByte(CP_ACP, 0, data.cFileName, -1, path, max_size, NULL, NULL) == 0) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(1); -#else - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(path, max_size, data.cFileName)); -#endif -} - -inline bool is_not_current_or_parent_path_string(const _fi_find_data& data) -{ -#ifdef BOOST_NO_ANSI_APIS - return (std::wcscmp(data.cFileName, L".") && std::wcscmp(data.cFileName, L"..")); -#else - return (std::strcmp(data.cFileName, ".") && std::strcmp(data.cFileName, "..")); -#endif -} - - -file_iterator::file_iterator() -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - ptr = _path; - *_path = 0; - *_root = 0; - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = _fi_invalid_handle; - ref->count = 1; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -file_iterator::file_iterator(const char* wild) -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, wild)); - ptr = _root; - while(*ptr)++ptr; - while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr; - if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) ) - { - _root[1]='\0'; - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, _root)); - } - else - { - *ptr = 0; - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, _root)); - if(*_path == 0) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, ".")); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(_path, MAX_PATH, _fi_sep)); - } - ptr = _path + std::strlen(_path); - - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = find_first_file(wild, ref->_data); - ref->count = 1; - - if(ref->hf == _fi_invalid_handle) - { - *_path = 0; - ptr = _path; - } - else - { - copy_find_file_result_with_overflow_check(ref->_data, ptr, (MAX_PATH - (ptr - _path))); - if(ref->_data.dwFileAttributes & _fi_dir) - next(); - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -file_iterator::file_iterator(const file_iterator& other) -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, other._root)); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, other._path)); - ptr = _path + (other.ptr - other._path); - ref = other.ref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - throw; - } -#endif - ++(ref->count); -} - -file_iterator& file_iterator::operator=(const file_iterator& other) -{ - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, other._root)); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, other._path)); - ptr = _path + (other.ptr - other._path); - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } - ref = other.ref; - ++(ref->count); - return *this; -} - - -file_iterator::~file_iterator() -{ - delete[] _root; - delete[] _path; - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } -} - -file_iterator file_iterator::operator++(int) -{ - file_iterator temp(*this); - next(); - return temp; -} - - -void file_iterator::next() -{ - if(ref->hf != _fi_invalid_handle) - { - bool cont = true; - while(cont) - { - cont = find_next_file(ref->hf, ref->_data); - if(cont && ((ref->_data.dwFileAttributes & _fi_dir) == 0)) - break; - } - if(!cont) - { - // end of sequence - FindClose(ref->hf); - ref->hf = _fi_invalid_handle; - *_path = 0; - ptr = _path; - } - else - copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); - } -} - - - -directory_iterator::directory_iterator() -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - ptr = _path; - *_path = 0; - *_root = 0; - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = _fi_invalid_handle; - ref->count = 1; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -directory_iterator::directory_iterator(const char* wild) -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, wild)); - ptr = _root; - while(*ptr)++ptr; - while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr; - - if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) ) - { - _root[1]='\0'; - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, _root)); - } - else - { - *ptr = 0; - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, _root)); - if(*_path == 0) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, ".")); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcat_s(_path, MAX_PATH, _fi_sep)); - } - ptr = _path + std::strlen(_path); - - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->count = 1; - ref->hf = find_first_file(wild, ref->_data); - if(ref->hf == _fi_invalid_handle) - { - *_path = 0; - ptr = _path; - } - else - { - copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); - if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ptr, ".") == 0) || (std::strcmp(ptr, "..") == 0)) - next(); - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -directory_iterator::~directory_iterator() -{ - delete[] _root; - delete[] _path; - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } -} - -directory_iterator::directory_iterator(const directory_iterator& other) -{ - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, other._root)); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, other._path)); - ptr = _path + (other.ptr - other._path); - ref = other.ref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - throw; - } -#endif - ++(ref->count); -} - -directory_iterator& directory_iterator::operator=(const directory_iterator& other) -{ - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_root, MAX_PATH, other._root)); - BOOST_REGEX_DETAIL_NS::overflow_error_if_not_zero(BOOST_REGEX_DETAIL_NS::strcpy_s(_path, MAX_PATH, other._path)); - ptr = _path + (other.ptr - other._path); - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } - ref = other.ref; - ++(ref->count); - return *this; -} - -directory_iterator directory_iterator::operator++(int) -{ - directory_iterator temp(*this); - next(); - return temp; -} - -void directory_iterator::next() -{ - if(ref->hf != _fi_invalid_handle) - { - bool cont = true; - while(cont) - { - cont = find_next_file(ref->hf, ref->_data); - if(cont && (ref->_data.dwFileAttributes & _fi_dir)) - { - if(is_not_current_or_parent_path_string(ref->_data)) - break; - } - } - if(!cont) - { - // end of sequence - FindClose(ref->hf); - ref->hf = _fi_invalid_handle; - *_path = 0; - ptr = _path; - } - else - copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); - } -} - - -#ifdef BOOST_REGEX_FI_POSIX_DIR - -struct _fi_priv_data -{ - char root[MAX_PATH]; - char* mask; - DIR* d; - _fi_priv_data(const char* p); -}; - -_fi_priv_data::_fi_priv_data(const char* p) -{ - std::strcpy(root, p); - mask = root; - while(*mask) ++mask; - while((mask > root) && (*mask != *_fi_sep) && (*mask != *_fi_sep_alt)) --mask; - if(mask == root && ((*mask== *_fi_sep) || (*mask == *_fi_sep_alt)) ) - { - root[1] = '\0'; - std::strcpy(root+2, p+1); - mask = root+2; - } - else if(mask == root) - { - root[0] = '.'; - root[1] = '\0'; - std::strcpy(root+2, p); - mask = root+2; - } - else - { - *mask = 0; - ++mask; - } -} - -bool iswild(const char* mask, const char* name) -{ - while(*mask && *name) - { - switch(*mask) - { - case '?': - ++name; - ++mask; - continue; - case '*': - ++mask; - if(*mask == 0) - return true; - while(*name) - { - if(iswild(mask, name)) - return true; - ++name; - } - return false; - case '.': - if(0 == *name) - { - ++mask; - continue; - } - // fall through - default: - if(BOOST_REGEX_FI_TRANSLATE(*mask) != BOOST_REGEX_FI_TRANSLATE(*name)) - return false; - ++mask; - ++name; - continue; - } - } - if(*mask != *name) - return false; - return true; -} - -unsigned _fi_attributes(const char* root, const char* name) -{ - char buf[MAX_PATH]; - // verify that we can not overflow: - if(std::strlen(root) + std::strlen(_fi_sep) + std::strlen(name) >= MAX_PATH) - return 0; - int r; - if( ( (root[0] == *_fi_sep) || (root[0] == *_fi_sep_alt) ) && (root[1] == '\0') ) - r = (std::sprintf)(buf, "%s%s", root, name); - else - r = (std::sprintf)(buf, "%s%s%s", root, _fi_sep, name); - if(r < 0) - return 0; // sprintf failed - DIR* d = opendir(buf); - if(d) - { - closedir(d); - return _fi_dir; - } - return 0; -} - -_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData) -{ - _fi_find_handle dat = new _fi_priv_data(lpFileName); - - DIR* h = opendir(dat->root); - dat->d = h; - if(h != 0) - { - if(_fi_FindNextFile(dat, lpFindFileData)) - return dat; - closedir(h); - } - delete dat; - return 0; -} - -bool _fi_FindNextFile(_fi_find_handle dat, _fi_find_data* lpFindFileData) -{ - dirent* d; - do - { - d = readdir(dat->d); - } while(d && !iswild(dat->mask, d->d_name)); - - if(d) - { - std::strcpy(lpFindFileData->cFileName, d->d_name); - lpFindFileData->dwFileAttributes = _fi_attributes(dat->root, d->d_name); - return true; - } - return false; -} - -bool _fi_FindClose(_fi_find_handle dat) -{ - closedir(dat->d); - delete dat; - return true; -} - -#endif - -} // namespace BOOST_REGEX_DETAIL_NS -} // namspace boost - -#endif // BOOST_REGEX_NO_FILEITER - - - - - - - - - - - - diff --git a/src/icu.cpp b/src/icu.cpp deleted file mode 100644 index 5f249e2d8..000000000 --- a/src/icu.cpp +++ /dev/null @@ -1,511 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE icu.cpp - * VERSION see - * DESCRIPTION: Unicode regular expressions on top of the ICU Library. - */ -#define BOOST_REGEX_SOURCE - -#include -#ifdef BOOST_HAS_ICU -#define BOOST_REGEX_ICU_INSTANTIATE -#include - -#ifdef BOOST_INTEL -#pragma warning(disable:981 2259 383) -#endif - -namespace boost{ - -namespace BOOST_REGEX_DETAIL_NS{ - -icu_regex_traits_implementation::string_type icu_regex_traits_implementation::do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const -{ - // TODO make thread safe!!!! : - typedef u32_to_u16_iterator itt; - itt i(p1), j(p2); -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - std::vector< ::UChar> t(i, j); -#else - std::vector< ::UChar> t; - while(i != j) - t.push_back(*i++); -#endif - ::uint8_t result[100]; - ::int32_t len; - if(t.size()) - len = pcoll->getSortKey(&*t.begin(), static_cast< ::int32_t>(t.size()), result, sizeof(result)); - else - len = pcoll->getSortKey(static_cast(0), static_cast< ::int32_t>(0), result, sizeof(result)); - if(std::size_t(len) > sizeof(result)) - { - scoped_array< ::uint8_t> presult(new ::uint8_t[len+1]); - if(t.size()) - len = pcoll->getSortKey(&*t.begin(), static_cast< ::int32_t>(t.size()), presult.get(), len+1); - else - len = pcoll->getSortKey(static_cast(0), static_cast< ::int32_t>(0), presult.get(), len+1); - if((0 == presult[len-1]) && (len > 1)) - --len; -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - return string_type(presult.get(), presult.get()+len); -#else - string_type sresult; - ::uint8_t const* ia = presult.get(); - ::uint8_t const* ib = presult.get()+len; - while(ia != ib) - sresult.push_back(*ia++); - return sresult; -#endif - } - if((0 == result[len-1]) && (len > 1)) - --len; -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - return string_type(result, result+len); -#else - string_type sresult; - ::uint8_t const* ia = result; - ::uint8_t const* ib = result+len; - while(ia != ib) - sresult.push_back(*ia++); - return sresult; -#endif -} - -} - -icu_regex_traits::size_type icu_regex_traits::length(const char_type* p) -{ - size_type result = 0; - while(*p) - { - ++p; - ++result; - } - return result; -} - -// -// define our bitmasks: -// -const icu_regex_traits::char_class_type icu_regex_traits::mask_blank = icu_regex_traits::char_class_type(1) << offset_blank; -const icu_regex_traits::char_class_type icu_regex_traits::mask_space = icu_regex_traits::char_class_type(1) << offset_space; -const icu_regex_traits::char_class_type icu_regex_traits::mask_xdigit = icu_regex_traits::char_class_type(1) << offset_xdigit; -const icu_regex_traits::char_class_type icu_regex_traits::mask_underscore = icu_regex_traits::char_class_type(1) << offset_underscore; -const icu_regex_traits::char_class_type icu_regex_traits::mask_unicode = icu_regex_traits::char_class_type(1) << offset_unicode; -const icu_regex_traits::char_class_type icu_regex_traits::mask_any = icu_regex_traits::char_class_type(1) << offset_any; -const icu_regex_traits::char_class_type icu_regex_traits::mask_ascii = icu_regex_traits::char_class_type(1) << offset_ascii; -const icu_regex_traits::char_class_type icu_regex_traits::mask_horizontal = icu_regex_traits::char_class_type(1) << offset_horizontal; -const icu_regex_traits::char_class_type icu_regex_traits::mask_vertical = icu_regex_traits::char_class_type(1) << offset_vertical; - -icu_regex_traits::char_class_type icu_regex_traits::lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2) -{ - static const ::UChar32 prop_name_table[] = { - /* any */ 'a', 'n', 'y', - /* ascii */ 'a', 's', 'c', 'i', 'i', - /* assigned */ 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', - /* c* */ 'c', '*', - /* cc */ 'c', 'c', - /* cf */ 'c', 'f', - /* closepunctuation */ 'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* cn */ 'c', 'n', - /* co */ 'c', 'o', - /* connectorpunctuation */ 'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* control */ 'c', 'o', 'n', 't', 'r', 'o', 'l', - /* cs */ 'c', 's', - /* currencysymbol */ 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l', - /* dashpunctuation */ 'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* decimaldigitnumber */ 'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r', - /* enclosingmark */ 'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k', - /* finalpunctuation */ 'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* format */ 'f', 'o', 'r', 'm', 'a', 't', - /* initialpunctuation */ 'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* l* */ 'l', '*', - /* letter */ 'l', 'e', 't', 't', 'e', 'r', - /* letternumber */ 'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', - /* lineseparator */ 'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', - /* ll */ 'l', 'l', - /* lm */ 'l', 'm', - /* lo */ 'l', 'o', - /* lowercaseletter */ 'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', - /* lt */ 'l', 't', - /* lu */ 'l', 'u', - /* m* */ 'm', '*', - /* mark */ 'm', 'a', 'r', 'k', - /* mathsymbol */ 'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l', - /* mc */ 'm', 'c', - /* me */ 'm', 'e', - /* mn */ 'm', 'n', - /* modifierletter */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', - /* modifiersymbol */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', - /* n* */ 'n', '*', - /* nd */ 'n', 'd', - /* nl */ 'n', 'l', - /* no */ 'n', 'o', - /* nonspacingmark */ 'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k', - /* notassigned */ 'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', - /* number */ 'n', 'u', 'm', 'b', 'e', 'r', - /* openpunctuation */ 'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* other */ 'o', 't', 'h', 'e', 'r', - /* otherletter */ 'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', - /* othernumber */ 'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', - /* otherpunctuation */ 'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* othersymbol */ 'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', - /* p* */ 'p', '*', - /* paragraphseparator */ 'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', - /* pc */ 'p', 'c', - /* pd */ 'p', 'd', - /* pe */ 'p', 'e', - /* pf */ 'p', 'f', - /* pi */ 'p', 'i', - /* po */ 'p', 'o', - /* privateuse */ 'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e', - /* ps */ 'p', 's', - /* punctuation */ 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', - /* s* */ 's', '*', - /* sc */ 's', 'c', - /* separator */ 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', - /* sk */ 's', 'k', - /* sm */ 's', 'm', - /* so */ 's', 'o', - /* spaceseparator */ 's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', - /* spacingcombiningmark */ 's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k', - /* surrogate */ 's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e', - /* symbol */ 's', 'y', 'm', 'b', 'o', 'l', - /* titlecase */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', - /* titlecaseletter */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', - /* uppercaseletter */ 'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', - /* z* */ 'z', '*', - /* zl */ 'z', 'l', - /* zp */ 'z', 'p', - /* zs */ 'z', 's', - }; - - static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> range_data[] = { - { prop_name_table+0, prop_name_table+3, }, // any - { prop_name_table+3, prop_name_table+8, }, // ascii - { prop_name_table+8, prop_name_table+16, }, // assigned - { prop_name_table+16, prop_name_table+18, }, // c* - { prop_name_table+18, prop_name_table+20, }, // cc - { prop_name_table+20, prop_name_table+22, }, // cf - { prop_name_table+22, prop_name_table+38, }, // closepunctuation - { prop_name_table+38, prop_name_table+40, }, // cn - { prop_name_table+40, prop_name_table+42, }, // co - { prop_name_table+42, prop_name_table+62, }, // connectorpunctuation - { prop_name_table+62, prop_name_table+69, }, // control - { prop_name_table+69, prop_name_table+71, }, // cs - { prop_name_table+71, prop_name_table+85, }, // currencysymbol - { prop_name_table+85, prop_name_table+100, }, // dashpunctuation - { prop_name_table+100, prop_name_table+118, }, // decimaldigitnumber - { prop_name_table+118, prop_name_table+131, }, // enclosingmark - { prop_name_table+131, prop_name_table+147, }, // finalpunctuation - { prop_name_table+147, prop_name_table+153, }, // format - { prop_name_table+153, prop_name_table+171, }, // initialpunctuation - { prop_name_table+171, prop_name_table+173, }, // l* - { prop_name_table+173, prop_name_table+179, }, // letter - { prop_name_table+179, prop_name_table+191, }, // letternumber - { prop_name_table+191, prop_name_table+204, }, // lineseparator - { prop_name_table+204, prop_name_table+206, }, // ll - { prop_name_table+206, prop_name_table+208, }, // lm - { prop_name_table+208, prop_name_table+210, }, // lo - { prop_name_table+210, prop_name_table+225, }, // lowercaseletter - { prop_name_table+225, prop_name_table+227, }, // lt - { prop_name_table+227, prop_name_table+229, }, // lu - { prop_name_table+229, prop_name_table+231, }, // m* - { prop_name_table+231, prop_name_table+235, }, // mark - { prop_name_table+235, prop_name_table+245, }, // mathsymbol - { prop_name_table+245, prop_name_table+247, }, // mc - { prop_name_table+247, prop_name_table+249, }, // me - { prop_name_table+249, prop_name_table+251, }, // mn - { prop_name_table+251, prop_name_table+265, }, // modifierletter - { prop_name_table+265, prop_name_table+279, }, // modifiersymbol - { prop_name_table+279, prop_name_table+281, }, // n* - { prop_name_table+281, prop_name_table+283, }, // nd - { prop_name_table+283, prop_name_table+285, }, // nl - { prop_name_table+285, prop_name_table+287, }, // no - { prop_name_table+287, prop_name_table+301, }, // nonspacingmark - { prop_name_table+301, prop_name_table+312, }, // notassigned - { prop_name_table+312, prop_name_table+318, }, // number - { prop_name_table+318, prop_name_table+333, }, // openpunctuation - { prop_name_table+333, prop_name_table+338, }, // other - { prop_name_table+338, prop_name_table+349, }, // otherletter - { prop_name_table+349, prop_name_table+360, }, // othernumber - { prop_name_table+360, prop_name_table+376, }, // otherpunctuation - { prop_name_table+376, prop_name_table+387, }, // othersymbol - { prop_name_table+387, prop_name_table+389, }, // p* - { prop_name_table+389, prop_name_table+407, }, // paragraphseparator - { prop_name_table+407, prop_name_table+409, }, // pc - { prop_name_table+409, prop_name_table+411, }, // pd - { prop_name_table+411, prop_name_table+413, }, // pe - { prop_name_table+413, prop_name_table+415, }, // pf - { prop_name_table+415, prop_name_table+417, }, // pi - { prop_name_table+417, prop_name_table+419, }, // po - { prop_name_table+419, prop_name_table+429, }, // privateuse - { prop_name_table+429, prop_name_table+431, }, // ps - { prop_name_table+431, prop_name_table+442, }, // punctuation - { prop_name_table+442, prop_name_table+444, }, // s* - { prop_name_table+444, prop_name_table+446, }, // sc - { prop_name_table+446, prop_name_table+455, }, // separator - { prop_name_table+455, prop_name_table+457, }, // sk - { prop_name_table+457, prop_name_table+459, }, // sm - { prop_name_table+459, prop_name_table+461, }, // so - { prop_name_table+461, prop_name_table+475, }, // spaceseparator - { prop_name_table+475, prop_name_table+495, }, // spacingcombiningmark - { prop_name_table+495, prop_name_table+504, }, // surrogate - { prop_name_table+504, prop_name_table+510, }, // symbol - { prop_name_table+510, prop_name_table+519, }, // titlecase - { prop_name_table+519, prop_name_table+534, }, // titlecaseletter - { prop_name_table+534, prop_name_table+549, }, // uppercaseletter - { prop_name_table+549, prop_name_table+551, }, // z* - { prop_name_table+551, prop_name_table+553, }, // zl - { prop_name_table+553, prop_name_table+555, }, // zp - { prop_name_table+555, prop_name_table+557, }, // zs - }; - - static const icu_regex_traits::char_class_type icu_class_map[] = { - icu_regex_traits::mask_any, // any - icu_regex_traits::mask_ascii, // ascii - (0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned - U_GC_C_MASK, // c* - U_GC_CC_MASK, // cc - U_GC_CF_MASK, // cf - U_GC_PE_MASK, // closepunctuation - U_GC_CN_MASK, // cn - U_GC_CO_MASK, // co - U_GC_PC_MASK, // connectorpunctuation - U_GC_CC_MASK, // control - U_GC_CS_MASK, // cs - U_GC_SC_MASK, // currencysymbol - U_GC_PD_MASK, // dashpunctuation - U_GC_ND_MASK, // decimaldigitnumber - U_GC_ME_MASK, // enclosingmark - U_GC_PF_MASK, // finalpunctuation - U_GC_CF_MASK, // format - U_GC_PI_MASK, // initialpunctuation - U_GC_L_MASK, // l* - U_GC_L_MASK, // letter - U_GC_NL_MASK, // letternumber - U_GC_ZL_MASK, // lineseparator - U_GC_LL_MASK, // ll - U_GC_LM_MASK, // lm - U_GC_LO_MASK, // lo - U_GC_LL_MASK, // lowercaseletter - U_GC_LT_MASK, // lt - U_GC_LU_MASK, // lu - U_GC_M_MASK, // m* - U_GC_M_MASK, // mark - U_GC_SM_MASK, // mathsymbol - U_GC_MC_MASK, // mc - U_GC_ME_MASK, // me - U_GC_MN_MASK, // mn - U_GC_LM_MASK, // modifierletter - U_GC_SK_MASK, // modifiersymbol - U_GC_N_MASK, // n* - U_GC_ND_MASK, // nd - U_GC_NL_MASK, // nl - U_GC_NO_MASK, // no - U_GC_MN_MASK, // nonspacingmark - U_GC_CN_MASK, // notassigned - U_GC_N_MASK, // number - U_GC_PS_MASK, // openpunctuation - U_GC_C_MASK, // other - U_GC_LO_MASK, // otherletter - U_GC_NO_MASK, // othernumber - U_GC_PO_MASK, // otherpunctuation - U_GC_SO_MASK, // othersymbol - U_GC_P_MASK, // p* - U_GC_ZP_MASK, // paragraphseparator - U_GC_PC_MASK, // pc - U_GC_PD_MASK, // pd - U_GC_PE_MASK, // pe - U_GC_PF_MASK, // pf - U_GC_PI_MASK, // pi - U_GC_PO_MASK, // po - U_GC_CO_MASK, // privateuse - U_GC_PS_MASK, // ps - U_GC_P_MASK, // punctuation - U_GC_S_MASK, // s* - U_GC_SC_MASK, // sc - U_GC_Z_MASK, // separator - U_GC_SK_MASK, // sk - U_GC_SM_MASK, // sm - U_GC_SO_MASK, // so - U_GC_ZS_MASK, // spaceseparator - U_GC_MC_MASK, // spacingcombiningmark - U_GC_CS_MASK, // surrogate - U_GC_S_MASK, // symbol - U_GC_LT_MASK, // titlecase - U_GC_LT_MASK, // titlecaseletter - U_GC_LU_MASK, // uppercaseletter - U_GC_Z_MASK, // z* - U_GC_ZL_MASK, // zl - U_GC_ZP_MASK, // zp - U_GC_ZS_MASK, // zs - }; - - - static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_begin = range_data; - static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data)/sizeof(range_data[0])); - - BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> t = { p1, p2, }; - const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t); - if((p != ranges_end) && (t == *p)) - return icu_class_map[p - ranges_begin]; - return 0; -} - -icu_regex_traits::char_class_type icu_regex_traits::lookup_classname(const char_type* p1, const char_type* p2) const -{ - static const char_class_type masks[] = - { - 0, - U_GC_L_MASK | U_GC_ND_MASK, - U_GC_L_MASK, - mask_blank, - U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK, - U_GC_ND_MASK, - U_GC_ND_MASK, - (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK), - mask_horizontal, - U_GC_LL_MASK, - U_GC_LL_MASK, - ~(U_GC_C_MASK), - U_GC_P_MASK, - char_class_type(U_GC_Z_MASK) | mask_space, - char_class_type(U_GC_Z_MASK) | mask_space, - U_GC_LU_MASK, - mask_unicode, - U_GC_LU_MASK, - mask_vertical, - char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, - char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, - char_class_type(U_GC_ND_MASK) | mask_xdigit, - }; - - int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); - if(idx >= 0) - return masks[idx+1]; - char_class_type result = lookup_icu_mask(p1, p2); - if(result != 0) - return result; - - if(idx < 0) - { - string_type s(p1, p2); - string_type::size_type i = 0; - while(i < s.size()) - { - s[i] = static_cast((::u_tolower)(s[i])); - if(::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_')) - s.erase(s.begin()+i, s.begin()+i+1); - else - { - s[i] = static_cast((::u_tolower)(s[i])); - ++i; - } - } - if(s.size()) - idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); - if(idx >= 0) - return masks[idx+1]; - if(s.size()) - result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size()); - if(result != 0) - return result; - } - BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0])); - return masks[idx+1]; -} - -icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const -{ - string_type result; -#ifdef BOOST_NO_CXX98_BINDERS - if(std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2) -#else - if(std::find_if(p1, p2, std::bind2nd(std::greater< ::UChar32>(), 0x7f)) == p2) -#endif - { -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - std::string s(p1, p2); -#else - std::string s; - const char_type* p3 = p1; - while(p3 != p2) - s.append(1, *p3++); -#endif - // Try Unicode name: - UErrorCode err = U_ZERO_ERROR; - UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err); - if(U_SUCCESS(err)) - { - result.push_back(c); - return result; - } - // Try Unicode-extended name: - err = U_ZERO_ERROR; - c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err); - if(U_SUCCESS(err)) - { - result.push_back(c); - return result; - } - // try POSIX name: - s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); -#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS - result.assign(s.begin(), s.end()); -#else - result.clear(); - std::string::const_iterator si, sj; - si = s.begin(); - sj = s.end(); - while(si != sj) - result.push_back(*si++); -#endif - } - if(result.empty() && (p2-p1 == 1)) - result.push_back(*p1); - return result; -} - -bool icu_regex_traits::isctype(char_type c, char_class_type f) const -{ - // check for standard catagories first: - char_class_type m = char_class_type(static_cast(1) << u_charType(c)); - if((m & f) != 0) - return true; - // now check for special cases: - if(((f & mask_blank) != 0) && u_isblank(c)) - return true; - if(((f & mask_space) != 0) && u_isspace(c)) - return true; - if(((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0)) - return true; - if(((f & mask_unicode) != 0) && (c >= 0x100)) - return true; - if(((f & mask_underscore) != 0) && (c == '_')) - return true; - if(((f & mask_any) != 0) && (c <= 0x10FFFF)) - return true; - if(((f & mask_ascii) != 0) && (c <= 0x7F)) - return true; - if(((f & mask_vertical) != 0) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == static_cast('\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK))) - return true; - if(((f & mask_horizontal) != 0) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && u_isspace(c) && (c != static_cast('\v'))) - return true; - return false; -} - -} - -#endif // BOOST_HAS_ICU diff --git a/src/instances.cpp b/src/instances.cpp deleted file mode 100644 index 69d72ad6e..000000000 --- a/src/instances.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: instances.cpp - * VERSION: see - * DESCRIPTION: regex narrow character template instances. - */ - -#define BOOST_REGEX_SOURCE - -#include - -#if !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) -#define BOOST_REGEX_NARROW_INSTANTIATE - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif - -#include - -#endif diff --git a/src/internals.hpp b/src/internals.hpp deleted file mode 100644 index 3a15cc67c..000000000 --- a/src/internals.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * Copyright (c) 2011 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - -#ifndef BOOST_REGEX_SRC_INTERNALS_HPP -#define BOOST_REGEX_SRC_INTERNALS_HPP - -enum -{ - char_class_space=1<<0, - char_class_print=1<<1, - char_class_cntrl=1<<2, - char_class_upper=1<<3, - char_class_lower=1<<4, - char_class_alpha=1<<5, - char_class_digit=1<<6, - char_class_punct=1<<7, - char_class_xdigit=1<<8, - char_class_alnum=char_class_alpha|char_class_digit, - char_class_graph=char_class_alnum|char_class_punct, - char_class_blank=1<<9, - char_class_word=1<<10, - char_class_unicode=1<<11, - char_class_horizontal=1<<12, - char_class_vertical=1<<13 -}; - -#endif // BOOST_REGEX_SRC_INTERNALS_HPP diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 1531d948a..e30f9d8e1 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -18,19 +18,19 @@ #define BOOST_REGEX_SOURCE -#include -#include #include #include +#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::sprintf; - using ::strcpy; - using ::strcmp; -} +#ifndef BOOST_WORKAROUND +#define BOOST_WORKAROUND(x, y) false #endif +#ifndef BOOST_REGEX_STANDALONE +#include +#else +namespace boost { namespace core { using std::snprintf; } } +#endif namespace boost{ @@ -66,6 +66,10 @@ const char* names[] = { typedef boost::basic_regex > c_regex_type; +#ifdef BOOST_MSVC +# pragma warning(push) +#pragma warning(disable:26812) +#endif BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f) { #ifndef BOOST_NO_EXCEPTIONS @@ -83,7 +87,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char return REG_E_MEMORY; #endif // set default flags: - boost::uint_fast32_t flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? regex::extended : regex::basic); + unsigned flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? regex::extended : regex::basic); expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default; // and translate those that are actually set: @@ -140,6 +144,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char return result; } +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* e, char* buf, regsize_t buf_size) { @@ -169,11 +176,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* // We're converting an integer i to a string, and since i <= REG_E_UNKNOWN // a five character string is *always* large enough: // -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - int r = (::sprintf_s)(localbuf, 5, "%d", i); -#else - int r = (std::sprintf)(localbuf, "%d", i); -#endif + int r = (boost::core::snprintf)(localbuf, 5, "%d", i); if(r < 0) return 0; // sprintf failed if(std::strlen(localbuf) < buf_size) @@ -181,11 +184,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* return std::strlen(localbuf) + 1; } } -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - int r = (::sprintf_s)(localbuf, 5, "%d", 0); -#else - int r = (std::sprintf)(localbuf, "%d", 0); -#endif + int r = (boost::core::snprintf)(localbuf, 5, "%d", 0); if(r < 0) return 0; // sprintf failed if(std::strlen(localbuf) < buf_size) @@ -262,8 +261,8 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, cons std::size_t i; for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i) { - array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf); - array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf); + array[i].rm_so = m[i].matched ? (m[i].first - buf) : -1; + array[i].rm_eo = m[i].matched ? (m[i].second - buf) : -1; } // and set anything else to -1: for(i = expression->re_nsub + 1; i < n; ++i) @@ -289,7 +288,3 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression) } } // namespace boost - - - - diff --git a/src/regex.cpp b/src/regex.cpp deleted file mode 100644 index 5a8bbdc04..000000000 --- a/src/regex.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/* - * - * Copyright (c) 1998-2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: regex.cpp - * VERSION: see - * DESCRIPTION: Misc boost::regbase member funnctions. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include -#include - -#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300) -# include -#endif -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD -#ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif -#ifndef NOMINMAX -# define NOMINMAX -#endif -#define NOGDI -#define NOUSER -#include -#endif - -#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3) -#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0 -#include -#else -#include -#endif -#endif - -#ifdef BOOST_INTEL -#pragma warning(disable:383) -#endif - -namespace boost{ - -// -// fix: these are declared out of line here to ensure -// that dll builds contain the Virtual table for these -// types - this ensures that exceptions can be thrown -// from the dll and caught in an exe. -regex_error::regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos) - : std::runtime_error(s) - , m_error_code(err) - , m_position(pos) -{ -} - -regex_error::regex_error(regex_constants::error_type err) - : std::runtime_error(::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(err)) - , m_error_code(err) - , m_position(0) -{ -} - -regex_error::~regex_error() throw() -{ -} - -void regex_error::raise()const -{ -#ifndef BOOST_NO_EXCEPTIONS - ::boost::throw_exception(*this); -#endif -} - - - -namespace BOOST_REGEX_DETAIL_NS{ - -BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex) -{ - ::boost::throw_exception(ex); -} -// -// error checking API: -// -BOOST_REGEX_DECL void BOOST_REGEX_CALL verify_options(boost::regex::flag_type /*ef*/, match_flag_type mf) -{ -#ifndef BOOST_REGEX_V3 - // - // can't mix match_extra with POSIX matching rules: - // - if((mf & match_extra) && (mf & match_posix)) - { - std::logic_error msg("Usage Error: Can't mix regular expression captures with POSIX matching rules"); - throw_exception(msg); - } -#endif -} - -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - -static void execute_eror() -{ - // we only get here after a stack overflow, - // this has to be a separate proceedure because we - // can't mix __try{}__except block with local objects - // that have destructors: - reset_stack_guard_page(); - std::runtime_error err("Out of stack space, while attempting to match a regular expression."); - raise_runtime_error(err); -} - -bool BOOST_REGEX_CALL abstract_protected_call::execute()const -{ - __try{ - return this->call(); - }__except(EXCEPTION_STACK_OVERFLOW == GetExceptionCode()) - { - execute_eror(); - } - // We never really get here at all: - return false; -} - -BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page() -{ -#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300) - _resetstkoflw(); -#else - // - // We need to locate the current page being used by the stack, - // move to the page below it and then deallocate and protect - // that page. Note that ideally we would protect only the lowest - // stack page that has been allocated: in practice there - // seems to be no easy way to locate this page, in any case as - // long as the next page is protected, then Windows will figure - // the rest out for us... - // - SYSTEM_INFO si; - GetSystemInfo(&si); - MEMORY_BASIC_INFORMATION mi; - DWORD previous_protection_status; - // - // this is an address in our stack space: - // - LPBYTE page = (LPBYTE)&page; - // - // Get the current memory page in use: - // - VirtualQuery(page, &mi, sizeof(mi)); - // - // Go to the page one below this: - // - page = (LPBYTE)(mi.BaseAddress)-si.dwPageSize; - // - // Free and protect everything from the start of the - // allocation range, to the end of the page below the - // one in use: - // - if (!VirtualFree(mi.AllocationBase, (LPBYTE)page - (LPBYTE)mi.AllocationBase, MEM_DECOMMIT) - || !VirtualProtect(page, si.dwPageSize, PAGE_GUARD | PAGE_READWRITE, &previous_protection_status)) - { - throw std::bad_exception(); - } -#endif -} -#endif - -#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3) - -#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0 - -BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block() -{ - return ::operator new(BOOST_REGEX_BLOCKSIZE); -} - -BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p) -{ - ::operator delete(p); -} - -#else - -#if defined(BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE) -mem_block_cache block_cache = { { {nullptr} } } ; -#elif defined(BOOST_HAS_THREADS) -mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; -#else -mem_block_cache block_cache = { 0, 0, }; -#endif - -BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block() -{ - return block_cache.get(); -} - -BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p) -{ - block_cache.put(p); -} - -#endif - -#endif - -} // namespace BOOST_REGEX_DETAIL_NS - - - -} // namespace boost - -#if defined(BOOST_RE_USE_VCL) && defined(BOOST_REGEX_DYN_LINK) - -int WINAPI DllEntryPoint(HINSTANCE , unsigned long , void*) -{ - return 1; -} -#endif - diff --git a/src/regex_debug.cpp b/src/regex_debug.cpp deleted file mode 100644 index 9306a82e7..000000000 --- a/src/regex_debug.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * - * Copyright (c) 1998-2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: regex_debug.cpp - * VERSION: see - * DESCRIPTION: Misc. debugging helpers. - */ - - -#define BOOST_REGEX_SOURCE - -#include - - -// -// regex configuration information: this prints out the settings used -// when the library was built - include in debugging builds only: -// -#ifdef BOOST_REGEX_CONFIG_INFO - -#define print_macro regex_lib_print_macro -#define print_expression regex_lib_print_expression -#define print_byte_order regex_lib_print_byte_order -#define print_sign regex_lib_print_sign -#define print_compiler_macros regex_lib_print_compiler_macros -#define print_stdlib_macros regex_lib_print_stdlib_macros -#define print_platform_macros regex_lib_print_platform_macros -#define print_boost_macros regex_lib_print_boost_macros -#define print_separator regex_lib_print_separator -#define OLD_MAIN regex_lib_main -#define NEW_MAIN regex_lib_main2 -#define NO_RECURSE - -#include - -BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info() -{ - std::cout << "\n\n"; - print_separator(); - std::cout << "Regex library build configuration:\n\n"; - regex_lib_main2(); -} - -#endif - - - - - diff --git a/src/regex_raw_buffer.cpp b/src/regex_raw_buffer.cpp deleted file mode 100644 index bb4922977..000000000 --- a/src/regex_raw_buffer.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_raw_buffer.cpp - * VERSION see - * DESCRIPTION: Member functions for class raw_storage. - */ - - -#define BOOST_REGEX_SOURCE -#include -#include -#include -#include -#include - -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::memcpy; - using ::memmove; -} -#endif - - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -void BOOST_REGEX_CALL raw_storage::resize(size_type n) -{ - size_type newsize = start ? last - start : 1024; - while(newsize < n) - newsize *= 2; - size_type datasize = end - start; - // extend newsize to WORD/DWORD boundary: - newsize = (newsize + padding_mask) & ~(padding_mask); - - // allocate and copy data: - pointer ptr = static_cast(::operator new(newsize)); - BOOST_REGEX_NOEH_ASSERT(ptr) - if(start) - std::memcpy(ptr, start, datasize); - - // get rid of old buffer: - ::operator delete(start); - - // and set up pointers: - start = ptr; - end = ptr + datasize; - last = ptr + newsize; -} - -void* BOOST_REGEX_CALL raw_storage::insert(size_type pos, size_type n) -{ - BOOST_ASSERT(pos <= size_type(end - start)); - if(size_type(last - end) < n) - resize(n + (end - start)); - void* result = start + pos; - std::memmove(start + pos + n, start + pos, (end - start) - pos); - end += n; - return result; -} - -}} // namespaces diff --git a/src/regex_traits_defaults.cpp b/src/regex_traits_defaults.cpp deleted file mode 100644 index 0b66c68dc..000000000 --- a/src/regex_traits_defaults.cpp +++ /dev/null @@ -1,692 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits_defaults.cpp - * VERSION see - * DESCRIPTION: Declares API's for access to regex_traits default properties. - */ - -#define BOOST_REGEX_SOURCE -#include - -#include -#ifndef BOOST_NO_WREGEX -#include -#endif - -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::tolower; - using ::toupper; -#ifndef BOOST_NO_WREGEX - using ::towlower; - using ::towupper; -#endif -} -#endif - - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_syntax(regex_constants::syntax_type n) -{ - // if the user hasn't supplied a message catalog, then this supplies - // default "messages" for us to load in the range 1-100. - const char* messages[] = { - "", - "(", - ")", - "$", - "^", - ".", - "*", - "+", - "?", - "[", - "]", - "|", - "\\", - "#", - "-", - "{", - "}", - "0123456789", - "b", - "B", - "<", - ">", - "", - "", - "A`", - "z'", - "\n", - ",", - "a", - "f", - "n", - "r", - "t", - "v", - "x", - "c", - ":", - "=", - "e", - "", - "", - "", - "", - "", - "", - "", - "", - "E", - "Q", - "X", - "C", - "Z", - "G", - "!", - "p", - "P", - "N", - "gk", - "K", - "R", - }; - - return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? "" : messages[n]); -} - -BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_error_string(regex_constants::error_type n) -{ - static const char* const s_default_error_messages[] = { - "Success", /* REG_NOERROR 0 error_ok */ - "No match", /* REG_NOMATCH 1 error_no_match */ - "Invalid regular expression.", /* REG_BADPAT 2 error_bad_pattern */ - "Invalid collation character.", /* REG_ECOLLATE 3 error_collate */ - "Invalid character class name, collating name, or character range.", /* REG_ECTYPE 4 error_ctype */ - "Invalid or unterminated escape sequence.", /* REG_EESCAPE 5 error_escape */ - "Invalid back reference: specified capturing group does not exist.", /* REG_ESUBREG 6 error_backref */ - "Unmatched [ or [^ in character class declaration.", /* REG_EBRACK 7 error_brack */ - "Unmatched marking parenthesis ( or \\(.", /* REG_EPAREN 8 error_paren */ - "Unmatched quantified repeat operator { or \\{.", /* REG_EBRACE 9 error_brace */ - "Invalid content of repeat range.", /* REG_BADBR 10 error_badbrace */ - "Invalid range end in character class", /* REG_ERANGE 11 error_range */ - "Out of memory.", /* REG_ESPACE 12 error_space NOT USED */ - "Invalid preceding regular expression prior to repetition operator.", /* REG_BADRPT 13 error_badrepeat */ - "Premature end of regular expression", /* REG_EEND 14 error_end NOT USED */ - "Regular expression is too large.", /* REG_ESIZE 15 error_size NOT USED */ - "Unmatched ) or \\)", /* REG_ERPAREN 16 error_right_paren NOT USED */ - "Empty regular expression.", /* REG_EMPTY 17 error_empty */ - "The complexity of matching the regular expression exceeded predefined bounds. " - "Try refactoring the regular expression to make each choice made by the state machine unambiguous. " - "This exception is thrown to prevent \"eternal\" matches that take an " - "indefinite period time to locate.", /* REG_ECOMPLEXITY 18 error_complexity */ - "Ran out of stack space trying to match the regular expression.", /* REG_ESTACK 19 error_stack */ - "Invalid or unterminated Perl (?...) sequence.", /* REG_E_PERL 20 error_perl */ - "Unknown error.", /* REG_E_UNKNOWN 21 error_unknown */ - }; - - return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[ ::boost::regex_constants::error_unknown] : s_default_error_messages[n]; -} - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining_implementation(boost::uint_least16_t c) -{ - const boost::uint_least16_t combining_ranges[] = { 0x0300, 0x0361, - 0x0483, 0x0486, - 0x0903, 0x0903, - 0x093E, 0x0940, - 0x0949, 0x094C, - 0x0982, 0x0983, - 0x09BE, 0x09C0, - 0x09C7, 0x09CC, - 0x09D7, 0x09D7, - 0x0A3E, 0x0A40, - 0x0A83, 0x0A83, - 0x0ABE, 0x0AC0, - 0x0AC9, 0x0ACC, - 0x0B02, 0x0B03, - 0x0B3E, 0x0B3E, - 0x0B40, 0x0B40, - 0x0B47, 0x0B4C, - 0x0B57, 0x0B57, - 0x0B83, 0x0B83, - 0x0BBE, 0x0BBF, - 0x0BC1, 0x0BCC, - 0x0BD7, 0x0BD7, - 0x0C01, 0x0C03, - 0x0C41, 0x0C44, - 0x0C82, 0x0C83, - 0x0CBE, 0x0CBE, - 0x0CC0, 0x0CC4, - 0x0CC7, 0x0CCB, - 0x0CD5, 0x0CD6, - 0x0D02, 0x0D03, - 0x0D3E, 0x0D40, - 0x0D46, 0x0D4C, - 0x0D57, 0x0D57, - 0x0F7F, 0x0F7F, - 0x20D0, 0x20E1, - 0x3099, 0x309A, - 0xFE20, 0xFE23, - 0xffff, 0xffff, }; - - const boost::uint_least16_t* p = combining_ranges + 1; - while(*p < c) p += 2; - --p; - if((c >= *p) && (c <= *(p+1))) - return true; - return false; -} - -// -// these are the POSIX collating names: -// -BOOST_REGEX_DECL const char* def_coll_names[] = { -"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", -"vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", -"SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", -"quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", -"left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", -"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", -"colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", -"question-mark", "commercial-at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", -"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "left-square-bracket", "backslash", -"right-square-bracket", "circumflex", "underscore", "grave-accent", "a", "b", "c", "d", "e", "f", -"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "left-curly-bracket", -"vertical-line", "right-curly-bracket", "tilde", "DEL", "", -}; - -// these multi-character collating elements -// should keep most Western-European locales -// happy - we should really localise these a -// little more - but this will have to do for -// now: - -BOOST_REGEX_DECL const char* def_multi_coll[] = { - "ae", - "Ae", - "AE", - "ch", - "Ch", - "CH", - "ll", - "Ll", - "LL", - "ss", - "Ss", - "SS", - "nj", - "Nj", - "NJ", - "dz", - "Dz", - "DZ", - "lj", - "Lj", - "LJ", - "", -}; - - - -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name) -{ - unsigned int i = 0; - while(*def_coll_names[i]) - { - if(def_coll_names[i] == name) - { - return std::string(1, char(i)); - } - ++i; - } - i = 0; - while(*def_multi_coll[i]) - { - if(def_multi_coll[i] == name) - { - return def_multi_coll[i]; - } - ++i; - } - return std::string(); -} - -BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_lower(char c) -{ - return static_cast((std::tolower)((unsigned char)c)); -} - -BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_upper(char c) -{ - return static_cast((std::toupper)((unsigned char)c)); -} -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_lower(wchar_t c) -{ - return (std::towlower)(c); -} - -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_upper(wchar_t c) -{ - return (std::towupper)(c); -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_lower(unsigned short c) -{ - return (std::towlower)(c); -} - -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_upper(unsigned short c) -{ - return (std::towupper)(c); -} -#endif - -#endif - -BOOST_REGEX_DECL regex_constants::escape_syntax_type BOOST_REGEX_CALL get_default_escape_syntax_type(char c) -{ - // - // char_syntax determines how the compiler treats a given character - // in a regular expression. - // - static regex_constants::escape_syntax_type char_syntax[] = { - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /* */ // 32 - regex_constants::escape_type_identity, /*!*/ - regex_constants::escape_type_identity, /*"*/ - regex_constants::escape_type_identity, /*#*/ - regex_constants::escape_type_identity, /*$*/ - regex_constants::escape_type_identity, /*%*/ - regex_constants::escape_type_identity, /*&*/ - regex_constants::escape_type_end_buffer, /*'*/ - regex_constants::syntax_open_mark, /*(*/ - regex_constants::syntax_close_mark, /*)*/ - regex_constants::escape_type_identity, /***/ - regex_constants::syntax_plus, /*+*/ - regex_constants::escape_type_identity, /*,*/ - regex_constants::escape_type_identity, /*-*/ - regex_constants::escape_type_identity, /*.*/ - regex_constants::escape_type_identity, /*/*/ - regex_constants::escape_type_decimal, /*0*/ - regex_constants::escape_type_backref, /*1*/ - regex_constants::escape_type_backref, /*2*/ - regex_constants::escape_type_backref, /*3*/ - regex_constants::escape_type_backref, /*4*/ - regex_constants::escape_type_backref, /*5*/ - regex_constants::escape_type_backref, /*6*/ - regex_constants::escape_type_backref, /*7*/ - regex_constants::escape_type_backref, /*8*/ - regex_constants::escape_type_backref, /*9*/ - regex_constants::escape_type_identity, /*:*/ - regex_constants::escape_type_identity, /*;*/ - regex_constants::escape_type_left_word, /*<*/ - regex_constants::escape_type_identity, /*=*/ - regex_constants::escape_type_right_word, /*>*/ - regex_constants::syntax_question, /*?*/ - regex_constants::escape_type_identity, /*@*/ - regex_constants::escape_type_start_buffer, /*A*/ - regex_constants::escape_type_not_word_assert, /*B*/ - regex_constants::escape_type_C, /*C*/ - regex_constants::escape_type_not_class, /*D*/ - regex_constants::escape_type_E, /*E*/ - regex_constants::escape_type_not_class, /*F*/ - regex_constants::escape_type_G, /*G*/ - regex_constants::escape_type_not_class, /*H*/ - regex_constants::escape_type_not_class, /*I*/ - regex_constants::escape_type_not_class, /*J*/ - regex_constants::escape_type_reset_start_mark, /*K*/ - regex_constants::escape_type_not_class, /*L*/ - regex_constants::escape_type_not_class, /*M*/ - regex_constants::escape_type_named_char, /*N*/ - regex_constants::escape_type_not_class, /*O*/ - regex_constants::escape_type_not_property, /*P*/ - regex_constants::escape_type_Q, /*Q*/ - regex_constants::escape_type_line_ending, /*R*/ - regex_constants::escape_type_not_class, /*S*/ - regex_constants::escape_type_not_class, /*T*/ - regex_constants::escape_type_not_class, /*U*/ - regex_constants::escape_type_not_class, /*V*/ - regex_constants::escape_type_not_class, /*W*/ - regex_constants::escape_type_X, /*X*/ - regex_constants::escape_type_not_class, /*Y*/ - regex_constants::escape_type_Z, /*Z*/ - regex_constants::escape_type_identity, /*[*/ - regex_constants::escape_type_identity, /*\*/ - regex_constants::escape_type_identity, /*]*/ - regex_constants::escape_type_identity, /*^*/ - regex_constants::escape_type_identity, /*_*/ - regex_constants::escape_type_start_buffer, /*`*/ - regex_constants::escape_type_control_a, /*a*/ - regex_constants::escape_type_word_assert, /*b*/ - regex_constants::escape_type_ascii_control, /*c*/ - regex_constants::escape_type_class, /*d*/ - regex_constants::escape_type_e, /*e*/ - regex_constants::escape_type_control_f, /*f*/ - regex_constants::escape_type_extended_backref, /*g*/ - regex_constants::escape_type_class, /*h*/ - regex_constants::escape_type_class, /*i*/ - regex_constants::escape_type_class, /*j*/ - regex_constants::escape_type_extended_backref, /*k*/ - regex_constants::escape_type_class, /*l*/ - regex_constants::escape_type_class, /*m*/ - regex_constants::escape_type_control_n, /*n*/ - regex_constants::escape_type_class, /*o*/ - regex_constants::escape_type_property, /*p*/ - regex_constants::escape_type_class, /*q*/ - regex_constants::escape_type_control_r, /*r*/ - regex_constants::escape_type_class, /*s*/ - regex_constants::escape_type_control_t, /*t*/ - regex_constants::escape_type_class, /*u*/ - regex_constants::escape_type_control_v, /*v*/ - regex_constants::escape_type_class, /*w*/ - regex_constants::escape_type_hex, /*x*/ - regex_constants::escape_type_class, /*y*/ - regex_constants::escape_type_end_buffer, /*z*/ - regex_constants::syntax_open_brace, /*{*/ - regex_constants::syntax_or, /*|*/ - regex_constants::syntax_close_brace, /*}*/ - regex_constants::escape_type_identity, /*~*/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - regex_constants::escape_type_identity, /**/ - }; - - return char_syntax[(unsigned char)c]; -} - -BOOST_REGEX_DECL regex_constants::syntax_type BOOST_REGEX_CALL get_default_syntax_type(char c) -{ - // - // char_syntax determines how the compiler treats a given character - // in a regular expression. - // - static regex_constants::syntax_type char_syntax[] = { - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_newline, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /* */ // 32 - regex_constants::syntax_not, /*!*/ - regex_constants::syntax_char, /*"*/ - regex_constants::syntax_hash, /*#*/ - regex_constants::syntax_dollar, /*$*/ - regex_constants::syntax_char, /*%*/ - regex_constants::syntax_char, /*&*/ - regex_constants::escape_type_end_buffer, /*'*/ - regex_constants::syntax_open_mark, /*(*/ - regex_constants::syntax_close_mark, /*)*/ - regex_constants::syntax_star, /***/ - regex_constants::syntax_plus, /*+*/ - regex_constants::syntax_comma, /*,*/ - regex_constants::syntax_dash, /*-*/ - regex_constants::syntax_dot, /*.*/ - regex_constants::syntax_char, /*/*/ - regex_constants::syntax_digit, /*0*/ - regex_constants::syntax_digit, /*1*/ - regex_constants::syntax_digit, /*2*/ - regex_constants::syntax_digit, /*3*/ - regex_constants::syntax_digit, /*4*/ - regex_constants::syntax_digit, /*5*/ - regex_constants::syntax_digit, /*6*/ - regex_constants::syntax_digit, /*7*/ - regex_constants::syntax_digit, /*8*/ - regex_constants::syntax_digit, /*9*/ - regex_constants::syntax_colon, /*:*/ - regex_constants::syntax_char, /*;*/ - regex_constants::escape_type_left_word, /*<*/ - regex_constants::syntax_equal, /*=*/ - regex_constants::escape_type_right_word, /*>*/ - regex_constants::syntax_question, /*?*/ - regex_constants::syntax_char, /*@*/ - regex_constants::syntax_char, /*A*/ - regex_constants::syntax_char, /*B*/ - regex_constants::syntax_char, /*C*/ - regex_constants::syntax_char, /*D*/ - regex_constants::syntax_char, /*E*/ - regex_constants::syntax_char, /*F*/ - regex_constants::syntax_char, /*G*/ - regex_constants::syntax_char, /*H*/ - regex_constants::syntax_char, /*I*/ - regex_constants::syntax_char, /*J*/ - regex_constants::syntax_char, /*K*/ - regex_constants::syntax_char, /*L*/ - regex_constants::syntax_char, /*M*/ - regex_constants::syntax_char, /*N*/ - regex_constants::syntax_char, /*O*/ - regex_constants::syntax_char, /*P*/ - regex_constants::syntax_char, /*Q*/ - regex_constants::syntax_char, /*R*/ - regex_constants::syntax_char, /*S*/ - regex_constants::syntax_char, /*T*/ - regex_constants::syntax_char, /*U*/ - regex_constants::syntax_char, /*V*/ - regex_constants::syntax_char, /*W*/ - regex_constants::syntax_char, /*X*/ - regex_constants::syntax_char, /*Y*/ - regex_constants::syntax_char, /*Z*/ - regex_constants::syntax_open_set, /*[*/ - regex_constants::syntax_escape, /*\*/ - regex_constants::syntax_close_set, /*]*/ - regex_constants::syntax_caret, /*^*/ - regex_constants::syntax_char, /*_*/ - regex_constants::syntax_char, /*`*/ - regex_constants::syntax_char, /*a*/ - regex_constants::syntax_char, /*b*/ - regex_constants::syntax_char, /*c*/ - regex_constants::syntax_char, /*d*/ - regex_constants::syntax_char, /*e*/ - regex_constants::syntax_char, /*f*/ - regex_constants::syntax_char, /*g*/ - regex_constants::syntax_char, /*h*/ - regex_constants::syntax_char, /*i*/ - regex_constants::syntax_char, /*j*/ - regex_constants::syntax_char, /*k*/ - regex_constants::syntax_char, /*l*/ - regex_constants::syntax_char, /*m*/ - regex_constants::syntax_char, /*n*/ - regex_constants::syntax_char, /*o*/ - regex_constants::syntax_char, /*p*/ - regex_constants::syntax_char, /*q*/ - regex_constants::syntax_char, /*r*/ - regex_constants::syntax_char, /*s*/ - regex_constants::syntax_char, /*t*/ - regex_constants::syntax_char, /*u*/ - regex_constants::syntax_char, /*v*/ - regex_constants::syntax_char, /*w*/ - regex_constants::syntax_char, /*x*/ - regex_constants::syntax_char, /*y*/ - regex_constants::syntax_char, /*z*/ - regex_constants::syntax_open_brace, /*{*/ - regex_constants::syntax_or, /*|*/ - regex_constants::syntax_close_brace, /*}*/ - regex_constants::syntax_char, /*~*/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - regex_constants::syntax_char, /**/ - }; - - return char_syntax[(unsigned char)c]; -} - - -} // BOOST_REGEX_DETAIL_NS -} // boost diff --git a/src/static_mutex.cpp b/src/static_mutex.cpp deleted file mode 100644 index 35dd0c790..000000000 --- a/src/static_mutex.cpp +++ /dev/null @@ -1,185 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE static_mutex.cpp - * VERSION see - * DESCRIPTION: Declares static_mutex lock type. - */ - -#define BOOST_REGEX_SOURCE -#include -#include - -#ifdef BOOST_HAS_THREADS - -#include - -#if defined(BOOST_HAS_WINTHREADS) -#ifndef NOMINMAX -# define NOMINMAX -#endif -#ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif -#include -#include -#endif - - -namespace boost{ - -#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER) - -scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk) -: m_mutex(m), m_have_lock(false) -{ - if(lk) - lock(); -} - -scoped_static_mutex_lock::~scoped_static_mutex_lock() -{ - if(m_have_lock) - unlock(); -} - -void scoped_static_mutex_lock::lock() -{ - if(0 == m_have_lock) - { - // Client code will throw if this fails: - m_have_lock = (pthread_mutex_lock(&(m_mutex.m_mutex)) == 0); - } -} - -void scoped_static_mutex_lock::unlock() -{ - if(m_have_lock) - { - // If this fails there's nothing we can do except assert, - // exceptions are out of the question as this code is called - // from the lock's destructor: - BOOST_VERIFY(pthread_mutex_unlock(&(m_mutex.m_mutex)) == 0); - m_have_lock = false; - } -} - -#elif defined(BOOST_HAS_WINTHREADS) - -BOOST_STATIC_ASSERT(sizeof(LONG) == sizeof(boost::int32_t)); - -scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk) -: m_mutex(m), m_have_lock(false) -{ - if(lk) - lock(); -} - -scoped_static_mutex_lock::~scoped_static_mutex_lock() -{ - if(m_have_lock) - unlock(); -} - -void scoped_static_mutex_lock::lock() -{ - if(0 == m_have_lock) - { -#if !defined(InterlockedCompareExchangePointer) - while(0 != InterlockedCompareExchange(reinterpret_cast((boost::uint_least16_t*)&(m_mutex.m_mutex)), (void*)1, 0)) -#else - while(0 != InterlockedCompareExchange(reinterpret_cast(&(m_mutex.m_mutex)), 1, 0)) -#endif - { - Sleep(0); - } - m_have_lock = true; - } -} - -void scoped_static_mutex_lock::unlock() -{ - if(m_have_lock) - { -#if !defined(InterlockedCompareExchangePointer) - InterlockedExchange((LONG*)&(m_mutex.m_mutex), 0); -#else - InterlockedExchange(reinterpret_cast(&(m_mutex.m_mutex)), 0); -#endif - m_have_lock = false; - } -} - -#else -// -// Portable version of a static mutex based on Boost.Thread library: -// -#include -#include - -boost::recursive_mutex* static_mutex::m_pmutex = 0; -boost::once_flag static_mutex::m_once = BOOST_ONCE_INIT; - -extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex() -{ - delete static_mutex::m_pmutex; - static_mutex::m_pmutex = 0; -} - -void static_mutex::init() -{ - m_pmutex = new boost::recursive_mutex(); - int r = atexit(boost_regex_free_static_mutex); - BOOST_ASSERT(0 == r); -} - -scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& , bool lk) -: m_plock(0), m_have_lock(false) -{ - if(lk) - lock(); -} - -scoped_static_mutex_lock::~scoped_static_mutex_lock() -{ - if(m_have_lock) - unlock(); - delete m_plock; -} - -void scoped_static_mutex_lock::lock() -{ - if(0 == m_have_lock) - { - boost::call_once(static_mutex::m_once,&static_mutex::init); - if(0 == m_plock) - m_plock = new boost::unique_lock(*static_mutex::m_pmutex, boost::defer_lock); - m_plock->lock(); - m_have_lock = true; - } -} - -void scoped_static_mutex_lock::unlock() -{ - if(m_have_lock) - { - m_plock->unlock(); - m_have_lock = false; - } -} - -#endif - -} - -#endif // BOOST_HAS_THREADS diff --git a/src/usinstances.cpp b/src/usinstances.cpp deleted file mode 100644 index 44ebd28df..000000000 --- a/src/usinstances.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: winstances.cpp - * VERSION: see - * DESCRIPTION: regex unsigned short template instances (MSVC only). - */ - -#define BOOST_REGEX_SOURCE -#ifdef _MSC_VER -#pragma warning(disable:4506) // 'no definition for inline function' -#endif - -#include -#include -#include - -#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) && defined(_NATIVE_WCHAR_T_DEFINED) \ - && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))\ - && BOOST_WORKAROUND(BOOST_MSVC, <1600) -// -// This is a horrible workaround, but without declaring these symbols extern we get -// duplicate symbol errors when linking if the application is built without -// /Zc:wchar_t -// -#ifdef _CRTIMP2_PURE -# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE -#else -# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 -#endif - -namespace std{ - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -template class BOOST_REGEX_STDLIB_DECL allocator; -template class BOOST_REGEX_STDLIB_DECL _String_val >; -template class BOOST_REGEX_STDLIB_DECL basic_string, allocator >; -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) -template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); -#endif - -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const basic_string, allocator >&, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const unsigned short *, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const basic_string, allocator >&, - const unsigned short *); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( - const basic_string, allocator >&, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( - const basic_string, allocator >&, - const basic_string, allocator >&); -} -#endif - -#include - -#if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) -#define BOOST_REGEX_US_INSTANTIATE - -#include - -#endif - - diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp deleted file mode 100644 index 5b5236aa8..000000000 --- a/src/w32_regex_traits.cpp +++ /dev/null @@ -1,654 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE w32_regex_traits.cpp - * VERSION see - * DESCRIPTION: Implements w32_regex_traits (and associated helper classes). - */ - -#define BOOST_REGEX_SOURCE -#include - -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_NO_WIN32_LOCALE) -#include -#include - -#ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif -#ifndef NOMINMAX -# define NOMINMAX -#endif -#define NOGDI -#include - -#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE) -#pragma comment(lib, "user32.lib") -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::memset; -} -#endif - -namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ - -#ifdef BOOST_NO_ANSI_APIS -UINT get_code_page_for_locale_id(lcid_type idx) -{ - WCHAR code_page_string[7]; - if (::GetLocaleInfoW(idx, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0) - return 0; - - return static_cast(_wtol(code_page_string)); -} -#endif - - -void w32_regex_traits_char_layer::init() -{ - // we need to start by initialising our syntax map so we know which - // character is used for which purpose: - std::memset(m_char_map, 0, sizeof(m_char_map)); - cat_type cat; - std::string cat_name(w32_regex_traits::get_catalog_name()); - if(cat_name.size()) - { - cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); - if(!cat) - { - std::string m("Unable to open message catalog: "); - std::runtime_error err(m + cat_name); - ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); - } - } - // - // if we have a valid catalog then load our messages: - // - if(cat) - { - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_syntax(i)); - for(string_type::size_type j = 0; j < mss.size(); ++j) - { - m_char_map[static_cast(mss[j])] = i; - } - } - } - else - { - for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) - { - const char* ptr = get_default_syntax(i); - while(ptr && *ptr) - { - m_char_map[static_cast(*ptr)] = i; - ++ptr; - } - } - } - // - // finish off by calculating our escape types: - // - unsigned char i = 'A'; - do - { - if(m_char_map[i] == 0) - { - if(::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0002u, (char)i)) - m_char_map[i] = regex_constants::escape_type_class; - else if(::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0001u, (char)i)) - m_char_map[i] = regex_constants::escape_type_not_class; - } - }while(0xFF != i++); - - // - // fill in lower case map: - // - char char_map[1 << CHAR_BIT]; - for(int ii = 0; ii < (1 << CHAR_BIT); ++ii) - char_map[ii] = static_cast(ii); -#ifndef BOOST_NO_ANSI_APIS - int r = ::LCMapStringA(this->m_locale, LCMAP_LOWERCASE, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT); - BOOST_ASSERT(r != 0); -#else - UINT code_page = get_code_page_for_locale_id(this->m_locale); - BOOST_ASSERT(code_page != 0); - - WCHAR wide_char_map[1 << CHAR_BIT]; - int conv_r = ::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT); - BOOST_ASSERT(conv_r != 0); - - WCHAR wide_lower_map[1 << CHAR_BIT]; - int r = ::LCMapStringW(this->m_locale, LCMAP_LOWERCASE, wide_char_map, 1 << CHAR_BIT, wide_lower_map, 1 << CHAR_BIT); - BOOST_ASSERT(r != 0); - - conv_r = ::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL); - BOOST_ASSERT(conv_r != 0); -#endif - if(r < (1 << CHAR_BIT)) - { - // if we have multibyte characters then not all may have been given - // a lower case mapping: - for(int jj = r; jj < (1 << CHAR_BIT); ++jj) - this->m_lower_map[jj] = static_cast(jj); - } - -#ifndef BOOST_NO_ANSI_APIS - r = ::GetStringTypeExA(this->m_locale, CT_CTYPE1, char_map, 1 << CHAR_BIT, this->m_type_map); -#else - r = ::GetStringTypeExW(this->m_locale, CT_CTYPE1, wide_char_map, 1 << CHAR_BIT, this->m_type_map); -#endif - BOOST_ASSERT(0 != r); -} - -BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale() -{ - return ::GetUserDefaultLCID(); -} - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type idx) -{ -#ifndef BOOST_NO_ANSI_APIS - WORD mask; - if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) - return true; - return false; -#else - UINT code_page = get_code_page_for_locale_id(idx); - if (code_page == 0) - return false; - - WCHAR wide_c; - if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) - return false; - - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER)) - return true; - return false; -#endif -} - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type idx) -{ - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) - return true; - return false; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type idx) -{ - WORD mask; - wchar_t c = ca; - if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) - return true; - return false; -} -#endif - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type idx) -{ -#ifndef BOOST_NO_ANSI_APIS - WORD mask; - if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) - return true; - return false; -#else - UINT code_page = get_code_page_for_locale_id(idx); - if (code_page == 0) - return false; - - WCHAR wide_c; - if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) - return false; - - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER)) - return true; - return false; -#endif -} - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type idx) -{ - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) - return true; - return false; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type idx) -{ - WORD mask; - wchar_t c = ca; - if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) - return true; - return false; -} -#endif - -void free_module(void* mod) -{ - ::FreeLibrary(static_cast(mod)); -} - -BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name) -{ -#ifndef BOOST_NO_ANSI_APIS - cat_type result(::LoadLibraryA(name.c_str()), &free_module); - return result; -#else - LPWSTR wide_name = (LPWSTR)_alloca( (name.size() + 1) * sizeof(WCHAR) ); - if (::MultiByteToWideChar(CP_ACP, 0, name.c_str(), name.size(), wide_name, name.size() + 1) == 0) - return cat_type(); - - cat_type result(::LoadLibraryW(wide_name), &free_module); - return result; -#endif -} - -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def) -{ -#ifndef BOOST_NO_ANSI_APIS - char buf[256]; - if(0 == ::LoadStringA( - static_cast(cat.get()), - i, - buf, - 256 - )) - { - return def; - } -#else - WCHAR wbuf[256]; - int r = ::LoadStringW( - static_cast(cat.get()), - i, - wbuf, - 256 - ); - if (r == 0) - return def; - - - int buf_size = 1 + ::WideCharToMultiByte(CP_ACP, 0, wbuf, r, NULL, 0, NULL, NULL); - LPSTR buf = (LPSTR)_alloca(buf_size); - if (::WideCharToMultiByte(CP_ACP, 0, wbuf, r, buf, buf_size, NULL, NULL) == 0) - return def; // failed conversion. -#endif - return std::string(buf); -} - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::wstring& def) -{ - wchar_t buf[256]; - if(0 == ::LoadStringW( - static_cast(cat.get()), - i, - buf, - 256 - )) - { - return def; - } - return std::wstring(buf); -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string& def) -{ - unsigned short buf[256]; - if(0 == ::LoadStringW( - static_cast(cat.get()), - i, - (LPWSTR)buf, - 256 - )) - { - return def; - } - return std::basic_string(buf); -} -#endif -#endif -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const char* p1, const char* p2) -{ -#ifndef BOOST_NO_ANSI_APIS - int bytes = ::LCMapStringA( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - p1, // source string - static_cast(p2 - p1), // number of characters in source string - 0, // destination buffer - 0 // size of destination buffer - ); - if(!bytes) - return std::string(p1, p2); - std::string result(++bytes, '\0'); - bytes = ::LCMapStringA( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - p1, // source string - static_cast(p2 - p1), // number of characters in source string - &*result.begin(), // destination buffer - bytes // size of destination buffer - ); -#else - UINT code_page = get_code_page_for_locale_id(idx); - if(code_page == 0) - return std::string(p1, p2); - - int src_len = static_cast(p2 - p1); - LPWSTR wide_p1 = (LPWSTR)_alloca( (src_len + 1) * 2 ); - if(::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0) - return std::string(p1, p2); - - int bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - wide_p1, // source string - src_len, // number of characters in source string - 0, // destination buffer - 0 // size of destination buffer - ); - if(!bytes) - return std::string(p1, p2); - std::string result(++bytes, '\0'); - bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - wide_p1, // source string - src_len, // number of characters in source string - (LPWSTR)&*result.begin(), // destination buffer - bytes // size of destination buffer - ); -#endif - if(bytes > static_cast(result.size())) - return std::string(p1, p2); - while(result.size() && result[result.size()-1] == '\0') - { - result.erase(result.size()-1); - } - return result; -} - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2) -{ - int bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - p1, // source string - static_cast(p2 - p1), // number of characters in source string - 0, // destination buffer - 0 // size of destination buffer - ); - if(!bytes) - return std::wstring(p1, p2); - std::string result(++bytes, '\0'); - bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - p1, // source string - static_cast(p2 - p1), // number of characters in source string - reinterpret_cast(&*result.begin()), // destination buffer *of bytes* - bytes // size of destination buffer - ); - if(bytes > static_cast(result.size())) - return std::wstring(p1, p2); - while(result.size() && result[result.size()-1] == L'\0') - { - result.erase(result.size()-1); - } - std::wstring r2; - for(std::string::size_type i = 0; i < result.size(); ++i) - r2.append(1, static_cast(static_cast(result[i]))); - return r2; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type idx, const unsigned short* p1, const unsigned short* p2) -{ - int bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - (LPCWSTR)p1, // source string - static_cast(p2 - p1), // number of characters in source string - 0, // destination buffer - 0 // size of destination buffer - ); - if(!bytes) - return std::basic_string(p1, p2); - std::string result(++bytes, '\0'); - bytes = ::LCMapStringW( - idx, // locale identifier - LCMAP_SORTKEY, // mapping transformation type - (LPCWSTR)p1, // source string - static_cast(p2 - p1), // number of characters in source string - reinterpret_cast(&*result.begin()), // destination buffer *of bytes* - bytes // size of destination buffer - ); - if(bytes > static_cast(result.size())) - return std::basic_string(p1, p2); - while(result.size() && result[result.size()-1] == L'\0') - { - result.erase(result.size()-1); - } - std::basic_string r2; - for(std::string::size_type i = 0; i < result.size(); ++i) - r2.append(1, static_cast(static_cast(result[i]))); - return r2; -} -#endif -#endif -BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx) -{ - char result[2]; -#ifndef BOOST_NO_ANSI_APIS - int b = ::LCMapStringA( - idx, // locale identifier - LCMAP_LOWERCASE, // mapping transformation type - &c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; -#else - UINT code_page = get_code_page_for_locale_id(idx); - if (code_page == 0) - return c; - - WCHAR wide_c; - if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) - return c; - - WCHAR wide_result; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_LOWERCASE, // mapping transformation type - &wide_c, // source string - 1, // number of characters in source string - &wide_result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - - if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) - return c; // No single byte lower case equivalent available -#endif - return result[0]; -} - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type idx) -{ - wchar_t result[2]; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_LOWERCASE, // mapping transformation type - &c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - return result[0]; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type idx) -{ - wchar_t result[2]; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_LOWERCASE, // mapping transformation type - (wchar_t const*)&c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - return result[0]; -} -#endif -#endif -BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx) -{ - char result[2]; -#ifndef BOOST_NO_ANSI_APIS - int b = ::LCMapStringA( - idx, // locale identifier - LCMAP_UPPERCASE, // mapping transformation type - &c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; -#else - UINT code_page = get_code_page_for_locale_id(idx); - if(code_page == 0) - return c; - - WCHAR wide_c; - if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) - return c; - - WCHAR wide_result; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_UPPERCASE, // mapping transformation type - &wide_c, // source string - 1, // number of characters in source string - &wide_result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - - if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) - return c; // No single byte upper case equivalent available. -#endif - return result[0]; -} - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type idx) -{ - wchar_t result[2]; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_UPPERCASE, // mapping transformation type - &c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - return result[0]; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, lcid_type idx) -{ - wchar_t result[2]; - int b = ::LCMapStringW( - idx, // locale identifier - LCMAP_UPPERCASE, // mapping transformation type - (wchar_t const*)&c, // source string - 1, // number of characters in source string - result, // destination buffer - 1); // size of destination buffer - if(b == 0) - return c; - return result[0]; -} -#endif -#endif -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, char c) -{ - WORD mask; -#ifndef BOOST_NO_ANSI_APIS - if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) - return true; -#else - UINT code_page = get_code_page_for_locale_id(idx); - if(code_page == 0) - return false; - - WCHAR wide_c; - if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) - return false; - - if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) - return true; -#endif - if((m & w32_regex_traits_implementation::mask_word) && (c == '_')) - return true; - return false; -} - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, wchar_t c) -{ - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) - return true; - if((m & w32_regex_traits_implementation::mask_word) && (c == '_')) - return true; - if((m & w32_regex_traits_implementation::mask_unicode) && (c > 0xff)) - return true; - return false; -} -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, unsigned short c) -{ - WORD mask; - if(::GetStringTypeExW(idx, CT_CTYPE1, (wchar_t const*)&c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) - return true; - if((m & w32_regex_traits_implementation::mask_word) && (c == '_')) - return true; - if((m & w32_regex_traits_implementation::mask_unicode) && (c > 0xff)) - return true; - return false; -} -#endif -#endif - -} // BOOST_REGEX_DETAIL_NS -} // boost - -#endif - diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp deleted file mode 100644 index e7fcfb8ea..000000000 --- a/src/wc_regex_traits.cpp +++ /dev/null @@ -1,314 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: wc_regex_traits.cpp - * VERSION: see - * DESCRIPTION: Implements out of line members for c_regex_traits - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include -#include "internals.hpp" - -#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) && defined(_NATIVE_WCHAR_T_DEFINED) \ - && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))\ - && BOOST_WORKAROUND(BOOST_MSVC, <1600) -// -// This is a horrible workaround, but without declaring these symbols extern we get -// duplicate symbol errors when linking if the application is built without -// /Zc:wchar_t -// -#ifdef _CRTIMP2_PURE -# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE -#else -# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 -#endif - -namespace std{ - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -template class BOOST_REGEX_STDLIB_DECL allocator; -template class BOOST_REGEX_STDLIB_DECL _String_val >; -template class BOOST_REGEX_STDLIB_DECL basic_string, allocator >; -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) -template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); -#endif - -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const basic_string, allocator >&, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const unsigned short *, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( - const basic_string, allocator >&, - const unsigned short *); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( - const basic_string, allocator >&, - const basic_string, allocator >&); -template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( - const basic_string, allocator >&, - const basic_string, allocator >&); -} -#endif - -#include -#include - -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) - -#include -#ifndef BOOST_NO_WREGEX -#include -#include - -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::wcstol; -} -#endif - -namespace boost{ - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform(const wchar_t* p1, const wchar_t* p2) -{ - std::size_t r; - std::size_t s = 10; - std::wstring src(p1, p2); - std::wstring result(s, L' '); - while(s < (r = std::wcsxfrm(&*result.begin(), src.c_str(), s))) - { -#if defined(_CPPLIB_VER) - // - // A bug in VC11 and 12 causes the program to hang if we pass a null-string - // to std::strxfrm, but only for certain locales :-( - // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). - // - if(r == INT_MAX) - { - result.erase(); - result.insert(result.begin(), static_cast(0)); - return result; - } -#endif - result.append(r - s + 3, L' '); - s = result.size(); - } - result.erase(r); - return result; -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform_primary(const wchar_t* p1, const wchar_t* p2) -{ - static wchar_t s_delim; - static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); - std::wstring result; - // - // What we do here depends upon the format of the sort key returned by - // sort key returned by this->transform: - // - switch(s_collate_type) - { - case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: - case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: - // the best we can do is translate to lower case, then get a regular sort key: - { - result.assign(p1, p2); - for(std::wstring::size_type i = 0; i < result.size(); ++i) - result[i] = (std::towlower)(result[i]); - result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); - break; - } - case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: - { - // get a regular sort key, and then truncate it: - result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); - result.erase(s_delim); - break; - } - case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: - // get a regular sort key, and then truncate everything after the delim: - result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); - if(result.size() && (result[0] == s_delim)) - break; - std::size_t i; - for(i = 0; i < result.size(); ++i) - { - if(result[i] == s_delim) - break; - } - result.erase(i); - break; - } - if(result.empty()) - result = std::wstring(1, char(0)); - return result; -} - -c_regex_traits::char_class_type BOOST_REGEX_CALL c_regex_traits::lookup_classname(const wchar_t* p1, const wchar_t* p2) -{ - static const char_class_type masks[] = - { - 0, - char_class_alnum, - char_class_alpha, - char_class_blank, - char_class_cntrl, - char_class_digit, - char_class_digit, - char_class_graph, - char_class_horizontal, - char_class_lower, - char_class_lower, - char_class_print, - char_class_punct, - char_class_space, - char_class_space, - char_class_upper, - char_class_unicode, - char_class_upper, - char_class_vertical, - char_class_alnum | char_class_word, - char_class_alnum | char_class_word, - char_class_xdigit, - }; - - int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); - if(idx < 0) - { - std::wstring s(p1, p2); - for(std::wstring::size_type i = 0; i < s.size(); ++i) - s[i] = (std::towlower)(s[i]); - idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); - } - BOOST_ASSERT(idx+1 < static_cast(sizeof(masks) / sizeof(masks[0]))); - return masks[idx+1]; -} - -bool BOOST_REGEX_CALL c_regex_traits::isctype(wchar_t c, char_class_type mask) -{ - return - ((mask & char_class_space) && (std::iswspace)(c)) - || ((mask & char_class_print) && (std::iswprint)(c)) - || ((mask & char_class_cntrl) && (std::iswcntrl)(c)) - || ((mask & char_class_upper) && (std::iswupper)(c)) - || ((mask & char_class_lower) && (std::iswlower)(c)) - || ((mask & char_class_alpha) && (std::iswalpha)(c)) - || ((mask & char_class_digit) && (std::iswdigit)(c)) - || ((mask & char_class_punct) && (std::iswpunct)(c)) - || ((mask & char_class_xdigit) && (std::iswxdigit)(c)) - || ((mask & char_class_blank) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) - || ((mask & char_class_word) && (c == '_')) - || ((mask & char_class_unicode) && (c & ~static_cast(0xff))) - || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == L'\v'))) - || ((mask & char_class_horizontal) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != L'\v')); -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::lookup_collatename(const wchar_t* p1, const wchar_t* p2) -{ -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - std::string name(p1, p2); -#else - std::string name; - const wchar_t* p0 = p1; - while(p0 != p2) - name.append(1, char(*p0++)); -#endif - name = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(name); -#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551) - if(name.size()) - return string_type(name.begin(), name.end()); -#else - if(name.size()) - { - string_type result; - typedef std::string::const_iterator iter; - iter b = name.begin(); - iter e = name.end(); - while(b != e) - result.append(1, wchar_t(*b++)); - return result; - } -#endif - if(p2 - p1 == 1) - return string_type(1, *p1); - return string_type(); -} - -int BOOST_REGEX_CALL c_regex_traits::value(wchar_t c, int radix) -{ -#ifdef __BORLANDC__ - // workaround for broken wcstol: - if((std::iswxdigit)(c) == 0) - return -1; -#endif - wchar_t b[2] = { c, '\0', }; - wchar_t* ep; - int result = std::wcstol(b, &ep, radix); - if(ep == b) - return -1; - return result; -} - -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform(const unsigned short* p1, const unsigned short* p2) -{ - std::wstring result = c_regex_traits::transform((const wchar_t*)p1, (const wchar_t*)p2); - return string_type(result.begin(), result.end()); -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::transform_primary(const unsigned short* p1, const unsigned short* p2) -{ - std::wstring result = c_regex_traits::transform_primary((const wchar_t*)p1, (const wchar_t*)p2); - return string_type(result.begin(), result.end()); -} - -c_regex_traits::char_class_type BOOST_REGEX_CALL c_regex_traits::lookup_classname(const unsigned short* p1, const unsigned short* p2) -{ - return c_regex_traits::lookup_classname((const wchar_t*)p1, (const wchar_t*)p2); -} - -c_regex_traits::string_type BOOST_REGEX_CALL c_regex_traits::lookup_collatename(const unsigned short* p1, const unsigned short* p2) -{ - std::wstring result = c_regex_traits::lookup_collatename((const wchar_t*)p1, (const wchar_t*)p2); - return string_type(result.begin(), result.end()); -} - -bool BOOST_REGEX_CALL c_regex_traits::isctype(unsigned short c, char_class_type m) -{ - return c_regex_traits::isctype(c, m); -} - -int BOOST_REGEX_CALL c_regex_traits::value(unsigned short c, int radix) -{ - return c_regex_traits::value(c, radix); -} - -#endif - -} - -#endif // BOOST_NO_WREGEX - -#endif // __BORLANDC__ - diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index bc1c0af2a..6c01184b2 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -16,6 +16,7 @@ * DESCRIPTION: Implements the wide character POSIX API wrappers. */ +#define _CRT_SECURE_NO_WARNINGS // for std::wcscpy #define BOOST_REGEX_SOURCE #include @@ -25,23 +26,24 @@ #include #include -#include -#include +#ifndef BOOST_REGEX_STANDALONE +#include +#else +namespace boost { namespace core { using std::swprintf; } } +#endif + +#ifndef BOOST_WORKAROUND +#define BOOST_WORKAROUND(x, y) false +#endif + #include +#include +#include #ifdef BOOST_INTEL #pragma warning(disable:981) #endif -#if defined(BOOST_NO_STDC_NAMESPACE) || defined(__NetBSD__) -namespace std{ -# ifndef BOOST_NO_SWPRINTF - using ::swprintf; -# endif -} -#endif - - namespace boost{ namespace { @@ -76,6 +78,10 @@ const wchar_t* wnames[] = { typedef boost::basic_regex > wc_regex_type; +#ifdef BOOST_MSVC +# pragma warning(push) +#pragma warning(disable:26812) +#endif BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f) { #ifndef BOOST_NO_EXCEPTIONS @@ -93,7 +99,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha return REG_E_MEMORY; #endif // set default flags: - boost::uint_fast32_t flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? wregex::extended : wregex::basic); + unsigned flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? wregex::extended : wregex::basic); expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default; // and translate those that are actually set: @@ -150,6 +156,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha return result; } +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* e, wchar_t* buf, regsize_t buf_size) { @@ -161,16 +170,11 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { result = std::wcslen(wnames[code]) + 1; if(buf_size >= result) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - ::wcscpy_s(buf, buf_size, wnames[code]); -#else std::wcscpy(buf, wnames[code]); -#endif return result; } return result; } -#if !defined(BOOST_NO_SWPRINTF) if(code == REG_ATOI) { wchar_t localbuf[5]; @@ -183,31 +187,22 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* #if defined(_WIN32_WCE) && !defined(UNDER_CE) (std::swprintf)(localbuf, L"%d", i); #else - (std::swprintf)(localbuf, 5, L"%d", i); + (boost::core::swprintf)(localbuf, 5, L"%d", i); #endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - ::wcscpy_s(buf, buf_size, localbuf); -#else std::wcscpy(buf, localbuf); -#endif return std::wcslen(localbuf) + 1; } } #if defined(_WIN32_WCE) && !defined(UNDER_CE) (std::swprintf)(localbuf, L"%d", 0); #else - (std::swprintf)(localbuf, 5, L"%d", 0); + (boost::core::swprintf)(localbuf, 5, L"%d", 0); #endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - ::wcscpy_s(buf, buf_size, localbuf); -#else std::wcscpy(buf, localbuf); -#endif return std::wcslen(localbuf) + 1; } -#endif if(code <= (int)REG_E_UNKNOWN) { std::string p; @@ -277,8 +272,8 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons std::size_t i; for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i) { - array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf); - array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf); + array[i].rm_so = m[i].matched ? (m[i].first - buf) : -1; + array[i].rm_eo = m[i].matched ? (m[i].second - buf) : -1; } // and set anything else to -1: for(i = expression->re_nsub + 1; i < n; ++i) @@ -306,7 +301,3 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression) } // namespace boost; #endif - - - - diff --git a/src/winstances.cpp b/src/winstances.cpp deleted file mode 100644 index 1e0b85962..000000000 --- a/src/winstances.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: winstances.cpp - * VERSION: see - * DESCRIPTION: regex wide character template instances. - */ - -#define BOOST_REGEX_SOURCE - -#include - -#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) -#define BOOST_REGEX_WIDE_INSTANTIATE - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif - -#include - -#endif - - - diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 49ed730bb..17e813ff1 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,15 +1,16 @@ # copyright John Maddock 2003 -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. project - : requirements - multi - shared:BOOST_REGEX_DYN_LINK=1 - msvc-7.1:TEST_MFC=1 + : requirements + /boost/regex//boost_regex_old + /boost/detail//boost_detail + multi + shared:BOOST_REGEX_DYN_LINK=1 + msvc-7.1:TEST_MFC=1 msvc-7.0:TEST_MFC=1 - msvc:on # There are unidentified linker problems on these platforms: mipspro-7.4:static sun-5.9:static @@ -21,6 +22,8 @@ project #gcc-mingw:static #gcc-cygwin:static sun:static + ../src + . ; # @@ -28,16 +31,17 @@ project # rule regex-test ( name : sources + : requirements * : input-files * ) { - return [ run $(sources) ../build//boost_regex + return [ run $(sources) /boost/regex//boost_regex : : $(input-files) : $(requirements) : $(name) ] ; } -R_SOURCE = +R_SOURCE = basic_tests.cpp main.cpp +wmain.cpp test_alt.cpp test_anchors.cpp test_asserts.cpp @@ -60,144 +64,81 @@ test_overloads.cpp test_operators.cpp ; -lib boost_regex_recursive : - ../src/c_regex_traits.cpp - ../src/cpp_regex_traits.cpp - ../src/cregex.cpp - ../src/fileiter.cpp - ../src/icu.cpp - ../src/instances.cpp - ../src/posix_api.cpp - ../src/regex.cpp - ../src/regex_debug.cpp - ../src/regex_raw_buffer.cpp - ../src/regex_traits_defaults.cpp - ../src/static_mutex.cpp - ../src/w32_regex_traits.cpp - ../src/wc_regex_traits.cpp - ../src/wide_posix_api.cpp - ../src/winstances.cpp - ../src/usinstances.cpp - ../build//icu_options - : - BOOST_REGEX_RECURSIVE=1 - shared:BOOST_REGEX_DYN_LINK=1 - : - ; - local regress-sources = regress/$(R_SOURCE) ; -test-suite regex - : - [ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options - : # command line - : # input files - : # requirements - : regex_regress ] - - [ run regress/$(R_SOURCE) ../build//boost_regex - ../../thread/build//boost_thread ../build//icu_options - : # command line - : # input files - : # requirements - TEST_THREADS - : regex_regress_threaded ] - - [ regex-test posix_api_check : c_compiler_checks/posix_api_check.c ] - - [ compile c_compiler_checks/wide_posix_api_check.c - : : wide_posix_api_check_c ] - - [ regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ] - - [ regex-test wide_posix_api_check_cpp - : c_compiler_checks/wide_posix_api_check.cpp ] - - [ run pathology/bad_expression_test.cpp - ../build//boost_regex - ] - - [ run pathology/recursion_test.cpp - ../build//boost_regex - ] - - [ run named_subexpressions/named_subexpressions_test.cpp - ../build//boost_regex - ] - - [ run unicode/unicode_iterator_test.cpp ../build//boost_regex : : : release TEST_UTF8 : unicode_iterator_test_utf8 ] - [ run unicode/unicode_iterator_test.cpp ../build//boost_regex : : : release TEST_UTF16 : unicode_iterator_test_utf16 ] - [ run static_mutex/static_mutex_test.cpp - ../../thread/build//boost_thread ../build//boost_regex - ] - [ run object_cache/object_cache_test.cpp ../build//boost_regex - ] - - [ run config_info/regex_config_info.cpp - ../build//boost_regex/static - : # command line - : # input files - : always_show_run_output - ] - [ run config_info/regex_config_info.cpp ../build//boost_regex - : # command line - : # input files - : always_show_run_output - : regex_dll_config_info - ] - - [ run collate_info/collate_info.cpp ../build//boost_regex - : : : always_show_run_output : test_collate_info ] - - - [ link concepts/concept_check.cpp ../build//boost_regex ] - [ link concepts/icu_concept_check.cpp ../build//boost_regex ] - [ link concepts/range_concept_check.cpp ../build//boost_regex ] - [ run concepts/test_bug_11988.cpp ../build//boost_regex ] - - [ run - # sources - captures/captures_test.cpp - captures//boost_regex_extra ../build//icu_options - : # additional args - : # test-files - : # requirements - multi - BOOST_REGEX_MATCH_EXTRA=1 - BOOST_REGEX_NO_LIB=1 - : # test name - captures_test - ] - -[ run regress/$(R_SOURCE) .//boost_regex_recursive - ../build//icu_options - : # command line - : # input files - : # requirements - BOOST_REGEX_RECURSIVE=1 - : regex_regress_recursive ] - -[ run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh - ../build//icu_options - : # command line - : # input files - : # requirements - BOOST_NO_EXCEPTIONS=1 - off - static - shared - : regex_regress_noeh ] - -; - +run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options + : # command line + : # input files + : # requirements + : regex_regress ; + +run regress/$(R_SOURCE) ../build//boost_regex + /boost/thread//boost_thread ../build//icu_options + : # command line + : # input files + : # requirements + TEST_THREADS + : regex_regress_threaded ; + +run regress/$(R_SOURCE) ../build//boost_regex + /boost/thread//boost_thread ../build//icu_options + : # command line + : # input files + : # requirements + TEST_THREADS + BOOST_REGEX_MAX_CACHE_BLOCKS=0 + : regex_regress_threaded_no_cache ; + +regex-test posix_api_check : c_compiler_checks/posix_api_check.c ; +compile c_compiler_checks/wide_posix_api_check.c : : wide_posix_api_check_c ; +regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ; +regex-test wide_posix_api_check_cpp : c_compiler_checks/wide_posix_api_check.cpp ; +run pathology/bad_expression_test.cpp ; +run pathology/recursion_test.cpp ; +run named_subexpressions/named_subexpressions_test.cpp ; +run unicode/unicode_iterator_test.cpp : : : release TEST_UTF8 : unicode_iterator_test_utf8 ; +run unicode/unicode_iterator_test.cpp : : : release TEST_UTF16 : unicode_iterator_test_utf16 ; +run unicode/unicode_casefold_test.cpp ../build//boost_regex ../build//icu_options ; +run object_cache/object_cache_test.cpp ; +run config_info/regex_config_info.cpp ../build//boost_regex/static : : : always_show_run_output ; +run config_info/regex_config_info.cpp ../build//boost_regex : : : always_show_run_output : regex_dll_config_info ; +run collate_info/collate_info.cpp ../build//boost_regex : : : always_show_run_output : test_collate_info ; +link concepts/concept_check.cpp /boost/range//boost_range : gcc:-Wno-deprecated-copy ; +link concepts/concept_check.cpp : BOOST_REGEX_STANDALONE gcc:-Wno-deprecated-copy : standalone_concept_check ; +link concepts/icu_concept_check.cpp : BOOST_REGEX_STANDALONE gcc:-Wno-deprecated-copy ; +link concepts/icu_concept_check.cpp : gcc:-Wno-deprecated-copy : standalone_icu_concept_check ; +link concepts/range_concept_check.cpp : gcc:-Wno-deprecated-copy /boost/range//boost_range ; +run concepts/test_bug_11988.cpp ; +run captures/captures_test.cpp ../build//icu_options /boost/array//boost_array : : : multi BOOST_REGEX_MATCH_EXTRA=1 BOOST_REGEX_NO_LIB=1 : captures_test ; +run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh ../build//icu_options : : : BOOST_NO_EXCEPTIONS=1 off static shared : regex_regress_noeh ; compile test_consolidated.cpp ; build-project ../example ; # `quick` target (for CI) run quick.cpp ../build//boost_regex ; - -compile test_warnings.cpp +compile test_warnings.cpp : msvc:all msvc:on gcc:all gcc:on clang:all clang:on ; + +compile test_warnings.cpp + : msvc:all msvc:on + gcc:all gcc:on + clang:all clang:on + BOOST_REGEX_STANDALONE + : test_warnings_standalone ; + +compile test_windows_defs_1.cpp ; +compile test_windows_defs_2.cpp ; +compile test_windows_defs_3.cpp ; +compile test_windows_defs_4.cpp ; + +run issue153.cpp : : : "msvc:-STACK:2097152" ; +run issue227.cpp ; +run issue232.cpp ; +run issue244.cpp ; +run issue245.cpp ; +run lookbehind_recursion_stress_test.cpp ; +run regex_replace_overflow.cpp ; + diff --git a/test/captures/Jamfile.v2 b/test/captures/Jamfile.v2 index f3ee89055..2b07edf31 100644 --- a/test/captures/Jamfile.v2 +++ b/test/captures/Jamfile.v2 @@ -8,23 +8,8 @@ project ; EX_SOURCES = - c_regex_traits.cpp - cpp_regex_traits.cpp - cregex.cpp - fileiter.cpp - icu.cpp - instances.cpp posix_api.cpp - regex.cpp - regex_debug.cpp - regex_raw_buffer.cpp - regex_traits_defaults.cpp - static_mutex.cpp - w32_regex_traits.cpp - wc_regex_traits.cpp - wide_posix_api.cpp - winstances.cpp - usinstances.cpp ; + wide_posix_api.cpp ; lib boost_regex_extra : $(EX_SOURCES) ../../build//icu_options : diff --git a/test/captures/captures_test.cpp b/test/captures/captures_test.cpp index 641d1b9b0..56aec6743 100644 --- a/test/captures/captures_test.cpp +++ b/test/captures/captures_test.cpp @@ -68,6 +68,8 @@ void test_captures(const std::string& regx, const std::string& text, T& expected } } } + +#if !defined(BOOST_NO_WREGEX) std::wstring wre(regx.begin(), regx.end()); std::wstring wtext(text.begin(), text.end()); @@ -89,6 +91,8 @@ void test_captures(const std::string& regx, const std::string& text, T& expected } } } + +#endif #ifdef BOOST_HAS_ICU boost::u32regex ure = boost::make_u32regex(regx); diff --git a/test/cmake_install_test/CMakeLists.txt b/test/cmake_install_test/CMakeLists.txt new file mode 100644 index 000000000..21f524d4e --- /dev/null +++ b/test/cmake_install_test/CMakeLists.txt @@ -0,0 +1,17 @@ +# Copyright 2018, 2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt + +cmake_minimum_required(VERSION 3.5...3.31) + +project(cmake_install_test LANGUAGES CXX) + +find_package(Boost COMPONENTS regex REQUIRED) + +add_executable(quick ../quick.cpp) +target_link_libraries(quick Boost::regex) + +enable_testing() +add_test(quick quick) + +add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt new file mode 100644 index 000000000..a853c4995 --- /dev/null +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright 2018, 2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt + +cmake_minimum_required(VERSION 3.5...3.16) + +project(cmake_subdir_test LANGUAGES CXX) + +add_subdirectory(../.. boostorg/reegx) +add_subdirectory(../../../config boostorg/config) +add_subdirectory(../../../core boostorg/core) +add_subdirectory(../../../assert boostorg/assert) +add_subdirectory(../../../throw_exception boostorg/throw_exception) +add_subdirectory(../../../predef boostorg/predef) + +add_executable(quick ../quick.cpp) +target_link_libraries(quick Boost::regex Boost::core) + +enable_testing() +add_test(quick quick) + +add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_subdir_test_icu/CMakeLists.txt b/test/cmake_subdir_test_icu/CMakeLists.txt new file mode 100644 index 000000000..db4dab254 --- /dev/null +++ b/test/cmake_subdir_test_icu/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright 2018, 2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt + +cmake_minimum_required(VERSION 3.5...3.16) + +project(cmake_subdir_test LANGUAGES CXX) + +add_subdirectory(../.. boostorg/regex) +add_subdirectory(../../../config boostorg/config) +add_subdirectory(../../../core boostorg/core) +add_subdirectory(../../../assert boostorg/assert) +add_subdirectory(../../../throw_exception boostorg/throw_exception) +add_subdirectory(../../../predef boostorg/predef) + +add_executable(quick_icu ../quick_icu.cpp) +target_link_libraries(quick_icu Boost::regex_icu) + +enable_testing() +add_test(quick_icu quick_icu) + +add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/collate_info/collate_info.cpp b/test/collate_info/collate_info.cpp index da96745c2..585f9bf01 100644 --- a/test/collate_info/collate_info.cpp +++ b/test/collate_info/collate_info.cpp @@ -11,7 +11,7 @@ // most of the workarounds and headers we need are already in here: #include -#include +#include #include #include #include @@ -21,15 +21,6 @@ #pragma warning(disable:1418 981 983 2259) #endif -#ifdef BOOST_NO_STDC_NAMESPACE -namespace std{ - using ::strxfrm; -#ifndef BOOST_NO_WREGEX - using ::wcsxfrm; -#endif -} -#endif - #include template @@ -230,7 +221,7 @@ int cpp_main(int /*argc*/, char * /*argv*/[]) print_cpp_info(wchar_t(0), "wchar_t"); #endif -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x560) boost::c_regex_traits a; print_sort_syntax(a, "boost::c_regex_traits"); #ifndef BOOST_NO_WREGEX diff --git a/test/concepts/concept_check.cpp b/test/concepts/concept_check.cpp index 21448f210..5d2792a8a 100644 --- a/test/concepts/concept_check.cpp +++ b/test/concepts/concept_check.cpp @@ -9,31 +9,25 @@ * */ +#include #include #if defined(BOOST_MSVC) // this lets us compile at warning level 4 without seeing concept-check related warnings # pragma warning(disable:4100) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option -w-8019 -w-8004 -w-8008 #endif #ifdef BOOST_INTEL #pragma warning(disable:1418 981 983 595 383) #endif -#include -#include -#if !BOOST_WORKAROUND(_MSC_VER, < 1310) && !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__GNUC__, < 3) #include -#endif int main() { - // VC6 and VC7 can't cope with the iterator architypes, - // don't bother testing as it doesn't work: -#if !BOOST_WORKAROUND(_MSC_VER, < 1310) && !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__GNUC__, < 3) boost::function_requires< boost::RegexTraitsConcept< boost::regex_traits @@ -53,7 +47,6 @@ int main() >(); #endif #endif -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) boost::function_requires< boost::BoostRegexConcept< boost::basic_regex > @@ -66,7 +59,6 @@ int main() > >(); #endif -#endif #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) boost::function_requires< boost::BoostRegexConcept< @@ -90,15 +82,12 @@ int main() regex_traits_tester_type1 > >(); -#if !defined(__MWERKS__) && !defined(__SUNPRO_CC) // MWCW tries to instantiate std::basic_string, not sure whose bug this is.... typedef boost::basic_regex > regex_traits_tester_type2; boost::function_requires< boost::BaseRegexConcept< regex_traits_tester_type2 > >(); -#endif // __MWERKS__ -#endif return 0; } diff --git a/test/concepts/icu_concept_check.cpp b/test/concepts/icu_concept_check.cpp index a55bb387e..a2fe627ad 100644 --- a/test/concepts/icu_concept_check.cpp +++ b/test/concepts/icu_concept_check.cpp @@ -21,7 +21,7 @@ // this lets us compile at warning level 4 without seeing concept-check related warnings # pragma warning(disable:4100) #endif -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma option -w-8019 -w-8004 -w-8008 #endif diff --git a/test/concepts/module_concept_check.cpp b/test/concepts/module_concept_check.cpp new file mode 100644 index 000000000..86d981a38 --- /dev/null +++ b/test/concepts/module_concept_check.cpp @@ -0,0 +1,99 @@ +/* + * + * Copyright (c) 2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + +#ifdef __GNUC__ +// +// For some reason, GCC chokes unless all std lib includes appear +// before module imports: +// +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +import boost.regex; + +#define BOOST_REGEX_TEST_MODULE + +#include + + +int main() +{ + boost::function_requires< + boost::RegexTraitsConcept< + boost::regex_traits + > + >(); +#ifndef BOOST_NO_STD_LOCALE + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#ifndef BOOST_NO_WREGEX + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#endif +#endif + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#ifndef BOOST_NO_WREGEX + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#endif +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#ifndef BOOST_NO_WREGEX + boost::function_requires< + boost::BoostRegexConcept< + boost::basic_regex > + > + >(); +#endif +#endif + // + // now test the regex_traits concepts: + // + typedef boost::basic_regex > regex_traits_tester_type1; + boost::function_requires< + boost::BoostRegexConcept< + regex_traits_tester_type1 + > + >(); + typedef boost::basic_regex > regex_traits_tester_type2; + boost::function_requires< + boost::BaseRegexConcept< + regex_traits_tester_type2 + > + >(); + return 0; +} + + diff --git a/test/config_info.cpp b/test/config_info.cpp new file mode 100644 index 000000000..6198da8ff --- /dev/null +++ b/test/config_info.cpp @@ -0,0 +1,1569 @@ +// Boost config.hpp configuration test program file -----------------------// + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Beman Dawes 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for most recent version. +// +// Revision $Id$ +// + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef BOOST_HAS_UNISTD_H +#include +#endif + +#if defined(__MINGW32__) +# include <_mingw.h> +#endif + +static unsigned int indent = 4; +static unsigned int width = 40; + +using std::cout; +using std::istream; + +void print_macro(const char* name, const char* value) +{ + // if name == value+1 then then macro is not defined, + // in which case we don't print anything: + if(0 != strcmp(name, value+1)) + { + for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); + std::cout << std::setw(width); + cout.setf(istream::left, istream::adjustfield); + std::cout << name; + if(value[1]) + { + // macro has a value: + std::cout << value << "\n"; + } + else + { + // macro is defined but has no value: + std::cout << " [no value]\n"; + } + } +} + +#define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X)) + +template +void print_expression(const char* expression, T val) +{ + for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); + std::cout << std::setw(width); + std::cout.setf(istream::left, istream::adjustfield); + std::cout << expression << "=" << val << std::endl; +} + +#define PRINT_EXPRESSION(E) print_expression(#E, E); + +template +void print_byte_order(const char* what, T /* t */ ) +{ + T val = 0; + unsigned i; + for(i = 1; i < sizeof(T); ++i) + { + val |= (CHAR_BIT * static_cast(i)) << (CHAR_BIT * static_cast(i)); + } + const char* p = reinterpret_cast(&val); + + for(i = 0; i < indent; ++i) std::cout.put(' '); + std::cout << std::setw(width); + std::cout.setf(istream::left, istream::adjustfield); + std::cout << what << "="; + for(i = 0; i < sizeof(T); ++i) + { + std::cout << (int)p[i] << " "; + } + std::cout << std::endl; +} + +#define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T()) + +template +void print_sign(const char* what, T t) +{ + t = static_cast(-1); // cast suppresses warnings + for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); + std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl; +} + +#define PRINT_SIGN(T) print_sign(#T, T()) + + +void print_compiler_macros() +{ + std::cout << BOOST_COMPILER << "\n"; + // Borland options: + PRINT_MACRO(__BORLANDC__); + PRINT_MACRO(__CDECL__); + PRINT_MACRO(_CHAR_UNSIGNED); + PRINT_MACRO(__CODEGUARD__); + PRINT_MACRO(__CONSOLE__); + PRINT_MACRO(_CPPUNWIND); + PRINT_MACRO(__cplusplus); + PRINT_MACRO(__FLAT__); + PRINT_MACRO(__FUNC__); + PRINT_MACRO(_M_IX86); + PRINT_MACRO(__MSDOS__); + PRINT_MACRO(__MT__ ); + PRINT_MACRO(__PASCAL__); + PRINT_MACRO(__STDC__); + PRINT_MACRO(__TLS__); + PRINT_MACRO(_WCHAR_T); + PRINT_MACRO(_Windows); + PRINT_MACRO(__WIN32__); + PRINT_MACRO(_WIN32); + PRINT_MACRO(_WIN64); + PRINT_MACRO(_WIN32_WCE); + PRINT_MACRO(WIN32); + PRINT_MACRO(_RTLDLL); + PRINT_MACRO(__DEBUG); + +// Internal MSVC 7 error workaround (Peter Dimov) + +#ifndef _NATIVE_WCHAR_T_DEFINED + PRINT_MACRO(_WCHAR_T_DEFINED); +#endif + // MSVC macros: + PRINT_MACRO(_ALIGNED_NEW_SUPPORTED); + PRINT_MACRO(__ATOM__); + PRINT_MACRO(__AVX__); + PRINT_MACRO(__AVX2__); + PRINT_MACRO(_CHAR_UNSIGNED); + PRINT_MACRO(_CLR_VER); + PRINT_MACRO(_CONTROL_FLOW_GUARD); + PRINT_MACRO(__cplusplus_cli); + PRINT_MACRO(__cplusplus_winrt); + PRINT_MACRO(_CPPRTTI); + PRINT_MACRO(_CPPUNWIND); + PRINT_MACRO(_DLL); + PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED); + PRINT_MACRO(_ISO_VOLATILE); + PRINT_MACRO(_M_AMD64); + PRINT_MACRO(_M_ARM); + PRINT_MACRO(_M_ARM_ARMV7VE); + PRINT_MACRO(_M_ARM_FP); + PRINT_MACRO(_M_ARM64); + PRINT_MACRO(_M_CEE); + PRINT_MACRO(_M_CEE_PURE); + PRINT_MACRO(_M_CEE_SAFE); + PRINT_MACRO(_M_FP_EXCEPT); + PRINT_MACRO(_M_FP_FAST); + PRINT_MACRO(_M_FP_PRECISE); + PRINT_MACRO(_M_FP_STRICT); + PRINT_MACRO(_M_IX86); + PRINT_MACRO(_M_IX86_FP); + PRINT_MACRO(_M_X64); + PRINT_MACRO(_M_ALPHA); + PRINT_MACRO(_M_MPPC); + PRINT_MACRO(_M_MRX000); + PRINT_MACRO(_M_PPC); + PRINT_MACRO(_MANAGED); + PRINT_MACRO(_MSC_BUILD); + PRINT_MACRO(_MFC_VER); + PRINT_MACRO(_MSC_EXTENSIONS); + PRINT_MACRO(_MSC_VER); + PRINT_MACRO(_MSC_FULL_VER); + PRINT_MACRO(_MSVC_LANG); + PRINT_MACRO(_MSVC_WARNING_LEVEL); + PRINT_MACRO(__MSVC_RUNTIME_CHECKS); + PRINT_MACRO(_MT); + PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED); + PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED); + PRINT_MACRO(_OPENMP); + PRINT_MACRO(_PREFAST_); + // GNUC options: + PRINT_MACRO(__GNUC__); + PRINT_MACRO(__GNUC_MINOR__); + PRINT_MACRO(__GNUC_PATCHLEVEL__); + PRINT_MACRO(__STDC_VERSION__); + PRINT_MACRO(__GNUG__); + PRINT_MACRO(__STRICT_ANSI__); + PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__); + PRINT_MACRO(__VERSION__); + PRINT_MACRO(__OPTIMIZE__); + PRINT_MACRO(__CHAR_UNSIGNED__); + PRINT_MACRO(__REGISTER_PREFIX__); + PRINT_MACRO(__USER_LABEL_PREFIX__); + PRINT_MACRO(__GNUPRO__); + PRINT_MACRO(__EXCEPTIONS); + PRINT_MACRO(__FreeBSD__); + PRINT_MACRO(__FreeBSD_cc_version); + PRINT_MACRO(__ELF__); + PRINT_MACRO(__GNUPRO__); + PRINT_MACRO(unix); + PRINT_MACRO(bsd); + PRINT_MACRO(vax); + PRINT_MACRO(mc68000); + PRINT_MACRO(m68k); + PRINT_MACRO(M68020); + PRINT_MACRO(_AM29K); + PRINT_MACRO(ns32000); + PRINT_MACRO(sun); + PRINT_MACRO(pyr); + PRINT_MACRO(sequent); + PRINT_MACRO(__i386__); + PRINT_MACRO(__sparc); + PRINT_MACRO(__sparc__); + PRINT_MACRO(__powerpc__); + PRINT_MACRO(__hppa); + PRINT_MACRO(__CYGWIN__); + PRINT_MACRO(__MINGW32__); + PRINT_MACRO(__GXX_RTTI); + PRINT_MACRO(__alpha__); + PRINT_MACRO(__amd64__); + PRINT_MACRO(__arm__); + PRINT_MACRO(__aarch64__); + PRINT_MACRO(__bfin); + PRINT_MACRO(__convex__); + PRINT_MACRO(__epiphany__); + PRINT_MACRO(__hppa__); + PRINT_MACRO(__ia64__); + PRINT_MACRO(__IA64); + PRINT_MACRO(__IA64__); + PRINT_MACRO(__m68k__); + PRINT_MACRO(__mips__); + PRINT_MACRO(__powerpc); + PRINT_MACRO(__powerpc__); + PRINT_MACRO(__powerpc64__); + PRINT_MACRO(__POWERPC__); + PRINT_MACRO(__ppc__); + PRINT_MACRO(__ppc64__); + PRINT_MACRO(__PPC__); + PRINT_MACRO(__PPC64__); + PRINT_MACRO(_ARCH_PPC); + PRINT_MACRO(_ARCH_PPC64); + PRINT_MACRO(__sh__); + PRINT_MACRO(__370__); + PRINT_MACRO(__THW_370__); + // HP aCC: + PRINT_MACRO(__HP_aCC); + PRINT_MACRO(_HPACC_); + PRINT_MACRO(__LP64__); + PRINT_MACRO(__RISC2_0__); + PRINT_MACRO(__STDCPP__); + PRINT_MACRO(__hppa); + PRINT_MACRO(__hpux); + PRINT_MACRO(__hp9000s800); + PRINT_MACRO(__hp9000s700); + PRINT_MACRO(_PA_RISC1_1); + PRINT_MACRO(__HPUX_SOURCE); + PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE); + // SGI IRIX: + PRINT_MACRO(__sgi); + PRINT_MACRO(_COMPILER_VERSION); + // Sunpro: + PRINT_MACRO(__SUNPRO_CC); + PRINT_MACRO(__SUNPRO_CC_COMPAT); + PRINT_MACRO(__BUILTIN_VA_ARG_INCR); + PRINT_MACRO(__sun); + PRINT_MACRO(__SVR4); + PRINT_MACRO(__unix); + PRINT_MACRO(__sparcv9); + PRINT_MACRO(__i386); + PRINT_MACRO(i386); + // Metrowerks + PRINT_MACRO(__MWERKS__); + PRINT_MACRO(__MSL__); + PRINT_MACRO(__MSL_CPP__); + PRINT_MACRO(__A5__); + PRINT_MACRO(__embedded_cplusplus); + PRINT_MACRO(__fourbyteints__); + PRINT_MACRO(__IEEEdoubles__); + PRINT_MACRO(__MC68K__); + PRINT_MACRO(__MC68020__); + PRINT_MACRO(__MC68881__); + PRINT_MACRO(__MIPS__); + PRINT_MACRO(__MIPS_ISA2__); + PRINT_MACRO(__MIPS_ISA3__); + PRINT_MACRO(__MIPS_ISA4__); + PRINT_MACRO(__MWBROWSER__); + PRINT_MACRO(__profile__); + PRINT_MACRO(__powerc); + PRINT_MACRO(_powerc); + PRINT_MACRO(__POWERPC__); + PRINT_MACRO(macintosh); + PRINT_MACRO(__MACH__); + PRINT_MACRO(__APPLE__); + PRINT_MACRO(__APPLE_CC__); + // MPW (MrCpp and SCpp) + PRINT_MACRO(__MRC__); + PRINT_MACRO(__SC__); + PRINT_MACRO(__FPCE__); + PRINT_MACRO(__FPCE_IEEE__); + PRINT_MACRO(MPW_CPLUS); + PRINT_MACRO(MPW_C); + PRINT_MACRO(__MC601); + PRINT_MACRO(__POWERPC); + PRINT_MACRO(__useAppleExts__); + PRINT_MACRO(powerc); + PRINT_MACRO(MC68000); + PRINT_MACRO(THINK_PLUS); + PRINT_MACRO(mc68881); + PRINT_MACRO(__FAR_CODE__); + PRINT_MACRO(__FAR_DATA__); + PRINT_MACRO(__CFM68K__); + // EDG + PRINT_MACRO(__EDG__); + PRINT_MACRO(__EDG_VERSION__); + PRINT_MACRO(c_plusplus); // indication for strict mode + PRINT_MACRO(_BOOL); + PRINT_MACRO(_EXPLICIT); + PRINT_MACRO(__SIGNED_CHARS__); + PRINT_MACRO(_TYPENAME); + PRINT_MACRO(_WCHAR_T); + PRINT_MACRO(__ARRAY_OPERATORS); + PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION); + PRINT_MACRO(__EDG_IMPLICIT_USING_STD); + PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES); + PRINT_MACRO(__BOOL_DEFINED); + PRINT_MACRO(__RTTI); + PRINT_MACRO(__PLACEMENT_DELETE); + PRINT_MACRO(__NO_LONG_LONG); + + // Intel options: + PRINT_MACRO(__INTEL__); + PRINT_MACRO(__ICC); + PRINT_MACRO(__ICL); + PRINT_MACRO(__ECC); + PRINT_MACRO(__INTEL_COMPILER); + PRINT_MACRO(__INITIAL_POINTER_SIZE); + PRINT_MACRO(_INTEGRAL_MAX_BITS); + PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE); + PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL); + PRINT_MACRO(__LONG_DOUBLE_SIZE__); + PRINT_MACRO(_M_X64); + PRINT_MACRO(_OPENMP); + PRINT_MACRO(_OPENMPT); + PRINT_MACRO(_PGO_INSTRUMENT); + PRINT_MACRO(__QMSPP_); + PRINT_MACRO(__INTEL_RTTI__); + PRINT_MACRO(__INTEL_CXX11_MODE__); + + // Cray options: + PRINT_MACRO(_CRAYC); + PRINT_MACRO(_RELEASE); + PRINT_MACRO(cray); + PRINT_MACRO(CRAY); + PRINT_MACRO(CRAY1); + PRINT_MACRO(_CRAY1); + PRINT_MACRO(_CRAYMPP); + PRINT_MACRO(_CRAYT3E); + PRINT_MACRO(_CRAYIEEE); + PRINT_MACRO(_ADDR32); + PRINT_MACRO(_ADDR64); + PRINT_MACRO(_LD64); + PRINT_MACRO(_FASTMD); + PRINT_MACRO(_MAXVL); + + // clang options: + PRINT_MACRO(__clang__); + PRINT_MACRO(__clang_major__); + PRINT_MACRO(__clang_minor__); + PRINT_MACRO(__clang_version__); + PRINT_MACRO(__clang_patchlevel__); + PRINT_MACRO(__apple_build_version__); + + // misc compilers not covered so far: + PRINT_MACRO(__USLC__); + PRINT_MACRO(__DECCXX); + PRINT_MACRO(__IBMCPP__); + PRINT_MACRO(_REENTRANT); + PRINT_MACRO(_PTHREADS); + PRINT_MACRO(__STDC_HOSTED__); + PRINT_MACRO(__COMO__); + PRINT_MACRO(__COMO_VERSION__); + PRINT_MACRO(__DM__); + PRINT_MACRO(__osf__); + PRINT_MACRO(__OSF__); + PRINT_MACRO(__QNXNTO__); + PRINT_MACRO(__QNX__); + PRINT_MACRO(_NTO_VERSION); + PRINT_MACRO(__OPEN64__); + PRINT_MACRO(__open64); + PRINT_MACRO(__NVCC__); + PRINT_MACRO(__CUDACC__); + PRINT_MACRO(__CUDACC_RDC__); + PRINT_MACRO(__CUDACC_VER_MAJOR__); + PRINT_MACRO(__CUDACC_VER_MINOR__); + PRINT_MACRO(__CUDACC_VER_BUILD__); + PRINT_MACRO(__CUDACC_VER__); + + // Android: + PRINT_MACRO(ANDROID); + PRINT_MACRO(__ANDROID__); +} + +void print_stdlib_macros() +{ + std::cout << BOOST_STDLIB << std::endl; + #ifdef _RWSTD_VER + // Rogue Wave 2.x config options: + PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); + PRINT_MACRO(_RWSTD_ALLOCATOR); + PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED); + PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED); + PRINT_MACRO(_RWSTD_BOUNDS_CHECKING); + PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE); + PRINT_MACRO(_RWSTD_DEFAULT_PRECISION); + PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED); + PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD); + PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED); + PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT); + PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS); + PRINT_MACRO(_RWSTD_MESSAGE); + PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT); + PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF); + PRINT_MACRO(_RWSTD_NO_ARG_MATCH); + PRINT_MACRO(_RWSTD_NO_BAD_CAST); + PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH); + PRINT_MACRO(_RWSTD_NO_BOOL); + PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR); + PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS); + PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC); + PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS); + PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF); + PRINT_MACRO(_RWSTD_NO_CONST_INST); + PRINT_MACRO(_RWSTD_NO_CTOR_RETURN); + PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM); + PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS); + PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN); + PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN); + PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF); + PRINT_MACRO(_RWSTD_NO_EX_SPEC); + PRINT_MACRO(_RWSTD_NO_EXCEPTIONS); + PRINT_MACRO(_RWSTD_NO_EXPLICIT); + PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG); + PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); + PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION); + PRINT_MACRO(_RWSTD_NO_EXTENSION); + PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS); + PRINT_MACRO(_RWSTD_NO_FPOS_T); + PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC); + PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY); + PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ); + PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS); + PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); + PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF); + PRINT_MACRO(_RWSTD_NO_LDIV); + PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE); + PRINT_MACRO(_RWSTD_NO_LOCALE); + PRINT_MACRO(_RWSTD_NO_LONG_NAME); + PRINT_MACRO(_RWSTD_NO_LONGDOUBLE); + PRINT_MACRO(_RWSTD_NO_MBSTATE_T); + PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM); + PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR); + PRINT_MACRO(_RWSTD_NO_MEMMOVE); + PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY); + PRINT_MACRO(_RWSTD_NO_MUTABLE); + PRINT_MACRO(_RWSTD_NO_NAME_INJECTION); + PRINT_MACRO(_RWSTD_NO_NAMESPACE); + PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS); + PRINT_MACRO(_RWSTD_NO_NEW_DECL); + PRINT_MACRO(_RWSTD_NO_NEW_HEADER); + PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX); + PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN); + PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS); + PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION); + PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW); + PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); + PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR); + PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD); + PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE); + PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); + PRINT_MACRO(_RWSTD_NO_STATIC_CAST); + PRINT_MACRO(_RWSTD_NO_STATIC_DEF); + PRINT_MACRO(_RWSTD_NO_STATIC_DEF2); + PRINT_MACRO(_RWSTD_NO_STATIC_DEF3); + PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF); + PRINT_MACRO(_RWSTD_NO_STI_SIMPLE); + PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE); + PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE); + PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC); + PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); + PRINT_MACRO(_RWSTD_NO_SWPRINTF); + PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); + PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE); + PRINT_MACRO(_RWSTD_NO_THREADS); + PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW); + PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED); + PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST); + PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD); + PRINT_MACRO(_RWSTD_NO_TYPENAME); + PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND); + PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF); + PRINT_MACRO(_RWSTD_NO_WCHAR_H); + PRINT_MACRO(_RWSTD_NO_WCTYPE_H); + PRINT_MACRO(_RWSTD_NO_WIDE_CHAR); + PRINT_MACRO(_RWSTD_NO_WINT_TYPE); + PRINT_MACRO(_RWSTD_NO_WSTR); + PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS); + PRINT_MACRO(_RWSTD_POSIX_D10_THREADS); + PRINT_MACRO(_RWSTD_POSIX_THREADS); + PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP); + PRINT_MACRO(_RWSTD_SOLARIS_THREADS); + PRINT_MACRO(_RWSTD_STRUCT_TM_TZ); + PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM); + #elif defined(__STD_RWCOMPILER_H__) + // Rogue Wave 1.x std lib: + PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); + PRINT_MACRO(RWSTD_ALLOCATOR); + PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED); + PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED); + PRINT_MACRO(RWSTD_BOUNDS_CHECKING); + PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE); + PRINT_MACRO(RWSTD_DEFAULT_PRECISION); + PRINT_MACRO(RWSTD_EXCEPTION_DEFINED); + PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD); + PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED); + PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT); + PRINT_MACRO(RWSTD_LOCALIZED_ERRORS); + PRINT_MACRO(RWSTD_MESSAGE); + PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT); + PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF); + PRINT_MACRO(RWSTD_NO_ARG_MATCH); + PRINT_MACRO(RWSTD_NO_BAD_CAST); + PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH); + PRINT_MACRO(RWSTD_NO_BOOL); + PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR); + PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS); + PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC); + PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); + PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS); + PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF); + PRINT_MACRO(RWSTD_NO_CONST_INST); + PRINT_MACRO(RWSTD_NO_CTOR_RETURN); + PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM); + PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS); + PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN); + PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN); + PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF); + PRINT_MACRO(RWSTD_NO_EX_SPEC); + PRINT_MACRO(RWSTD_NO_EXCEPTIONS); + PRINT_MACRO(RWSTD_NO_EXPLICIT); + PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG); + PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); + PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION); + PRINT_MACRO(RWSTD_NO_EXTENSION); + PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS); + PRINT_MACRO(RWSTD_NO_FPOS_T); + PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES); + PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC); + PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY); + PRINT_MACRO(RWSTD_NO_GLOBAL_TZ); + PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS); + PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); + PRINT_MACRO(RWSTD_NO_INT_TYPEDEF); + PRINT_MACRO(RWSTD_NO_LDIV); + PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE); + PRINT_MACRO(RWSTD_NO_LOCALE); + PRINT_MACRO(RWSTD_NO_LONG_NAME); + PRINT_MACRO(RWSTD_NO_LONGDOUBLE); + PRINT_MACRO(RWSTD_NO_MBSTATE_T); + PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES); + PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES); + PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM); + PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR); + PRINT_MACRO(RWSTD_NO_MEMMOVE); + PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY); + PRINT_MACRO(RWSTD_NO_MUTABLE); + PRINT_MACRO(RWSTD_NO_NAME_INJECTION); + PRINT_MACRO(RWSTD_NO_NAMESPACE); + PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES); + PRINT_MACRO(RWSTD_NO_NEW_BRACKETS); + PRINT_MACRO(RWSTD_NO_NEW_DECL); + PRINT_MACRO(RWSTD_NO_NEW_HEADER); + PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX); + PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN); + PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS); + PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION); + PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW); + PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); + PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR); + PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD); + PRINT_MACRO(RWSTD_NO_RET_TEMPLATE); + PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); + PRINT_MACRO(RWSTD_NO_STATIC_CAST); + PRINT_MACRO(RWSTD_NO_STATIC_DEF); + PRINT_MACRO(RWSTD_NO_STATIC_DEF2); + PRINT_MACRO(RWSTD_NO_STATIC_DEF3); + PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF); + PRINT_MACRO(RWSTD_NO_STI_SIMPLE); + PRINT_MACRO(RWSTD_NO_STI_TEMPLATE); + PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE); + PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC); + PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); + PRINT_MACRO(RWSTD_NO_SWPRINTF); + PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); + PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE); + PRINT_MACRO(RWSTD_NO_THREADS); + PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW); + PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED); + PRINT_MACRO(RWSTD_NO_TYPEDEF_INST); + PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD); + PRINT_MACRO(RWSTD_NO_TYPENAME); + PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND); + PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF); + PRINT_MACRO(RWSTD_NO_WCHAR_H); + PRINT_MACRO(RWSTD_NO_WCTYPE_H); + PRINT_MACRO(RWSTD_NO_WIDE_CHAR); + PRINT_MACRO(RWSTD_NO_WINT_TYPE); + PRINT_MACRO(RWSTD_NO_WSTR); + PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS); + PRINT_MACRO(RWSTD_POSIX_D10_THREADS); + PRINT_MACRO(RWSTD_POSIX_THREADS); + PRINT_MACRO(RWSTD_REQUIRES_IEEEFP); + PRINT_MACRO(RWSTD_SOLARIS_THREADS); + PRINT_MACRO(RWSTD_STRUCT_TM_TZ); + PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM); + #endif + // Dinkumware options: + PRINT_MACRO(_CPPLIB_VER); + PRINT_MACRO(_MSVC_STL_VERSION); // VS2017 15.5+ + PRINT_MACRO(_MSVC_STL_UPDATE); // VS2017 15.5+ + PRINT_MACRO(_GLOBAL_USING); + PRINT_MACRO(_HAS_EXCEPTIONS); + PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND); + PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING); + // https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/ + PRINT_MACRO(_HAS_CXX17); + PRINT_MACRO(_HAS_AUTO_PTR_ETC); + PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS); + PRINT_MACRO(_HAS_FUNCTION_ASSIGN); + PRINT_MACRO(_HAS_TR1_NAMESPACE); + PRINT_MACRO(_HAS_IDENTITY_STRUCT); + // VS2017 15.5+ + PRINT_MACRO(_HAS_STATIC_RTTI); + PRINT_MACRO(_HAS_UNEXPECTED); + PRINT_MACRO(_HAS_STD_BYTE); + PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT); + PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE); + PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS); + PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS); + PRINT_MACRO(_HAS_INLINE_VARIABLES); + PRINT_MACRO(_HAS_ALIGNED_NEW); + PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES); + PRINT_MACRO(_ITERATOR_DEBUG_LEVEL); + PRINT_MACRO(_HAS_ITERATOR_DEBUGGING); + PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS); + // Libc++: + PRINT_MACRO(_LIBCPP_VERSION); + // STLPort and generic SGI STL options: + PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR); + PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS); + PRINT_MACRO(__SGI_STL_PORT); + PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS); + PRINT_MACRO(__STL_BASE_MATCH_BUG); + PRINT_MACRO(__STL_BASE_TYPEDEF_BUG); + PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG); + PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE); + PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG); + PRINT_MACRO(__STL_DEBUG); + PRINT_MACRO(__STL_DEBUG_ALLOC); + PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG); + PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM); + PRINT_MACRO(__STL_DONT_REDEFINE_STD); + PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF); + PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS); + PRINT_MACRO(__STL_HAS_NO_NAMESPACES); + PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS); + PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS); + PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD); + PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES); + PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION); + PRINT_MACRO(__STL_LONG_LONG); + PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS); + PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG); + PRINT_MACRO(__STL_NEED_EXPLICIT); + PRINT_MACRO(__STL_NEED_MUTABLE); + PRINT_MACRO(__STL_NEED_TYPENAME); + PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG); + PRINT_MACRO(__STL_NO_BAD_ALLOC); + PRINT_MACRO(__STL_NO_BOOL); + PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION); + PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS); + PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM); + PRINT_MACRO(__STL_NO_EXCEPTION_HEADER); + PRINT_MACRO(__STL_NO_EXCEPTION_SPEC); + PRINT_MACRO(__STL_NO_EXCEPTIONS); + PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS); + PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES); + PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER); + PRINT_MACRO(__STL_NO_IOSTREAMS); + PRINT_MACRO(__STL_NO_LONG_DOUBLE); + PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES); + PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD); + PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES); + PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION); + PRINT_MACRO(__STL_NO_NAMESPACES); + PRINT_MACRO(__STL_NO_NEW_IOSTREAMS); + PRINT_MACRO(__STL_NO_NEW_NEW_HEADER); + PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS); + PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX); + PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS); + PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE); + PRINT_MACRO(__STL_NO_SGI_IOSTREAMS); + PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA); + PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS); + PRINT_MACRO(__STL_NO_WCHAR_T); + PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG); + PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG); + PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); + PRINT_MACRO(__STL_RAND48); + PRINT_MACRO(__STL_STATIC_ARRAY_BUG); + PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); + PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); + PRINT_MACRO(__STL_THROW_RETURN_BUG); + PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG); + PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG); + PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE); + PRINT_MACRO(__STL_USE_ABBREVS); + PRINT_MACRO(__STL_USE_DEFALLOC); + PRINT_MACRO(__STL_USE_MALLOC); + PRINT_MACRO(__STL_USE_NEW_C_HEADERS); + PRINT_MACRO(__STL_USE_NEW_IOSTREAMS); + PRINT_MACRO(__STL_USE_NEWALLOC); + PRINT_MACRO(__STL_USE_OWN_NAMESPACE); + PRINT_MACRO(__STL_USE_SGI_ALLOCATORS); + PRINT_MACRO(__STL_WCHAR_T_IS_USHORT); + PRINT_MACRO(__STL_WEAK_ATTRIBUTE); + PRINT_MACRO(__STL_YVALS_H); + PRINT_MACRO(_NOTHREADS); + PRINT_MACRO(_PTHREADS); +#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400) + PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS); + PRINT_MACRO(_STLP_BASE_MATCH_BUG); + PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG); + PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG); + PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE); + PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG); + PRINT_MACRO(_STLP_DEBUG); + PRINT_MACRO(_STLP_DEBUG_ALLOC); + PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG); + PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM); + PRINT_MACRO(_STLP_DONT_REDEFINE_STD); + PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF); + PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS); + PRINT_MACRO(_STLP_HAS_NO_NAMESPACES); + PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS); + PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS); + PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD); + PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES); + PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION); + PRINT_MACRO(_STLP_LONG_LONG); + PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS); + PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG); + PRINT_MACRO(_STLP_NEED_EXPLICIT); + PRINT_MACRO(_STLP_NEED_MUTABLE); + PRINT_MACRO(_STLP_NEED_TYPENAME); + PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG); + PRINT_MACRO(_STLP_NO_ARROW_OPERATOR); + PRINT_MACRO(_STLP_NO_BAD_ALLOC); + PRINT_MACRO(_STLP_NO_BOOL); + PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION); + PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS); + PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM); + PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER); + PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC); + PRINT_MACRO(_STLP_NO_EXCEPTIONS); + PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS); + PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES); + PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER); + PRINT_MACRO(_STLP_NO_IOSTREAMS); + PRINT_MACRO(_STLP_NO_LONG_DOUBLE); + PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES); + PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD); + PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES); + PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION); + PRINT_MACRO(_STLP_NO_NAMESPACES); + PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS); + PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER); + PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS); + PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX); + PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS); + PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE); + PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS); + PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA); + PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS); + PRINT_MACRO(_STLP_NO_WCHAR_T); + PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG); + PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG); + PRINT_MACRO(_STLP_OWN_IOSTREAMS); + PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); + PRINT_MACRO(_STLP_RAND48); + PRINT_MACRO(_STLP_STATIC_ARRAY_BUG); + PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); + PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); + PRINT_MACRO(_STLP_THROW_RETURN_BUG); + PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG); + PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG); + PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE); + PRINT_MACRO(_STLP_USE_ABBREVS); + PRINT_MACRO(_STLP_USE_DEFALLOC); + PRINT_MACRO(_STLP_USE_MALLOC); + PRINT_MACRO(_STLP_USE_NEW_C_HEADERS); + PRINT_MACRO(_STLP_USE_NEWALLOC); + PRINT_MACRO(_STLP_USE_OWN_NAMESPACE); + PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS); + PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT); + PRINT_MACRO(_STLP_WEAK_ATTRIBUTE); + PRINT_MACRO(_STLP_YVALS_H); +#endif + PRINT_MACRO(__GLIBCPP__); + PRINT_MACRO(_GLIBCPP_USE_WCHAR_T); + PRINT_MACRO(_GLIBCPP_VERSION); + PRINT_MACRO(__GLIBCXX__); + PRINT_MACRO(_GLIBCXX_USE_WCHAR_T); + PRINT_MACRO(_GLIBCXX_VERSION); + PRINT_MACRO(_GLIBCXX_USE_LONG_LONG); + PRINT_MACRO(_GLIBCXX_USE_NLS); + PRINT_MACRO(_GLIBCXX_USE_C99_MATH); + PRINT_MACRO(_GLIBCXX_USE_C99); + PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS); + PRINT_MACRO(_GLIBCXX_USE_LFS); + PRINT_MACRO(_GLIBCXX_SYMVER); + PRINT_MACRO(_GLIBCXX_MEM_LIMITS); + PRINT_MACRO(_GLIBCXX_HOSTED); + PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS); + PRINT_MACRO(_GLIBCXX_RELEASE); + PRINT_MACRO(_GLIBCXX_USE_FLOAT128); + + // Modena C++ standard library + PRINT_MACRO(MSIPL_ANSI_HEADER); + PRINT_MACRO(MSIPL_BOOL_BUILTIN); + PRINT_MACRO(MSIPL_DEF_EXPLICIT); + PRINT_MACRO(MSIPL_DEF_TEMPARG); + PRINT_MACRO(MSIPL_EXPINST_ALLOWED); + PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG); + PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT); + PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG); + PRINT_MACRO(MSIPL_MEMBER_TEMPLATE); + PRINT_MACRO(MSIPL_MULTITHREAD); + PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG); + PRINT_MACRO(MSIPL_PARTIAL_TEMPL); + PRINT_MACRO(MSIPL_STATIC_CONST_INIT); + PRINT_MACRO(MSIPL_TEMPL_NEWSPEC); + PRINT_MACRO(MSIPL_TYPENAME); + PRINT_MACRO(MSIPL_USING_NAMESPACE); + PRINT_MACRO(MSIPL_WCHART); +} + +void print_platform_macros() +{ + std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl; + // signedness: + PRINT_SIGN(char); + PRINT_SIGN(wchar_t); + // byte ordering: + PRINT_ORDER(short); + PRINT_ORDER(int); + PRINT_ORDER(long); + // sizes: + PRINT_EXPRESSION(sizeof(wchar_t)); + PRINT_EXPRESSION(sizeof(short)); + PRINT_EXPRESSION(sizeof(int)); + PRINT_EXPRESSION(sizeof(long)); + PRINT_EXPRESSION(sizeof(size_t)); + PRINT_EXPRESSION(sizeof(ptrdiff_t)); + PRINT_EXPRESSION(sizeof(void*)); + PRINT_EXPRESSION(sizeof(void(*)(void))); + PRINT_EXPRESSION(sizeof(float)); + PRINT_EXPRESSION(sizeof(double)); + PRINT_EXPRESSION(sizeof(long double)); + // limits: + PRINT_MACRO(CHAR_BIT); + PRINT_MACRO(CHAR_MAX); + PRINT_MACRO(WCHAR_MAX); + PRINT_MACRO(SHRT_MAX); + PRINT_MACRO(INT_MAX); + PRINT_MACRO(LONG_MAX); + PRINT_MACRO(LLONG_MAX); + PRINT_MACRO(LONG_LONG_MAX); + PRINT_MACRO(LONGLONG_MAX); + PRINT_MACRO(ULLONG_MAX); // uses these, so we need to know them + PRINT_MACRO(ULONG_LONG_MAX); + PRINT_MACRO(ULONGLONG_MAX); + // general C99: + PRINT_MACRO(__STDC_IEC_559__); + PRINT_MACRO(__STDC_IEC_559_COMPLEX__); + PRINT_MACRO(__STDC_ISO_10646__); + // GNU: + PRINT_MACRO(__GLIBC__); + PRINT_MACRO(__GLIBC_MINOR__); + PRINT_MACRO(__GNU_LIBRARY__); + PRINT_MACRO(_BSD_SOURCE); + PRINT_MACRO(_GNU_SOURCE); + PRINT_MACRO(_ISOC99_SOURCE); + PRINT_MACRO(_ISOC9X_SOURCE); + PRINT_MACRO(_LARGEFILE_SOURCE); + PRINT_MACRO(_LARGEFILE64_SOURCE); + PRINT_MACRO(_SVID_SOURCE); + PRINT_MACRO(_THREAD_SAFE); + PRINT_MACRO(_XOPEN_SOURCE_EXTENDED); + PRINT_MACRO(XPG); + PRINT_MACRO(__MINGW32_MAJOR_VERSION); + PRINT_MACRO(__MINGW32_MINOR_VERSION); + // POSIX: + PRINT_MACRO(_POSIX_ADVISORY_INFO); + PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO); + PRINT_MACRO(_POSIX_BARRIERS); + PRINT_MACRO(_POSIX_C_SOURCE); + PRINT_MACRO(_POSIX_CHOWN_RESTRICTED); + PRINT_MACRO(_POSIX_CLOCK_SELECTION); + PRINT_MACRO(_POSIX_CPUTIME); + PRINT_MACRO(_POSIX_FSYNC); + PRINT_MACRO(_POSIX_JOB_CONTROL); + PRINT_MACRO(_POSIX_MAPPED_FILES); + PRINT_MACRO(_POSIX_MEMLOCK); + PRINT_MACRO(_POSIX_MEMLOCK_RANGE); + PRINT_MACRO(_POSIX_MEMORY_PROTECTION); + PRINT_MACRO(_POSIX_MESSAGE_PASSING); + PRINT_MACRO(_POSIX_MONOTONIC_CLOCK); + PRINT_MACRO(_POSIX_NO_TRUNC); + PRINT_MACRO(_POSIX_PRIORITIZED_IO); + PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING); + PRINT_MACRO(_POSIX_RAW_SOCKETS); + PRINT_MACRO(_POSIX_READER_WRITER_LOCKS); + PRINT_MACRO(_POSIX_REALTIME_SIGNALS); + PRINT_MACRO(_POSIX_REGEXP); + PRINT_MACRO(_POSIX_SAVED_IDS); + PRINT_MACRO(_POSIX_SEMAPHORES); + PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS); + PRINT_MACRO(_POSIX_SHELL); + PRINT_MACRO(_POSIX_SOURCE); + PRINT_MACRO(_POSIX_SPAWN); + PRINT_MACRO(_POSIX_SPIN_LOCKS); + PRINT_MACRO(_POSIX_SPORADIC_SERVER); + PRINT_MACRO(_POSIX_SYNCHRONIZED_IO); + PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR); + PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE); + PRINT_MACRO(_POSIX_THREAD_CPUTIME); + PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT); + PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT); + PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING); + PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED); + PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS); + PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER); + PRINT_MACRO(_POSIX_THREADS); + PRINT_MACRO(_POSIX_TIMEOUTS); + PRINT_MACRO(_POSIX_TIMERS); + PRINT_MACRO(_POSIX_TRACE); + PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER); + PRINT_MACRO(_POSIX_TRACE_INHERIT); + PRINT_MACRO(_POSIX_TRACE_LOG); + PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS); + PRINT_MACRO(_POSIX_VDISABLE); + PRINT_MACRO(_POSIX_VERSION); + PRINT_MACRO(_POSIX2_C_BIND); + PRINT_MACRO(_POSIX2_C_DEV); + PRINT_MACRO(_POSIX2_CHAR_TERM); + PRINT_MACRO(_POSIX2_FORT_DEV); + PRINT_MACRO(_POSIX2_FORT_RUN); + PRINT_MACRO(_POSIX2_LOCALEDEF); + PRINT_MACRO(_POSIX2_PBS); + PRINT_MACRO(_POSIX2_PBS_ACCOUNTING); + PRINT_MACRO(_POSIX2_PBS_CHECKPOINT); + PRINT_MACRO(_POSIX2_PBS_LOCATE); + PRINT_MACRO(_POSIX2_PBS_MESSAGE); + PRINT_MACRO(_POSIX2_PBS_TRACK); + PRINT_MACRO(_POSIX2_SW_DEV); + PRINT_MACRO(_POSIX2_UPE); + PRINT_MACRO(_POSIX2_VERSION); + PRINT_MACRO(_V6_ILP32_OFF32); + PRINT_MACRO(_V6_ILP32_OFFBIG); + PRINT_MACRO(_V6_LP64_OFF64); + PRINT_MACRO(_V6_LPBIG_OFFBIG); + PRINT_MACRO(_XBS5_ILP32_OFF32); + PRINT_MACRO(_XBS5_ILP32_OFFBIG); + PRINT_MACRO(_XBS5_LP64_OFF64); + PRINT_MACRO(_XBS5_LPBIG_OFFBIG); + PRINT_MACRO(_XOPEN_CRYPT); + PRINT_MACRO(_XOPEN_ENH_I18N); + PRINT_MACRO(_XOPEN_LEGACY); + PRINT_MACRO(_XOPEN_REALTIME); + PRINT_MACRO(_XOPEN_REALTIME_THREADS); + PRINT_MACRO(_XOPEN_SHM); + PRINT_MACRO(_XOPEN_SOURCE); + PRINT_MACRO(_XOPEN_STREAMS); + PRINT_MACRO(_XOPEN_UNIX); + PRINT_MACRO(_XOPEN_VERSION); + // Misc: + PRINT_MACRO(__USE_BSD); + PRINT_MACRO(_FILE_OFFSET_BITS); +} + +void print_boost_macros() +{ + std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl; + // config setup macros first: + PRINT_MACRO(BOOST_USER_CONFIG); + PRINT_MACRO(BOOST_COMPILER_CONFIG); + PRINT_MACRO(BOOST_STDLIB_CONFIG); + PRINT_MACRO(BOOST_PLATFORM_CONFIG); + PRINT_MACRO(BOOST_NO_CONFIG); + PRINT_MACRO(BOOST_NO_USER_CONFIG); + PRINT_MACRO(BOOST_NO_COMPILER_CONFIG); + PRINT_MACRO(BOOST_NO_STDLIB_CONFIG); + PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG); + // then defect and feature macros: + PRINT_MACRO(BOOST_DISABLE_THREADS); + PRINT_MACRO(BOOST_DISABLE_WIN32); + PRINT_MACRO(BOOST_HAS_THREADS); + PRINT_MACRO(BOOST_WINDOWS); + + // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!! + PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG); + PRINT_MACRO(BOOST_DEDUCED_TYPENAME); + PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); + PRINT_MACRO(BOOST_HAS_BETHREADS); + PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); + PRINT_MACRO(BOOST_HAS_DIRENT_H); + PRINT_MACRO(BOOST_HAS_EXPM1); + PRINT_MACRO(BOOST_HAS_FLOAT128); + PRINT_MACRO(BOOST_HAS_FTIME); + PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME); + PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY); + PRINT_MACRO(BOOST_HAS_HASH); + PRINT_MACRO(BOOST_HAS_INT128); + PRINT_MACRO(BOOST_HAS_LOG1P); + PRINT_MACRO(BOOST_HAS_LONG_LONG); + PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET); + PRINT_MACRO(BOOST_HAS_MS_INT64); + PRINT_MACRO(BOOST_HAS_NANOSLEEP); + PRINT_MACRO(BOOST_HAS_NL_TYPES_H); + PRINT_MACRO(BOOST_HAS_NRVO); + PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR); + PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH); + PRINT_MACRO(BOOST_HAS_PTHREADS); + PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP); + PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE); + PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD); + PRINT_MACRO(BOOST_HAS_RVALUE_REFS); + PRINT_MACRO(BOOST_HAS_SCHED_YIELD); + PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS); + PRINT_MACRO(BOOST_HAS_SIGACTION); + PRINT_MACRO(BOOST_HAS_SLIST); + PRINT_MACRO(BOOST_HAS_STATIC_ASSERT); + PRINT_MACRO(BOOST_HAS_STDINT_H); + PRINT_MACRO(BOOST_HAS_STLP_USE_FACET); + PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET); + PRINT_MACRO(BOOST_HAS_UNISTD_H); + PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL); + PRINT_MACRO(BOOST_HAS_WINTHREADS); + PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); + PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); + PRINT_MACRO(BOOST_NO_ADL_BARRIER); + PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); + PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); + PRINT_MACRO(BOOST_NO_AUTO_PTR); + PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION); + PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); + PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); + PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS); + PRINT_MACRO(BOOST_NO_CWCHAR); + PRINT_MACRO(BOOST_NO_CWCTYPE); + PRINT_MACRO(BOOST_NO_CXX03); + PRINT_MACRO(BOOST_NO_CXX11); + PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF); + PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS); + PRINT_MACRO(BOOST_NO_CXX11_ALIGNOF); + PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR); + PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR); + PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS); + PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS); + PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T); + PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T); + PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR); + PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE); + PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276); + PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS); + PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES); + PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS); + PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS); + PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE); + PRINT_MACRO(BOOST_NO_CXX11_FINAL); + PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS); + PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS); + PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY); + PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC); + PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO); + PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT); + PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE); + PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION); + PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST); + PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL); + PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE); + PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST); + PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX); + PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM); + PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO); + PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX); + PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR); + PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD); + PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE); + PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX); + PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS); + PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP); + PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET); + PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES); + PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS); + PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS); + PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT); + PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS); + PRINT_MACRO(BOOST_NO_CXX11_NULLPTR); + PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS); + PRINT_MACRO(BOOST_NO_CXX11_OVERRIDE); + PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS); + PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR); + PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS); + PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS); + PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES); + PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS); + PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR); + PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR); + PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT); + PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN); + PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES); + PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL); + PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES); + PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS); + PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX); + PRINT_MACRO(BOOST_NO_CXX11_UNRESTRICTED_UNION); + PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS); + PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS); + PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES); + PRINT_MACRO(BOOST_NO_CXX14); + PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI); + PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS); + PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR); + PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO); + PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS); + PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS); + PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX); + PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES); + PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION); + PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE); + PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); + PRINT_MACRO(BOOST_NO_CXX17); + PRINT_MACRO(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS); + PRINT_MACRO(BOOST_NO_CXX17_DEDUCTION_GUIDES); + PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); + PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY); + PRINT_MACRO(BOOST_NO_CXX17_HDR_CHARCONV); + PRINT_MACRO(BOOST_NO_CXX17_HDR_EXECUTION); + PRINT_MACRO(BOOST_NO_CXX17_HDR_FILESYSTEM); + PRINT_MACRO(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE); + PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL); + PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW); + PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT); + PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR); + PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); + PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); + PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY); + PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE); + PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS); + PRINT_MACRO(BOOST_NO_CXX20_HDR_BARRIER); + PRINT_MACRO(BOOST_NO_CXX20_HDR_BIT); + PRINT_MACRO(BOOST_NO_CXX20_HDR_COMPARE); + PRINT_MACRO(BOOST_NO_CXX20_HDR_CONCEPTS); + PRINT_MACRO(BOOST_NO_CXX20_HDR_COROUTINE); + PRINT_MACRO(BOOST_NO_CXX20_HDR_FORMAT); + PRINT_MACRO(BOOST_NO_CXX20_HDR_LATCH); + PRINT_MACRO(BOOST_NO_CXX20_HDR_NUMBERS); + PRINT_MACRO(BOOST_NO_CXX20_HDR_RANGES); + PRINT_MACRO(BOOST_NO_CXX20_HDR_SEMAPHORE); + PRINT_MACRO(BOOST_NO_CXX20_HDR_SOURCE_LOCATION); + PRINT_MACRO(BOOST_NO_CXX20_HDR_SPAN); + PRINT_MACRO(BOOST_NO_CXX20_HDR_STOP_TOKEN); + PRINT_MACRO(BOOST_NO_CXX20_HDR_SYNCSTREAM); + PRINT_MACRO(BOOST_NO_CXX20_HDR_VERSION); + PRINT_MACRO(BOOST_NO_CXX23_HDR_EXPECTED); + PRINT_MACRO(BOOST_NO_CXX23_HDR_FLAT_MAP); + PRINT_MACRO(BOOST_NO_CXX23_HDR_FLAT_SET); + PRINT_MACRO(BOOST_NO_CXX23_HDR_GENERATOR); + PRINT_MACRO(BOOST_NO_CXX23_HDR_MDSPAN); + PRINT_MACRO(BOOST_NO_CXX23_HDR_PRINT); + PRINT_MACRO(BOOST_NO_CXX23_HDR_SPANSTREAM); + PRINT_MACRO(BOOST_NO_CXX23_HDR_STACKTRACE); + PRINT_MACRO(BOOST_NO_CXX23_HDR_STDFLOAT); + PRINT_MACRO(BOOST_NO_CXX98_BINDERS); + PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE); + PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE); + PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); + PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); + PRINT_MACRO(BOOST_NO_EXCEPTIONS); + PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE); + PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); + PRINT_MACRO(BOOST_NO_FENV_H); + PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); + PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); + PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION); + PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T); + PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T); + PRINT_MACRO(BOOST_NO_IOSFWD); + PRINT_MACRO(BOOST_NO_IOSTREAM); + PRINT_MACRO(BOOST_NO_IS_ABSTRACT); + PRINT_MACRO(BOOST_NO_LIMITS); + PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS); + PRINT_MACRO(BOOST_NO_LONG_LONG); + PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS); + PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS); + PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES); + PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS); + PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD); + PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS); + PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP); + PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE); + PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS); + PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); + PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); + PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); + PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES); + PRINT_MACRO(BOOST_NO_RTTI); + PRINT_MACRO(BOOST_NO_SFINAE); + PRINT_MACRO(BOOST_NO_SFINAE_EXPR); + PRINT_MACRO(BOOST_NO_STDC_NAMESPACE); + PRINT_MACRO(BOOST_NO_STD_ALLOCATOR); + PRINT_MACRO(BOOST_NO_STD_DISTANCE); + PRINT_MACRO(BOOST_NO_STD_ITERATOR); + PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS); + PRINT_MACRO(BOOST_NO_STD_LOCALE); + PRINT_MACRO(BOOST_NO_STD_MESSAGES); + PRINT_MACRO(BOOST_NO_STD_MIN_MAX); + PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN); + PRINT_MACRO(BOOST_NO_STD_TYPEINFO); + PRINT_MACRO(BOOST_NO_STD_USE_FACET); + PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF); + PRINT_MACRO(BOOST_NO_STD_WSTRING); + PRINT_MACRO(BOOST_NO_STRINGSTREAM); + PRINT_MACRO(BOOST_NO_SWPRINTF); + PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS); + PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS); + PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION); + PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES); + PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP); + PRINT_MACRO(BOOST_NO_TYPEID); + PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR); + PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION); + PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE); + PRINT_MACRO(BOOST_NO_USING_TEMPLATE); + PRINT_MACRO(BOOST_NO_VOID_RETURNS); + + + + + + + + + + + + + + + + + + + // END GENERATED BLOCK + + PRINT_MACRO(BOOST_CXX_VERSION); + PRINT_MACRO(BOOST_INTEL); + PRINT_MACRO(BOOST_MSVC); + PRINT_MACRO(BOOST_GCC); + PRINT_MACRO(BOOST_CLANG); + PRINT_MACRO(BOOST_CLANG_VERSION); + PRINT_MACRO(BOOST_LIBSTDCXX_VERSION); + PRINT_MACRO(BOOST_MSSTL_VERSION); + PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE); + PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0)); + PRINT_MACRO(BOOST_CONSTEXPR); + PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST); + PRINT_MACRO(BOOST_STATIC_CONSTEXPR); + PRINT_MACRO(BOOST_NOEXCEPT); + PRINT_MACRO(BOOST_FORCEINLINE); + PRINT_MACRO(BOOST_NOINLINE); + PRINT_MACRO(BOOST_FALLTHROUGH); + PRINT_MACRO(BOOST_MAY_ALIAS); + PRINT_MACRO(BOOST_NO_MAY_ALIAS); + PRINT_MACRO(BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS); + PRINT_MACRO(BOOST_ATTRIBUTE_UNUSED); + PRINT_MACRO(BOOST_UNLIKELY); + PRINT_MACRO(BOOST_NORETURN); +} + +#ifdef __has_include +#if __has_include() +# include +#endif +#if __has_include() && (BOOST_CXX_VERSION > 201100) +# include +#endif +#endif + +void print_sd6_macros() +{ + // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html + + // Library macros are only really available if we have : + + PRINT_MACRO(__cpp_lib_addressof_constexpr); + PRINT_MACRO(__cpp_lib_allocator_traits_is_always_equal); + PRINT_MACRO(__cpp_lib_any); + PRINT_MACRO(__cpp_lib_apply); + PRINT_MACRO(__cpp_lib_array_constexpr); + PRINT_MACRO(__cpp_lib_as_const); + PRINT_MACRO(__cpp_lib_assume_aligned); + PRINT_MACRO(__cpp_lib_atomic_flag_test); + PRINT_MACRO(__cpp_lib_atomic_float); + PRINT_MACRO(__cpp_lib_atomic_is_always_lock_free); + PRINT_MACRO(__cpp_lib_atomic_lock_free_type_aliases); + PRINT_MACRO(__cpp_lib_atomic_ref); + PRINT_MACRO(__cpp_lib_atomic_shared_ptr); + PRINT_MACRO(__cpp_lib_atomic_value_initialization); + PRINT_MACRO(__cpp_lib_atomic_wait); + PRINT_MACRO(__cpp_lib_barrier); + PRINT_MACRO(__cpp_lib_bind_front); + PRINT_MACRO(__cpp_lib_bit_cast); + PRINT_MACRO(__cpp_lib_bitops); + PRINT_MACRO(__cpp_lib_bool_constant); + PRINT_MACRO(__cpp_lib_bounded_array_traits); + PRINT_MACRO(__cpp_lib_boyer_moore_searcher); + PRINT_MACRO(__cpp_lib_byte); + PRINT_MACRO(__cpp_lib_char8_t); + PRINT_MACRO(__cpp_lib_chrono); + PRINT_MACRO(__cpp_lib_chrono_udls); + PRINT_MACRO(__cpp_lib_clamp); + PRINT_MACRO(__cpp_lib_complex_udls); + PRINT_MACRO(__cpp_lib_concepts); + PRINT_MACRO(__cpp_lib_constexpr_algorithms); + PRINT_MACRO(__cpp_lib_constexpr_complex); + PRINT_MACRO(__cpp_lib_constexpr_dynamic_alloc); + PRINT_MACRO(__cpp_lib_constexpr_functional); + PRINT_MACRO(__cpp_lib_constexpr_iterator); + PRINT_MACRO(__cpp_lib_constexpr_memory); + PRINT_MACRO(__cpp_lib_constexpr_numeric); + PRINT_MACRO(__cpp_lib_constexpr_string); + PRINT_MACRO(__cpp_lib_constexpr_string_view); + PRINT_MACRO(__cpp_lib_constexpr_tuple); + PRINT_MACRO(__cpp_lib_constexpr_utility); + PRINT_MACRO(__cpp_lib_constexpr_vector); + PRINT_MACRO(__cpp_lib_coroutine); + PRINT_MACRO(__cpp_lib_destroying_delete); + PRINT_MACRO(__cpp_lib_enable_shared_from_this); + PRINT_MACRO(__cpp_lib_endian); + PRINT_MACRO(__cpp_lib_erase_if); + PRINT_MACRO(__cpp_lib_exchange_function); + PRINT_MACRO(__cpp_lib_execution); + PRINT_MACRO(__cpp_lib_expected); + PRINT_MACRO(__cpp_lib_filesystem); + PRINT_MACRO(__cpp_lib_flat_map); + PRINT_MACRO(__cpp_lib_flat_set); + PRINT_MACRO(__cpp_lib_format); + PRINT_MACRO(__cpp_lib_gcd_lcm); + PRINT_MACRO(__cpp_lib_generator); + PRINT_MACRO(__cpp_lib_generic_associative_lookup); + PRINT_MACRO(__cpp_lib_generic_unordered_lookup); + PRINT_MACRO(__cpp_lib_hardware_interference_size); + PRINT_MACRO(__cpp_lib_has_unique_object_representations); + PRINT_MACRO(__cpp_lib_hypot); + PRINT_MACRO(__cpp_lib_incomplete_container_elements); + PRINT_MACRO(__cpp_lib_int_pow2); + PRINT_MACRO(__cpp_lib_integer_comparison_functions); + PRINT_MACRO(__cpp_lib_integer_sequence); + PRINT_MACRO(__cpp_lib_integral_constant_callable); + PRINT_MACRO(__cpp_lib_interpolate); + PRINT_MACRO(__cpp_lib_invoke); + PRINT_MACRO(__cpp_lib_is_aggregate); + PRINT_MACRO(__cpp_lib_is_constant_evaluated); + PRINT_MACRO(__cpp_lib_is_final); + PRINT_MACRO(__cpp_lib_is_invocable); + PRINT_MACRO(__cpp_lib_is_layout_compatible); + PRINT_MACRO(__cpp_lib_is_nothrow_convertible); + PRINT_MACRO(__cpp_lib_is_null_pointer); + PRINT_MACRO(__cpp_lib_is_pointer_interconvertible); + PRINT_MACRO(__cpp_lib_is_swappable); + PRINT_MACRO(__cpp_lib_jthread); + PRINT_MACRO(__cpp_lib_latch); + PRINT_MACRO(__cpp_lib_launder); + PRINT_MACRO(__cpp_lib_list_remove_return_type); + PRINT_MACRO(__cpp_lib_logical_traits); + PRINT_MACRO(__cpp_lib_make_from_tuple); + PRINT_MACRO(__cpp_lib_make_reverse_iterator); + PRINT_MACRO(__cpp_lib_make_unique); + PRINT_MACRO(__cpp_lib_map_try_emplace); + PRINT_MACRO(__cpp_lib_math_constants); + PRINT_MACRO(__cpp_lib_math_special_functions); + PRINT_MACRO(__cpp_lib_mdspan); + PRINT_MACRO(__cpp_lib_memory_resource); + PRINT_MACRO(__cpp_lib_node_extract); + PRINT_MACRO(__cpp_lib_nonmember_container_access); + PRINT_MACRO(__cpp_lib_not_fn); + PRINT_MACRO(__cpp_lib_null_iterators); + PRINT_MACRO(__cpp_lib_optional); + PRINT_MACRO(__cpp_lib_parallel_algorithm); + PRINT_MACRO(__cpp_lib_polymorphic_allocator); + PRINT_MACRO(__cpp_lib_print); + PRINT_MACRO(__cpp_lib_quoted_string_io); + PRINT_MACRO(__cpp_lib_ranges); + PRINT_MACRO(__cpp_lib_raw_memory_algorithms); + PRINT_MACRO(__cpp_lib_remove_cvref); + PRINT_MACRO(__cpp_lib_result_of_sfinae); + PRINT_MACRO(__cpp_lib_robust_nonmodifying_seq_ops); + PRINT_MACRO(__cpp_lib_sample); + PRINT_MACRO(__cpp_lib_scoped_lock); + PRINT_MACRO(__cpp_lib_semaphore); + PRINT_MACRO(__cpp_lib_shared_mutex); + PRINT_MACRO(__cpp_lib_shared_ptr_arrays); + PRINT_MACRO(__cpp_lib_shared_ptr_weak_type); + PRINT_MACRO(__cpp_lib_shared_timed_mutex); + PRINT_MACRO(__cpp_lib_shift); + PRINT_MACRO(__cpp_lib_smart_ptr_for_overwrite); + PRINT_MACRO(__cpp_lib_source_location); + PRINT_MACRO(__cpp_lib_span); + PRINT_MACRO(__cpp_lib_spanstream); + PRINT_MACRO(__cpp_lib_ssize); + PRINT_MACRO(__cpp_lib_stacktrace); + PRINT_MACRO(__cpp_lib_starts_ends_with); + PRINT_MACRO(__cpp_lib_string_udls); + PRINT_MACRO(__cpp_lib_string_view); + PRINT_MACRO(__cpp_lib_syncbuf); + PRINT_MACRO(__cpp_lib_three_way_comparison); + PRINT_MACRO(__cpp_lib_to_address); + PRINT_MACRO(__cpp_lib_to_array); + PRINT_MACRO(__cpp_lib_to_chars); + PRINT_MACRO(__cpp_lib_transformation_trait_aliases); + PRINT_MACRO(__cpp_lib_transparent_operators); + PRINT_MACRO(__cpp_lib_tuple_element_t); + PRINT_MACRO(__cpp_lib_tuples_by_type); + PRINT_MACRO(__cpp_lib_type_identity); + PRINT_MACRO(__cpp_lib_type_trait_variable_templates); + PRINT_MACRO(__cpp_lib_uncaught_exceptions); + PRINT_MACRO(__cpp_lib_unordered_map_try_emplace); + PRINT_MACRO(__cpp_lib_unwrap_ref); + PRINT_MACRO(__cpp_lib_variant); + PRINT_MACRO(__cpp_lib_void_t); + + // C++20: + PRINT_MACRO(__cpp_aggregate_paren_init); + PRINT_MACRO(__cpp_char8_t); + PRINT_MACRO(__cpp_char8_type); + PRINT_MACRO(__cpp_conditional_explicit); + PRINT_MACRO(__cpp_coroutines); + PRINT_MACRO(__cpp_impl_destroying_delete); + PRINT_MACRO(__cpp_impl_three_way_comparison); + PRINT_MACRO(__cpp_nontype_template_parameter_class); + + // C++17: + PRINT_MACRO(__cpp_hex_float); + PRINT_MACRO(__cpp_inline_variables); + PRINT_MACRO(__cpp_aligned_new); + PRINT_MACRO(__cpp_guaranteed_copy_elision); + PRINT_MACRO(__cpp_noexcept_function_type); + PRINT_MACRO(__cpp_fold_expressions); + PRINT_MACRO(__cpp_capture_star_this); + PRINT_MACRO(__cpp_constexpr); + PRINT_MACRO(__cpp_if_constexpr); + PRINT_MACRO(__cpp_range_based_for); + PRINT_MACRO(__cpp_static_assert); + PRINT_MACRO(__cpp_deduction_guides); + PRINT_MACRO(__cpp_nontype_template_parameter_auto); + PRINT_MACRO(__cpp_namespace_attributes); + PRINT_MACRO(__cpp_enumerator_attributes); + PRINT_MACRO(__cpp_inheriting_constructors); + PRINT_MACRO(__cpp_variadic_using); + PRINT_MACRO(__cpp_structured_bindings); + PRINT_MACRO(__cpp_aggregate_bases); + PRINT_MACRO(__cpp_nontype_template_args); + PRINT_MACRO(__cpp_template_template_args); + + // C++14: + PRINT_MACRO(__cpp_binary_literals); + PRINT_MACRO(__cpp_init_captures); + PRINT_MACRO(__cpp_generic_lambdas); + PRINT_MACRO(__cpp_sized_deallocation); + PRINT_MACRO(__cpp_decltype_auto); + PRINT_MACRO(__cpp_return_type_deduction); + PRINT_MACRO(__cpp_aggregate_nsdmi); + PRINT_MACRO(__cpp_variable_templates); + + // C++11: + PRINT_MACRO(__cpp_unicode_characters); + PRINT_MACRO(__cpp_raw_strings); + PRINT_MACRO(__cpp_unicode_literals); + PRINT_MACRO(__cpp_user_defined_literals); + PRINT_MACRO(__cpp_threadsafe_static_init); + PRINT_MACRO(__cpp_lambdas); + PRINT_MACRO(__cpp_decltype); + PRINT_MACRO(__cpp_attributes); + PRINT_MACRO(__cpp_rvalue_references); + PRINT_MACRO(__cpp_variadic_templates); + PRINT_MACRO(__cpp_initializer_lists); + PRINT_MACRO(__cpp_delegating_constructors); + PRINT_MACRO(__cpp_nsdmi); + PRINT_MACRO(__cpp_ref_qualifiers); + PRINT_MACRO(__cpp_alias_templates); + + // C++98: + PRINT_MACRO(__cpp_rtti); + PRINT_MACRO(__cpp_exceptions); + + // : + PRINT_MACRO(ATOMIC_INT_LOCK_FREE); + PRINT_MACRO(ATOMIC_SHORT_LOCK_FREE); + PRINT_MACRO(ATOMIC_LONG_LOCK_FREE); + PRINT_MACRO(ATOMIC_LLONG_LOCK_FREE); + PRINT_MACRO(ATOMIC_POINTER_LOCK_FREE); + PRINT_MACRO(ATOMIC_CHAR_LOCK_FREE); + PRINT_MACRO(ATOMIC_WCHAR_T_LOCK_FREE); + PRINT_MACRO(ATOMIC_CHAR8_T_LOCK_FREE); + PRINT_MACRO(ATOMIC_CHAR16_T_LOCK_FREE); + PRINT_MACRO(ATOMIC_CHAR32_T_LOCK_FREE); +} + +void print_separator() +{ + std::cout << +"\n\n*********************************************************************\n\n"; +} + +int main() +{ + + // boost compiler workaround defines + print_compiler_macros(); + print_separator(); + print_stdlib_macros(); + print_separator(); + print_platform_macros(); + print_separator(); + print_boost_macros(); + print_separator(); + print_sd6_macros(); + + return 0; +} diff --git a/test/config_info/regex_config_info.cpp b/test/config_info/regex_config_info.cpp index 211e9ec0c..1c5078461 100644 --- a/test/config_info/regex_config_info.cpp +++ b/test/config_info/regex_config_info.cpp @@ -19,7 +19,7 @@ #endif #define main OLD_MAIN -#include +#include #undef main #ifndef NEW_MAIN # define NEW_MAIN main @@ -44,8 +44,6 @@ int NEW_MAIN() PRINT_MACRO(BOOST_REGEX_NO_FWD); PRINT_MACRO(BOOST_REGEX_V3); PRINT_MACRO(BOOST_REGEX_HAS_MS_STACK_GUARD); - PRINT_MACRO(BOOST_REGEX_RECURSIVE); - PRINT_MACRO(BOOST_REGEX_NON_RECURSIVE); PRINT_MACRO(BOOST_REGEX_BLOCKSIZE); PRINT_MACRO(BOOST_REGEX_MAX_BLOCKS); PRINT_MACRO(BOOST_REGEX_MAX_CACHE_BLOCKS); diff --git a/test/de_fuzz/corpus/001ba32e9488b739cad5c47cf6743092c3e959ba b/test/de_fuzz/corpus/001ba32e9488b739cad5c47cf6743092c3e959ba deleted file mode 100644 index 3ae87bcf2..000000000 Binary files a/test/de_fuzz/corpus/001ba32e9488b739cad5c47cf6743092c3e959ba and /dev/null differ diff --git a/test/de_fuzz/corpus/0022cb33f1cee7a46b962b9531184db5c56061df b/test/de_fuzz/corpus/0022cb33f1cee7a46b962b9531184db5c56061df deleted file mode 100644 index 330a003c7..000000000 Binary files a/test/de_fuzz/corpus/0022cb33f1cee7a46b962b9531184db5c56061df and /dev/null differ diff --git a/test/de_fuzz/corpus/0024c001b45a2ff3eb568d8a0c3e461aceb73417 b/test/de_fuzz/corpus/0024c001b45a2ff3eb568d8a0c3e461aceb73417 deleted file mode 100644 index 3d6d90ae6..000000000 Binary files a/test/de_fuzz/corpus/0024c001b45a2ff3eb568d8a0c3e461aceb73417 and /dev/null differ diff --git a/test/de_fuzz/corpus/008845a0cee378bad5ae87f276ce5f942febab66 b/test/de_fuzz/corpus/008845a0cee378bad5ae87f276ce5f942febab66 deleted file mode 100644 index 849afbb59..000000000 Binary files a/test/de_fuzz/corpus/008845a0cee378bad5ae87f276ce5f942febab66 and /dev/null differ diff --git a/test/de_fuzz/corpus/009a13687872382d9ea4ccb32d90583fcdbd43b7 b/test/de_fuzz/corpus/009a13687872382d9ea4ccb32d90583fcdbd43b7 deleted file mode 100644 index da85ccb59..000000000 Binary files a/test/de_fuzz/corpus/009a13687872382d9ea4ccb32d90583fcdbd43b7 and /dev/null differ diff --git a/test/de_fuzz/corpus/00ebfa429dbb73ad5188bdb5956364b45e4b8c71 b/test/de_fuzz/corpus/00ebfa429dbb73ad5188bdb5956364b45e4b8c71 deleted file mode 100644 index 02492fa3b..000000000 Binary files a/test/de_fuzz/corpus/00ebfa429dbb73ad5188bdb5956364b45e4b8c71 and /dev/null differ diff --git a/test/de_fuzz/corpus/00f8a813a4079f137f5a7ba9ad2d8d759afe8fa6 b/test/de_fuzz/corpus/00f8a813a4079f137f5a7ba9ad2d8d759afe8fa6 deleted file mode 100644 index 85dfb90db..000000000 Binary files a/test/de_fuzz/corpus/00f8a813a4079f137f5a7ba9ad2d8d759afe8fa6 and /dev/null differ diff --git a/test/de_fuzz/corpus/01745b71bcf3c1f4763f1e0ac7b9ed8e55af4596 b/test/de_fuzz/corpus/01745b71bcf3c1f4763f1e0ac7b9ed8e55af4596 deleted file mode 100644 index 98a62b236..000000000 Binary files a/test/de_fuzz/corpus/01745b71bcf3c1f4763f1e0ac7b9ed8e55af4596 and /dev/null differ diff --git a/test/de_fuzz/corpus/01ba758580a918e8dd905999396066804be057d3 b/test/de_fuzz/corpus/01ba758580a918e8dd905999396066804be057d3 deleted file mode 100644 index dbea194fc..000000000 Binary files a/test/de_fuzz/corpus/01ba758580a918e8dd905999396066804be057d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/01daae36295786b241b430e93bc27ecdb21d0e1c b/test/de_fuzz/corpus/01daae36295786b241b430e93bc27ecdb21d0e1c deleted file mode 100644 index c7a1aedd9..000000000 Binary files a/test/de_fuzz/corpus/01daae36295786b241b430e93bc27ecdb21d0e1c and /dev/null differ diff --git a/test/de_fuzz/corpus/0214b13c2b40b2fe579aeaa2b803ebbfcd80effb b/test/de_fuzz/corpus/0214b13c2b40b2fe579aeaa2b803ebbfcd80effb deleted file mode 100644 index e86c86ba2..000000000 Binary files a/test/de_fuzz/corpus/0214b13c2b40b2fe579aeaa2b803ebbfcd80effb and /dev/null differ diff --git a/test/de_fuzz/corpus/0219a92fba5b22aad678f90c02fea5f718afbb81 b/test/de_fuzz/corpus/0219a92fba5b22aad678f90c02fea5f718afbb81 deleted file mode 100644 index d0bb55e6f..000000000 Binary files a/test/de_fuzz/corpus/0219a92fba5b22aad678f90c02fea5f718afbb81 and /dev/null differ diff --git a/test/de_fuzz/corpus/024349a474519deb9e508901eaf34ef39792ff8c b/test/de_fuzz/corpus/024349a474519deb9e508901eaf34ef39792ff8c deleted file mode 100644 index 4cc109b61..000000000 Binary files a/test/de_fuzz/corpus/024349a474519deb9e508901eaf34ef39792ff8c and /dev/null differ diff --git a/test/de_fuzz/corpus/024999955824849ef5de2856ee5e29a682bb0991 b/test/de_fuzz/corpus/024999955824849ef5de2856ee5e29a682bb0991 deleted file mode 100644 index 289866fa1..000000000 Binary files a/test/de_fuzz/corpus/024999955824849ef5de2856ee5e29a682bb0991 and /dev/null differ diff --git a/test/de_fuzz/corpus/025bb14c5c3d27a0908f0bb363dc4988918ff67b b/test/de_fuzz/corpus/025bb14c5c3d27a0908f0bb363dc4988918ff67b deleted file mode 100644 index 9107f0834..000000000 Binary files a/test/de_fuzz/corpus/025bb14c5c3d27a0908f0bb363dc4988918ff67b and /dev/null differ diff --git a/test/de_fuzz/corpus/02a5620461612a1944428314410762a948f95bb3 b/test/de_fuzz/corpus/02a5620461612a1944428314410762a948f95bb3 deleted file mode 100644 index b35ae4590..000000000 Binary files a/test/de_fuzz/corpus/02a5620461612a1944428314410762a948f95bb3 and /dev/null differ diff --git a/test/de_fuzz/corpus/02d8400da629642911de8704c15e20932f0d7d38 b/test/de_fuzz/corpus/02d8400da629642911de8704c15e20932f0d7d38 deleted file mode 100644 index 8f7a40893..000000000 Binary files a/test/de_fuzz/corpus/02d8400da629642911de8704c15e20932f0d7d38 and /dev/null differ diff --git a/test/de_fuzz/corpus/02f33a351a3bbc21f6fb7f2f7fd980c730f32cb0 b/test/de_fuzz/corpus/02f33a351a3bbc21f6fb7f2f7fd980c730f32cb0 deleted file mode 100644 index 24d6d2ff3..000000000 Binary files a/test/de_fuzz/corpus/02f33a351a3bbc21f6fb7f2f7fd980c730f32cb0 and /dev/null differ diff --git a/test/de_fuzz/corpus/02f406876967292fa39f061dd1ec2ff0e3c53e74 b/test/de_fuzz/corpus/02f406876967292fa39f061dd1ec2ff0e3c53e74 deleted file mode 100644 index 605d3d25c..000000000 Binary files a/test/de_fuzz/corpus/02f406876967292fa39f061dd1ec2ff0e3c53e74 and /dev/null differ diff --git a/test/de_fuzz/corpus/031ca47c0959456d1f0dacd483cb3167dfb05aad b/test/de_fuzz/corpus/031ca47c0959456d1f0dacd483cb3167dfb05aad deleted file mode 100644 index 9c0bbbbeb..000000000 Binary files a/test/de_fuzz/corpus/031ca47c0959456d1f0dacd483cb3167dfb05aad and /dev/null differ diff --git a/test/de_fuzz/corpus/0334845542326f79e3fafbe94969c6b369f004bc b/test/de_fuzz/corpus/0334845542326f79e3fafbe94969c6b369f004bc deleted file mode 100644 index e27adcb2c..000000000 --- a/test/de_fuzz/corpus/0334845542326f79e3fafbe94969c6b369f004bc +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+;+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+b) \ No newline at end of file diff --git a/test/de_fuzz/corpus/035e7ceca28af7af6a84062ab32fefa2c54b869f b/test/de_fuzz/corpus/035e7ceca28af7af6a84062ab32fefa2c54b869f deleted file mode 100644 index 3f1ccaa20..000000000 Binary files a/test/de_fuzz/corpus/035e7ceca28af7af6a84062ab32fefa2c54b869f and /dev/null differ diff --git a/test/de_fuzz/corpus/0377c135f27099a908e16b2939f2576c76664cb6 b/test/de_fuzz/corpus/0377c135f27099a908e16b2939f2576c76664cb6 deleted file mode 100644 index 5eca7537d..000000000 Binary files a/test/de_fuzz/corpus/0377c135f27099a908e16b2939f2576c76664cb6 and /dev/null differ diff --git a/test/de_fuzz/corpus/03a4aada6edc5cfd457ffe100222aa70fb632303 b/test/de_fuzz/corpus/03a4aada6edc5cfd457ffe100222aa70fb632303 deleted file mode 100644 index 9fc1d6d07..000000000 Binary files a/test/de_fuzz/corpus/03a4aada6edc5cfd457ffe100222aa70fb632303 and /dev/null differ diff --git a/test/de_fuzz/corpus/03c11cdd4941456244521dbfdcc2c7e203cbf029 b/test/de_fuzz/corpus/03c11cdd4941456244521dbfdcc2c7e203cbf029 deleted file mode 100644 index 445ce5c08..000000000 Binary files a/test/de_fuzz/corpus/03c11cdd4941456244521dbfdcc2c7e203cbf029 and /dev/null differ diff --git a/test/de_fuzz/corpus/03ce080ad97029cfc9eef7522183313f1ca6c2d3 b/test/de_fuzz/corpus/03ce080ad97029cfc9eef7522183313f1ca6c2d3 deleted file mode 100644 index 7bec549fd..000000000 Binary files a/test/de_fuzz/corpus/03ce080ad97029cfc9eef7522183313f1ca6c2d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/045a1eefc4794466a95d88258d9ef04770d73185 b/test/de_fuzz/corpus/045a1eefc4794466a95d88258d9ef04770d73185 deleted file mode 100644 index 5ea12deb1..000000000 Binary files a/test/de_fuzz/corpus/045a1eefc4794466a95d88258d9ef04770d73185 and /dev/null differ diff --git a/test/de_fuzz/corpus/0493029275f5fd15bdbdeb0cecc75446e6129b5f b/test/de_fuzz/corpus/0493029275f5fd15bdbdeb0cecc75446e6129b5f deleted file mode 100644 index 67983efc8..000000000 Binary files a/test/de_fuzz/corpus/0493029275f5fd15bdbdeb0cecc75446e6129b5f and /dev/null differ diff --git a/test/de_fuzz/corpus/04a5b0fee5ba00981cfa30fb43699627807c5cbc b/test/de_fuzz/corpus/04a5b0fee5ba00981cfa30fb43699627807c5cbc deleted file mode 100644 index dc3045e3e..000000000 Binary files a/test/de_fuzz/corpus/04a5b0fee5ba00981cfa30fb43699627807c5cbc and /dev/null differ diff --git a/test/de_fuzz/corpus/04aef19f0180da14df8d2bcc28635eed295c6af8 b/test/de_fuzz/corpus/04aef19f0180da14df8d2bcc28635eed295c6af8 deleted file mode 100644 index a582a308c..000000000 Binary files a/test/de_fuzz/corpus/04aef19f0180da14df8d2bcc28635eed295c6af8 and /dev/null differ diff --git a/test/de_fuzz/corpus/04c166cc1bf6fc1f396da3060e44e2651d37fa50 b/test/de_fuzz/corpus/04c166cc1bf6fc1f396da3060e44e2651d37fa50 deleted file mode 100644 index 268aed644..000000000 Binary files a/test/de_fuzz/corpus/04c166cc1bf6fc1f396da3060e44e2651d37fa50 and /dev/null differ diff --git a/test/de_fuzz/corpus/04ee7e168599133f68121b7560dc006209927d0e b/test/de_fuzz/corpus/04ee7e168599133f68121b7560dc006209927d0e deleted file mode 100644 index a8d270310..000000000 Binary files a/test/de_fuzz/corpus/04ee7e168599133f68121b7560dc006209927d0e and /dev/null differ diff --git a/test/de_fuzz/corpus/04fc8bac2ae97c2f41cf8ba47deae7d2269d9ef5 b/test/de_fuzz/corpus/04fc8bac2ae97c2f41cf8ba47deae7d2269d9ef5 deleted file mode 100644 index 75f4d5204..000000000 Binary files a/test/de_fuzz/corpus/04fc8bac2ae97c2f41cf8ba47deae7d2269d9ef5 and /dev/null differ diff --git a/test/de_fuzz/corpus/052e71789f1e90175615dfd24fe118b1a1158673 b/test/de_fuzz/corpus/052e71789f1e90175615dfd24fe118b1a1158673 deleted file mode 100644 index 7139f2c31..000000000 Binary files a/test/de_fuzz/corpus/052e71789f1e90175615dfd24fe118b1a1158673 and /dev/null differ diff --git a/test/de_fuzz/corpus/0537a45a09b74990c25c0511657488fadefd84f6 b/test/de_fuzz/corpus/0537a45a09b74990c25c0511657488fadefd84f6 deleted file mode 100644 index 421478126..000000000 Binary files a/test/de_fuzz/corpus/0537a45a09b74990c25c0511657488fadefd84f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/0548a644f332978b8d884616855535c6b8a503d9 b/test/de_fuzz/corpus/0548a644f332978b8d884616855535c6b8a503d9 deleted file mode 100644 index 8cb3c7230..000000000 Binary files a/test/de_fuzz/corpus/0548a644f332978b8d884616855535c6b8a503d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/055958c72de0a99f046371f1f0c86d99990c0729 b/test/de_fuzz/corpus/055958c72de0a99f046371f1f0c86d99990c0729 deleted file mode 100644 index d4b570b53..000000000 Binary files a/test/de_fuzz/corpus/055958c72de0a99f046371f1f0c86d99990c0729 and /dev/null differ diff --git a/test/de_fuzz/corpus/057bcec01e2afc4cae4d007ead424c189e2cebe3 b/test/de_fuzz/corpus/057bcec01e2afc4cae4d007ead424c189e2cebe3 deleted file mode 100644 index 8f1b828bd..000000000 Binary files a/test/de_fuzz/corpus/057bcec01e2afc4cae4d007ead424c189e2cebe3 and /dev/null differ diff --git a/test/de_fuzz/corpus/05cb2c374cbbf2e671db840189026b71a3a4783c b/test/de_fuzz/corpus/05cb2c374cbbf2e671db840189026b71a3a4783c deleted file mode 100644 index 3359b3b57..000000000 Binary files a/test/de_fuzz/corpus/05cb2c374cbbf2e671db840189026b71a3a4783c and /dev/null differ diff --git a/test/de_fuzz/corpus/060d2fbcaf8334670802325e0dc9784379fb09a6 b/test/de_fuzz/corpus/060d2fbcaf8334670802325e0dc9784379fb09a6 deleted file mode 100644 index 4474236d8..000000000 Binary files a/test/de_fuzz/corpus/060d2fbcaf8334670802325e0dc9784379fb09a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/065dc7b9683107bb0fdeee1ad147ca33421b4eda b/test/de_fuzz/corpus/065dc7b9683107bb0fdeee1ad147ca33421b4eda deleted file mode 100644 index 1d6ace064..000000000 Binary files a/test/de_fuzz/corpus/065dc7b9683107bb0fdeee1ad147ca33421b4eda and /dev/null differ diff --git a/test/de_fuzz/corpus/066a2cab0d331ac0605ded494bad5ce5c37f41be b/test/de_fuzz/corpus/066a2cab0d331ac0605ded494bad5ce5c37f41be deleted file mode 100644 index 78d3f1831..000000000 Binary files a/test/de_fuzz/corpus/066a2cab0d331ac0605ded494bad5ce5c37f41be and /dev/null differ diff --git a/test/de_fuzz/corpus/06705f7adc42a06bfa772929ad0cf82b511cc653 b/test/de_fuzz/corpus/06705f7adc42a06bfa772929ad0cf82b511cc653 deleted file mode 100644 index b240ca6df..000000000 Binary files a/test/de_fuzz/corpus/06705f7adc42a06bfa772929ad0cf82b511cc653 and /dev/null differ diff --git a/test/de_fuzz/corpus/0676b9e95ffea4d9be47eb4c08b53f7e8232ec61 b/test/de_fuzz/corpus/0676b9e95ffea4d9be47eb4c08b53f7e8232ec61 deleted file mode 100644 index e38003b51..000000000 Binary files a/test/de_fuzz/corpus/0676b9e95ffea4d9be47eb4c08b53f7e8232ec61 and /dev/null differ diff --git a/test/de_fuzz/corpus/06a24e5d1f0e7df307ebbb0b4008608ad03391b3 b/test/de_fuzz/corpus/06a24e5d1f0e7df307ebbb0b4008608ad03391b3 deleted file mode 100644 index 9e9bcb6c9..000000000 Binary files a/test/de_fuzz/corpus/06a24e5d1f0e7df307ebbb0b4008608ad03391b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/06b7a2445e03005d105a6b760d80ca7a0ac495ee b/test/de_fuzz/corpus/06b7a2445e03005d105a6b760d80ca7a0ac495ee deleted file mode 100644 index 4dde6de67..000000000 Binary files a/test/de_fuzz/corpus/06b7a2445e03005d105a6b760d80ca7a0ac495ee and /dev/null differ diff --git a/test/de_fuzz/corpus/0708c60582050542ce192567ee739c8dbe486f13 b/test/de_fuzz/corpus/0708c60582050542ce192567ee739c8dbe486f13 deleted file mode 100644 index 3417c395c..000000000 Binary files a/test/de_fuzz/corpus/0708c60582050542ce192567ee739c8dbe486f13 and /dev/null differ diff --git a/test/de_fuzz/corpus/071134750dc8021e4baf15058fe2f9992a7ce222 b/test/de_fuzz/corpus/071134750dc8021e4baf15058fe2f9992a7ce222 deleted file mode 100644 index 710b3ea5b..000000000 Binary files a/test/de_fuzz/corpus/071134750dc8021e4baf15058fe2f9992a7ce222 and /dev/null differ diff --git a/test/de_fuzz/corpus/07284125555baeddc03d1a3637df0ccbcab9d5fb b/test/de_fuzz/corpus/07284125555baeddc03d1a3637df0ccbcab9d5fb deleted file mode 100644 index dab44710b..000000000 --- a/test/de_fuzz/corpus/07284125555baeddc03d1a3637df0ccbcab9d5fb +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+|Y(((((((a+)+)+)+)+)++)+)|X(((((((a+)+)+)+)+)+)+)+|W(((((a+)+)+)+)+)+)+)+;|V((()++)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/073f4fc7f030f84f79bdc127e67339ae62070436 b/test/de_fuzz/corpus/073f4fc7f030f84f79bdc127e67339ae62070436 deleted file mode 100644 index 5d203a29f..000000000 Binary files a/test/de_fuzz/corpus/073f4fc7f030f84f79bdc127e67339ae62070436 and /dev/null differ diff --git a/test/de_fuzz/corpus/075ed1f68bdaff705e9ecfd624a98c583ac5e04f b/test/de_fuzz/corpus/075ed1f68bdaff705e9ecfd624a98c583ac5e04f deleted file mode 100644 index e3fcfae8f..000000000 Binary files a/test/de_fuzz/corpus/075ed1f68bdaff705e9ecfd624a98c583ac5e04f and /dev/null differ diff --git a/test/de_fuzz/corpus/076187a0bc2ed6e90aab84375d0deca711b61a91 b/test/de_fuzz/corpus/076187a0bc2ed6e90aab84375d0deca711b61a91 deleted file mode 100644 index 52f6fd533..000000000 Binary files a/test/de_fuzz/corpus/076187a0bc2ed6e90aab84375d0deca711b61a91 and /dev/null differ diff --git a/test/de_fuzz/corpus/077ce191a9e857d7a3a3b4e53fbb50a08000ecf0 b/test/de_fuzz/corpus/077ce191a9e857d7a3a3b4e53fbb50a08000ecf0 deleted file mode 100644 index 83dc88968..000000000 Binary files a/test/de_fuzz/corpus/077ce191a9e857d7a3a3b4e53fbb50a08000ecf0 and /dev/null differ diff --git a/test/de_fuzz/corpus/07b2a1c92c817aae0a115bb15b33274cbaac308a b/test/de_fuzz/corpus/07b2a1c92c817aae0a115bb15b33274cbaac308a deleted file mode 100644 index bb0275ae3..000000000 Binary files a/test/de_fuzz/corpus/07b2a1c92c817aae0a115bb15b33274cbaac308a and /dev/null differ diff --git a/test/de_fuzz/corpus/07c70aa5c262fdd076e5ec1e59e63d9f8cedaea8 b/test/de_fuzz/corpus/07c70aa5c262fdd076e5ec1e59e63d9f8cedaea8 deleted file mode 100644 index 6bf3e0250..000000000 Binary files a/test/de_fuzz/corpus/07c70aa5c262fdd076e5ec1e59e63d9f8cedaea8 and /dev/null differ diff --git a/test/de_fuzz/corpus/07e5d0b2ec1cbc9040495889dde36395e3ce8a85 b/test/de_fuzz/corpus/07e5d0b2ec1cbc9040495889dde36395e3ce8a85 deleted file mode 100644 index 7a79a709e..000000000 Binary files a/test/de_fuzz/corpus/07e5d0b2ec1cbc9040495889dde36395e3ce8a85 and /dev/null differ diff --git a/test/de_fuzz/corpus/07f38543e3f8cb6ab88d497b0264801e4a5ff751 b/test/de_fuzz/corpus/07f38543e3f8cb6ab88d497b0264801e4a5ff751 deleted file mode 100644 index 398364bdd..000000000 Binary files a/test/de_fuzz/corpus/07f38543e3f8cb6ab88d497b0264801e4a5ff751 and /dev/null differ diff --git a/test/de_fuzz/corpus/08002fe03259270af10b36c8ddeacff162cf16b8 b/test/de_fuzz/corpus/08002fe03259270af10b36c8ddeacff162cf16b8 deleted file mode 100644 index 3b8688b2b..000000000 Binary files a/test/de_fuzz/corpus/08002fe03259270af10b36c8ddeacff162cf16b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/081858d1769f43413a1f09fedf1a0cf1c3f72b22 b/test/de_fuzz/corpus/081858d1769f43413a1f09fedf1a0cf1c3f72b22 deleted file mode 100644 index 79d3c4455..000000000 Binary files a/test/de_fuzz/corpus/081858d1769f43413a1f09fedf1a0cf1c3f72b22 and /dev/null differ diff --git a/test/de_fuzz/corpus/082c2d2030263ff2b818ea7f0aaf98f7470283f6 b/test/de_fuzz/corpus/082c2d2030263ff2b818ea7f0aaf98f7470283f6 deleted file mode 100644 index 5bf8fd4fa..000000000 Binary files a/test/de_fuzz/corpus/082c2d2030263ff2b818ea7f0aaf98f7470283f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/08549ccfa0aa75f14ca42c08197ca1e87e660823 b/test/de_fuzz/corpus/08549ccfa0aa75f14ca42c08197ca1e87e660823 deleted file mode 100644 index d780de8fc..000000000 Binary files a/test/de_fuzz/corpus/08549ccfa0aa75f14ca42c08197ca1e87e660823 and /dev/null differ diff --git a/test/de_fuzz/corpus/0868c65e2e25e7360ebcd1719625fb0a361abfaa b/test/de_fuzz/corpus/0868c65e2e25e7360ebcd1719625fb0a361abfaa deleted file mode 100644 index 9b12519a9..000000000 Binary files a/test/de_fuzz/corpus/0868c65e2e25e7360ebcd1719625fb0a361abfaa and /dev/null differ diff --git a/test/de_fuzz/corpus/08691288da54da0cf22ea7d640ced09164743765 b/test/de_fuzz/corpus/08691288da54da0cf22ea7d640ced09164743765 deleted file mode 100644 index b4b5fdf16..000000000 Binary files a/test/de_fuzz/corpus/08691288da54da0cf22ea7d640ced09164743765 and /dev/null differ diff --git a/test/de_fuzz/corpus/087425b8873de5a19c59ed5467aa5de9ba7de6ca b/test/de_fuzz/corpus/087425b8873de5a19c59ed5467aa5de9ba7de6ca deleted file mode 100644 index 71f2a8371..000000000 Binary files a/test/de_fuzz/corpus/087425b8873de5a19c59ed5467aa5de9ba7de6ca and /dev/null differ diff --git a/test/de_fuzz/corpus/088d22d0e6de8af18ff45d377f04ff3658e0fc80 b/test/de_fuzz/corpus/088d22d0e6de8af18ff45d377f04ff3658e0fc80 deleted file mode 100644 index a54c80446..000000000 Binary files a/test/de_fuzz/corpus/088d22d0e6de8af18ff45d377f04ff3658e0fc80 and /dev/null differ diff --git a/test/de_fuzz/corpus/08940162707893743187e4ab470ed1008612797a b/test/de_fuzz/corpus/08940162707893743187e4ab470ed1008612797a deleted file mode 100644 index 42e5511c9..000000000 Binary files a/test/de_fuzz/corpus/08940162707893743187e4ab470ed1008612797a and /dev/null differ diff --git a/test/de_fuzz/corpus/09180d4e440031e219479ca15da050462c00a908 b/test/de_fuzz/corpus/09180d4e440031e219479ca15da050462c00a908 deleted file mode 100644 index 76dca7967..000000000 Binary files a/test/de_fuzz/corpus/09180d4e440031e219479ca15da050462c00a908 and /dev/null differ diff --git a/test/de_fuzz/corpus/093d19b2925541ea312fa2059f264124a35944b7 b/test/de_fuzz/corpus/093d19b2925541ea312fa2059f264124a35944b7 deleted file mode 100644 index cbf20f206..000000000 Binary files a/test/de_fuzz/corpus/093d19b2925541ea312fa2059f264124a35944b7 and /dev/null differ diff --git a/test/de_fuzz/corpus/094d59eb83cc607c8c529c495210f83aa2887fbd b/test/de_fuzz/corpus/094d59eb83cc607c8c529c495210f83aa2887fbd deleted file mode 100644 index c315802cc..000000000 Binary files a/test/de_fuzz/corpus/094d59eb83cc607c8c529c495210f83aa2887fbd and /dev/null differ diff --git a/test/de_fuzz/corpus/0952b1e6ba0a9beaee02b92efa1990eb8fd855ed b/test/de_fuzz/corpus/0952b1e6ba0a9beaee02b92efa1990eb8fd855ed deleted file mode 100644 index fc5850030..000000000 Binary files a/test/de_fuzz/corpus/0952b1e6ba0a9beaee02b92efa1990eb8fd855ed and /dev/null differ diff --git a/test/de_fuzz/corpus/09692b8dcf066440274ea5d939aec16eccb10de8 b/test/de_fuzz/corpus/09692b8dcf066440274ea5d939aec16eccb10de8 deleted file mode 100644 index 6a2065f8a..000000000 Binary files a/test/de_fuzz/corpus/09692b8dcf066440274ea5d939aec16eccb10de8 and /dev/null differ diff --git a/test/de_fuzz/corpus/098478e68695340652d4d2e9ed11fbbedad69e63 b/test/de_fuzz/corpus/098478e68695340652d4d2e9ed11fbbedad69e63 deleted file mode 100644 index c5936c92d..000000000 Binary files a/test/de_fuzz/corpus/098478e68695340652d4d2e9ed11fbbedad69e63 and /dev/null differ diff --git a/test/de_fuzz/corpus/0985d13f526884e37b5074e8da192ba63f3ec18c b/test/de_fuzz/corpus/0985d13f526884e37b5074e8da192ba63f3ec18c deleted file mode 100644 index 86211145b..000000000 Binary files a/test/de_fuzz/corpus/0985d13f526884e37b5074e8da192ba63f3ec18c and /dev/null differ diff --git a/test/de_fuzz/corpus/098b4f661d78550dbe871aa6d2e5474910365a92 b/test/de_fuzz/corpus/098b4f661d78550dbe871aa6d2e5474910365a92 deleted file mode 100644 index 842b2896b..000000000 Binary files a/test/de_fuzz/corpus/098b4f661d78550dbe871aa6d2e5474910365a92 and /dev/null differ diff --git a/test/de_fuzz/corpus/0996713c1213c4a3e8a8581bf0fc5cb43f0d9c84 b/test/de_fuzz/corpus/0996713c1213c4a3e8a8581bf0fc5cb43f0d9c84 deleted file mode 100644 index b28574200..000000000 Binary files a/test/de_fuzz/corpus/0996713c1213c4a3e8a8581bf0fc5cb43f0d9c84 and /dev/null differ diff --git a/test/de_fuzz/corpus/09c39db7ced2e00411bd9bb69e27833c6aa2d47b b/test/de_fuzz/corpus/09c39db7ced2e00411bd9bb69e27833c6aa2d47b deleted file mode 100644 index 83ff147eb..000000000 Binary files a/test/de_fuzz/corpus/09c39db7ced2e00411bd9bb69e27833c6aa2d47b and /dev/null differ diff --git a/test/de_fuzz/corpus/09d1332a1130a84c97303b9c0f8f5c1d22ccd335 b/test/de_fuzz/corpus/09d1332a1130a84c97303b9c0f8f5c1d22ccd335 deleted file mode 100644 index 3f032ece1..000000000 Binary files a/test/de_fuzz/corpus/09d1332a1130a84c97303b9c0f8f5c1d22ccd335 and /dev/null differ diff --git a/test/de_fuzz/corpus/09ddbffe27633f26351167c38ef10a942862462f b/test/de_fuzz/corpus/09ddbffe27633f26351167c38ef10a942862462f deleted file mode 100644 index 486b7b906..000000000 --- a/test/de_fuzz/corpus/09ddbffe27633f26351167c38ef10a942862462f +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\*\2[abc]| |((.)\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\pdquick brown )ox \ No newline at end of file diff --git a/test/de_fuzz/corpus/09f341b84c20552c905d21c138b184697fab337d b/test/de_fuzz/corpus/09f341b84c20552c905d21c138b184697fab337d deleted file mode 100644 index ea3a6c8df..000000000 Binary files a/test/de_fuzz/corpus/09f341b84c20552c905d21c138b184697fab337d and /dev/null differ diff --git a/test/de_fuzz/corpus/0a04d9267fb8188a0920d5941c62dfcaa392b697 b/test/de_fuzz/corpus/0a04d9267fb8188a0920d5941c62dfcaa392b697 deleted file mode 100644 index bfbf38bb0..000000000 Binary files a/test/de_fuzz/corpus/0a04d9267fb8188a0920d5941c62dfcaa392b697 and /dev/null differ diff --git a/test/de_fuzz/corpus/0a232c490b266ab32e15a6092c70ebc3dfda6ecc b/test/de_fuzz/corpus/0a232c490b266ab32e15a6092c70ebc3dfda6ecc deleted file mode 100644 index 38d11d181..000000000 Binary files a/test/de_fuzz/corpus/0a232c490b266ab32e15a6092c70ebc3dfda6ecc and /dev/null differ diff --git a/test/de_fuzz/corpus/0a34e1a8ea9da61a014714961b9818082c4f84be b/test/de_fuzz/corpus/0a34e1a8ea9da61a014714961b9818082c4f84be deleted file mode 100644 index 06016ebc0..000000000 Binary files a/test/de_fuzz/corpus/0a34e1a8ea9da61a014714961b9818082c4f84be and /dev/null differ diff --git a/test/de_fuzz/corpus/0a6ddeb7f27dec9f32913eed61df082aa928c8e7 b/test/de_fuzz/corpus/0a6ddeb7f27dec9f32913eed61df082aa928c8e7 deleted file mode 100644 index 337bf4fd3..000000000 Binary files a/test/de_fuzz/corpus/0a6ddeb7f27dec9f32913eed61df082aa928c8e7 and /dev/null differ diff --git a/test/de_fuzz/corpus/0a6f08a511f7fbfe66ca6cf7f98bb5af2f7ef5b8 b/test/de_fuzz/corpus/0a6f08a511f7fbfe66ca6cf7f98bb5af2f7ef5b8 deleted file mode 100644 index 74d8d0143..000000000 Binary files a/test/de_fuzz/corpus/0a6f08a511f7fbfe66ca6cf7f98bb5af2f7ef5b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/0a87a305f83262f88a9e826ca5aa22780faf0f6e b/test/de_fuzz/corpus/0a87a305f83262f88a9e826ca5aa22780faf0f6e deleted file mode 100644 index c99cf6491..000000000 Binary files a/test/de_fuzz/corpus/0a87a305f83262f88a9e826ca5aa22780faf0f6e and /dev/null differ diff --git a/test/de_fuzz/corpus/0aae4febecef099e54707b7f8d59b50e70b1cd7c b/test/de_fuzz/corpus/0aae4febecef099e54707b7f8d59b50e70b1cd7c deleted file mode 100644 index 79bc31000..000000000 Binary files a/test/de_fuzz/corpus/0aae4febecef099e54707b7f8d59b50e70b1cd7c and /dev/null differ diff --git a/test/de_fuzz/corpus/0ad25b2429db480add874a5d66e4934a53a4f5d8 b/test/de_fuzz/corpus/0ad25b2429db480add874a5d66e4934a53a4f5d8 deleted file mode 100644 index efb85bacc..000000000 Binary files a/test/de_fuzz/corpus/0ad25b2429db480add874a5d66e4934a53a4f5d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/0b7e65a2f97ea6135e0c46e75494a6dc0302192a b/test/de_fuzz/corpus/0b7e65a2f97ea6135e0c46e75494a6dc0302192a deleted file mode 100644 index c8aa5d6a8..000000000 --- a/test/de_fuzz/corpus/0b7e65a2f97ea6135e0c46e75494a6dc0302192a +++ /dev/null @@ -1,73 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \(\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: (\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/0baba80b8fa0e2cad243b9d2991c91a0b21d391d b/test/de_fuzz/corpus/0baba80b8fa0e2cad243b9d2991c91a0b21d391d deleted file mode 100644 index 973120c05..000000000 Binary files a/test/de_fuzz/corpus/0baba80b8fa0e2cad243b9d2991c91a0b21d391d and /dev/null differ diff --git a/test/de_fuzz/corpus/0bb4fd18738ae9cb066d360c1c38dc24820f5381 b/test/de_fuzz/corpus/0bb4fd18738ae9cb066d360c1c38dc24820f5381 deleted file mode 100644 index 28e12fd3b..000000000 Binary files a/test/de_fuzz/corpus/0bb4fd18738ae9cb066d360c1c38dc24820f5381 and /dev/null differ diff --git a/test/de_fuzz/corpus/0bd42ee87aa348ffb47ee72562020e9adcf886e4 b/test/de_fuzz/corpus/0bd42ee87aa348ffb47ee72562020e9adcf886e4 deleted file mode 100644 index 392649097..000000000 Binary files a/test/de_fuzz/corpus/0bd42ee87aa348ffb47ee72562020e9adcf886e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/0be4c37157dd87807e33cc455664ea3edc87fcb9 b/test/de_fuzz/corpus/0be4c37157dd87807e33cc455664ea3edc87fcb9 deleted file mode 100644 index 25532c96b..000000000 Binary files a/test/de_fuzz/corpus/0be4c37157dd87807e33cc455664ea3edc87fcb9 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c21cc667e1c54469593a46af58f9b0c5eb22074 b/test/de_fuzz/corpus/0c21cc667e1c54469593a46af58f9b0c5eb22074 deleted file mode 100644 index f159b61d4..000000000 Binary files a/test/de_fuzz/corpus/0c21cc667e1c54469593a46af58f9b0c5eb22074 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c2206f5e288d5608e7a14c3b2cf9d1c0fb2a70b b/test/de_fuzz/corpus/0c2206f5e288d5608e7a14c3b2cf9d1c0fb2a70b deleted file mode 100644 index 9bcdb2865..000000000 Binary files a/test/de_fuzz/corpus/0c2206f5e288d5608e7a14c3b2cf9d1c0fb2a70b and /dev/null differ diff --git a/test/de_fuzz/corpus/0c2647784524e70a77b3e8e6346595096d11c170 b/test/de_fuzz/corpus/0c2647784524e70a77b3e8e6346595096d11c170 deleted file mode 100644 index c31633c30..000000000 Binary files a/test/de_fuzz/corpus/0c2647784524e70a77b3e8e6346595096d11c170 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c645708b0e1041a59d5a0e533b85789cf49c7e3 b/test/de_fuzz/corpus/0c645708b0e1041a59d5a0e533b85789cf49c7e3 deleted file mode 100644 index 60de957ed..000000000 Binary files a/test/de_fuzz/corpus/0c645708b0e1041a59d5a0e533b85789cf49c7e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c67a3fca4ff4872b6e087961bdf483fc011231c b/test/de_fuzz/corpus/0c67a3fca4ff4872b6e087961bdf483fc011231c deleted file mode 100644 index abae36b26..000000000 Binary files a/test/de_fuzz/corpus/0c67a3fca4ff4872b6e087961bdf483fc011231c and /dev/null differ diff --git a/test/de_fuzz/corpus/0c7a0343024c3ffe98772956a3b869fa86b1a3dd b/test/de_fuzz/corpus/0c7a0343024c3ffe98772956a3b869fa86b1a3dd deleted file mode 100644 index ecc0845ca..000000000 Binary files a/test/de_fuzz/corpus/0c7a0343024c3ffe98772956a3b869fa86b1a3dd and /dev/null differ diff --git a/test/de_fuzz/corpus/0c7bd5399d66f25dbac2564e1e228087073d1947 b/test/de_fuzz/corpus/0c7bd5399d66f25dbac2564e1e228087073d1947 deleted file mode 100644 index 458f49534..000000000 Binary files a/test/de_fuzz/corpus/0c7bd5399d66f25dbac2564e1e228087073d1947 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c7da13722ae339c91a8a2d08dd672fb583c2761 b/test/de_fuzz/corpus/0c7da13722ae339c91a8a2d08dd672fb583c2761 deleted file mode 100644 index e86fb91ce..000000000 Binary files a/test/de_fuzz/corpus/0c7da13722ae339c91a8a2d08dd672fb583c2761 and /dev/null differ diff --git a/test/de_fuzz/corpus/0c8913875f7a31eae546b23e17592b9c98d7c186 b/test/de_fuzz/corpus/0c8913875f7a31eae546b23e17592b9c98d7c186 deleted file mode 100644 index c7f5655ac..000000000 Binary files a/test/de_fuzz/corpus/0c8913875f7a31eae546b23e17592b9c98d7c186 and /dev/null differ diff --git a/test/de_fuzz/corpus/0cc20b42a7b02a74aff4cdaf7ca6dd195bb669f8 b/test/de_fuzz/corpus/0cc20b42a7b02a74aff4cdaf7ca6dd195bb669f8 deleted file mode 100644 index 1f3b56919..000000000 Binary files a/test/de_fuzz/corpus/0cc20b42a7b02a74aff4cdaf7ca6dd195bb669f8 and /dev/null differ diff --git a/test/de_fuzz/corpus/0cc2de659fc88f690911640e6e169e60b42ff163 b/test/de_fuzz/corpus/0cc2de659fc88f690911640e6e169e60b42ff163 deleted file mode 100644 index f53378426..000000000 Binary files a/test/de_fuzz/corpus/0cc2de659fc88f690911640e6e169e60b42ff163 and /dev/null differ diff --git a/test/de_fuzz/corpus/0cc89d28fb9a623b0a291913b50468c5e820d906 b/test/de_fuzz/corpus/0cc89d28fb9a623b0a291913b50468c5e820d906 deleted file mode 100644 index 3ecaba757..000000000 Binary files a/test/de_fuzz/corpus/0cc89d28fb9a623b0a291913b50468c5e820d906 and /dev/null differ diff --git a/test/de_fuzz/corpus/0ce83d2f8eb3bf46aa65093a0a4a0599bc69e095 b/test/de_fuzz/corpus/0ce83d2f8eb3bf46aa65093a0a4a0599bc69e095 deleted file mode 100644 index 7740e6010..000000000 --- a/test/de_fuzz/corpus/0ce83d2f8eb3bf46aa65093a0a4a0599bc69e095 +++ /dev/null @@ -1 +0,0 @@ -(?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(R&one), \ No newline at end of file diff --git a/test/de_fuzz/corpus/0d1a15ca92dbbadb001053d78eca6b5863334423 b/test/de_fuzz/corpus/0d1a15ca92dbbadb001053d78eca6b5863334423 deleted file mode 100644 index e8ee5c6ca..000000000 Binary files a/test/de_fuzz/corpus/0d1a15ca92dbbadb001053d78eca6b5863334423 and /dev/null differ diff --git a/test/de_fuzz/corpus/0d367d787b01ad91cbbe1c28224868c661c565ae b/test/de_fuzz/corpus/0d367d787b01ad91cbbe1c28224868c661c565ae deleted file mode 100644 index e53b0711d..000000000 Binary files a/test/de_fuzz/corpus/0d367d787b01ad91cbbe1c28224868c661c565ae and /dev/null differ diff --git a/test/de_fuzz/corpus/0d43d437aab0b9d587e4eb76715fcb54b2e6c89b b/test/de_fuzz/corpus/0d43d437aab0b9d587e4eb76715fcb54b2e6c89b deleted file mode 100644 index 664be4e44..000000000 Binary files a/test/de_fuzz/corpus/0d43d437aab0b9d587e4eb76715fcb54b2e6c89b and /dev/null differ diff --git a/test/de_fuzz/corpus/0db370fce3a7bc068e0ad83a97bcfc23e139ae78 b/test/de_fuzz/corpus/0db370fce3a7bc068e0ad83a97bcfc23e139ae78 deleted file mode 100644 index ecc5bca04..000000000 Binary files a/test/de_fuzz/corpus/0db370fce3a7bc068e0ad83a97bcfc23e139ae78 and /dev/null differ diff --git a/test/de_fuzz/corpus/0dd1ccb059b18661325c08a8dfa899c3f3b6e622 b/test/de_fuzz/corpus/0dd1ccb059b18661325c08a8dfa899c3f3b6e622 deleted file mode 100644 index 8246e99cb..000000000 Binary files a/test/de_fuzz/corpus/0dd1ccb059b18661325c08a8dfa899c3f3b6e622 and /dev/null differ diff --git a/test/de_fuzz/corpus/0dff025fac5990aac386e58ff7ffdab7db1141e2 b/test/de_fuzz/corpus/0dff025fac5990aac386e58ff7ffdab7db1141e2 deleted file mode 100644 index 4e9656948..000000000 Binary files a/test/de_fuzz/corpus/0dff025fac5990aac386e58ff7ffdab7db1141e2 and /dev/null differ diff --git a/test/de_fuzz/corpus/0e30978bc205b9c94272e59930a79b8f55da6a52 b/test/de_fuzz/corpus/0e30978bc205b9c94272e59930a79b8f55da6a52 deleted file mode 100644 index 4a1a38907..000000000 --- a/test/de_fuzz/corpus/0e30978bc205b9c94272e59930a79b8f55da6a52 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX((('(((a+)+)+)IS3)+)+)+|CW((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/0e80a0f63325b1038a046fab2658af6b2fff70bc b/test/de_fuzz/corpus/0e80a0f63325b1038a046fab2658af6b2fff70bc deleted file mode 100644 index bfecf4d4b..000000000 Binary files a/test/de_fuzz/corpus/0e80a0f63325b1038a046fab2658af6b2fff70bc and /dev/null differ diff --git a/test/de_fuzz/corpus/0e8628917eb343bfe6937f81016bed4765403f62 b/test/de_fuzz/corpus/0e8628917eb343bfe6937f81016bed4765403f62 deleted file mode 100644 index 05e044ba4..000000000 Binary files a/test/de_fuzz/corpus/0e8628917eb343bfe6937f81016bed4765403f62 and /dev/null differ diff --git a/test/de_fuzz/corpus/0e8b477a7521fff0f1109ea80005b5ad72b1a302 b/test/de_fuzz/corpus/0e8b477a7521fff0f1109ea80005b5ad72b1a302 deleted file mode 100644 index b256ac393..000000000 Binary files a/test/de_fuzz/corpus/0e8b477a7521fff0f1109ea80005b5ad72b1a302 and /dev/null differ diff --git a/test/de_fuzz/corpus/0f2b4bdf7f5961fdcd9914e42190c6a89abe497c b/test/de_fuzz/corpus/0f2b4bdf7f5961fdcd9914e42190c6a89abe497c deleted file mode 100644 index e8ca1a6dc..000000000 Binary files a/test/de_fuzz/corpus/0f2b4bdf7f5961fdcd9914e42190c6a89abe497c and /dev/null differ diff --git a/test/de_fuzz/corpus/0f7e8f8cfcf591f67e7ae899971378f4cfa8138a b/test/de_fuzz/corpus/0f7e8f8cfcf591f67e7ae899971378f4cfa8138a deleted file mode 100644 index 5fd629a10..000000000 Binary files a/test/de_fuzz/corpus/0f7e8f8cfcf591f67e7ae899971378f4cfa8138a and /dev/null differ diff --git a/test/de_fuzz/corpus/0f8c88f161eb357e02b2f107727219aac47a9d4a b/test/de_fuzz/corpus/0f8c88f161eb357e02b2f107727219aac47a9d4a deleted file mode 100644 index 0466fb2c8..000000000 Binary files a/test/de_fuzz/corpus/0f8c88f161eb357e02b2f107727219aac47a9d4a and /dev/null differ diff --git a/test/de_fuzz/corpus/0faadc683a41be4252b58ac5f707f57d3f9f92b3 b/test/de_fuzz/corpus/0faadc683a41be4252b58ac5f707f57d3f9f92b3 deleted file mode 100644 index 4724faeb8..000000000 Binary files a/test/de_fuzz/corpus/0faadc683a41be4252b58ac5f707f57d3f9f92b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/10061a54a84119112d1129a76c2216f3cab4521b b/test/de_fuzz/corpus/10061a54a84119112d1129a76c2216f3cab4521b deleted file mode 100644 index 46273f173..000000000 Binary files a/test/de_fuzz/corpus/10061a54a84119112d1129a76c2216f3cab4521b and /dev/null differ diff --git a/test/de_fuzz/corpus/103a637a3a371840df9ac76ce2c638eeb8c4699c b/test/de_fuzz/corpus/103a637a3a371840df9ac76ce2c638eeb8c4699c deleted file mode 100644 index 7b726819e..000000000 Binary files a/test/de_fuzz/corpus/103a637a3a371840df9ac76ce2c638eeb8c4699c and /dev/null differ diff --git a/test/de_fuzz/corpus/1043b21be4281eef9272e0c5e217a826e75cb8a1 b/test/de_fuzz/corpus/1043b21be4281eef9272e0c5e217a826e75cb8a1 deleted file mode 100644 index d614f639f..000000000 Binary files a/test/de_fuzz/corpus/1043b21be4281eef9272e0c5e217a826e75cb8a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/104e22c7aaedc695207755f9f1397362908feda5 b/test/de_fuzz/corpus/104e22c7aaedc695207755f9f1397362908feda5 deleted file mode 100644 index 57c0663ff..000000000 Binary files a/test/de_fuzz/corpus/104e22c7aaedc695207755f9f1397362908feda5 and /dev/null differ diff --git a/test/de_fuzz/corpus/10b1f01e757ec554b8ae0e101f7ba0782f903d7f b/test/de_fuzz/corpus/10b1f01e757ec554b8ae0e101f7ba0782f903d7f deleted file mode 100644 index 3d7fd3a73..000000000 Binary files a/test/de_fuzz/corpus/10b1f01e757ec554b8ae0e101f7ba0782f903d7f and /dev/null differ diff --git a/test/de_fuzz/corpus/10c49ecf3c635800a0aafc5f5c0a3d22d1efff71 b/test/de_fuzz/corpus/10c49ecf3c635800a0aafc5f5c0a3d22d1efff71 deleted file mode 100644 index c07837a09..000000000 Binary files a/test/de_fuzz/corpus/10c49ecf3c635800a0aafc5f5c0a3d22d1efff71 and /dev/null differ diff --git a/test/de_fuzz/corpus/10dd1b04fe33742cff29e4de8df1bec0c6c4ab61 b/test/de_fuzz/corpus/10dd1b04fe33742cff29e4de8df1bec0c6c4ab61 deleted file mode 100644 index 83ac8c537..000000000 Binary files a/test/de_fuzz/corpus/10dd1b04fe33742cff29e4de8df1bec0c6c4ab61 and /dev/null differ diff --git a/test/de_fuzz/corpus/10de178cb7bc7756a9c03db41ad1acbf78e91f16 b/test/de_fuzz/corpus/10de178cb7bc7756a9c03db41ad1acbf78e91f16 deleted file mode 100644 index 9238f56f8..000000000 Binary files a/test/de_fuzz/corpus/10de178cb7bc7756a9c03db41ad1acbf78e91f16 and /dev/null differ diff --git a/test/de_fuzz/corpus/10e712dce99fcbfdd3431676261cd39c58122fc7 b/test/de_fuzz/corpus/10e712dce99fcbfdd3431676261cd39c58122fc7 deleted file mode 100644 index d22db6e0c..000000000 Binary files a/test/de_fuzz/corpus/10e712dce99fcbfdd3431676261cd39c58122fc7 and /dev/null differ diff --git a/test/de_fuzz/corpus/110689a8e428e39dd520c6864b978641c7e3f7d6 b/test/de_fuzz/corpus/110689a8e428e39dd520c6864b978641c7e3f7d6 deleted file mode 100644 index 6aabfcc26..000000000 Binary files a/test/de_fuzz/corpus/110689a8e428e39dd520c6864b978641c7e3f7d6 and /dev/null differ diff --git a/test/de_fuzz/corpus/11290dfd12c4dccada2372a01e91c7fd5f8a2d1b b/test/de_fuzz/corpus/11290dfd12c4dccada2372a01e91c7fd5f8a2d1b deleted file mode 100644 index e59b387b5..000000000 Binary files a/test/de_fuzz/corpus/11290dfd12c4dccada2372a01e91c7fd5f8a2d1b and /dev/null differ diff --git a/test/de_fuzz/corpus/1177c2db24ccda7b21707d0f6604613c87f60dad b/test/de_fuzz/corpus/1177c2db24ccda7b21707d0f6604613c87f60dad deleted file mode 100644 index e6f55577c..000000000 Binary files a/test/de_fuzz/corpus/1177c2db24ccda7b21707d0f6604613c87f60dad and /dev/null differ diff --git a/test/de_fuzz/corpus/1179e15bd4194c48e45b10f29aee374bf8828c98 b/test/de_fuzz/corpus/1179e15bd4194c48e45b10f29aee374bf8828c98 deleted file mode 100644 index 210b74461..000000000 Binary files a/test/de_fuzz/corpus/1179e15bd4194c48e45b10f29aee374bf8828c98 and /dev/null differ diff --git a/test/de_fuzz/corpus/11829dec88c87d680430c46252ec9ab14aba9196 b/test/de_fuzz/corpus/11829dec88c87d680430c46252ec9ab14aba9196 deleted file mode 100644 index 0cc1ffb66..000000000 Binary files a/test/de_fuzz/corpus/11829dec88c87d680430c46252ec9ab14aba9196 and /dev/null differ diff --git a/test/de_fuzz/corpus/1191862cbed60f993930466603bfc0d502e76380 b/test/de_fuzz/corpus/1191862cbed60f993930466603bfc0d502e76380 deleted file mode 100644 index 01ef7e629..000000000 Binary files a/test/de_fuzz/corpus/1191862cbed60f993930466603bfc0d502e76380 and /dev/null differ diff --git a/test/de_fuzz/corpus/11bf73766853583c42584019962adb73a95a092d b/test/de_fuzz/corpus/11bf73766853583c42584019962adb73a95a092d deleted file mode 100644 index cdea64dcc..000000000 Binary files a/test/de_fuzz/corpus/11bf73766853583c42584019962adb73a95a092d and /dev/null differ diff --git a/test/de_fuzz/corpus/11c35ec3be350a0887a60f481b28dbb17c38d009 b/test/de_fuzz/corpus/11c35ec3be350a0887a60f481b28dbb17c38d009 deleted file mode 100644 index 947fd6aae..000000000 --- a/test/de_fuzz/corpus/11c35ec3be350a0887a60f481b28dbb17c38d009 +++ /dev/null @@ -1,127 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional le\Qing comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^?x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x8 address spec -(?: [\040\t] | \( -(?: [^\\\x80 # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/11c43896bd032fa862cc1ffb978cb8a821216b05 b/test/de_fuzz/corpus/11c43896bd032fa862cc1ffb978cb8a821216b05 deleted file mode 100644 index 3c3e7e0c1..000000000 Binary files a/test/de_fuzz/corpus/11c43896bd032fa862cc1ffb978cb8a821216b05 and /dev/null differ diff --git a/test/de_fuzz/corpus/11dc62c341b2209b65f1800790952b7b1a358cce b/test/de_fuzz/corpus/11dc62c341b2209b65f1800790952b7b1a358cce deleted file mode 100644 index 932ee4d90..000000000 Binary files a/test/de_fuzz/corpus/11dc62c341b2209b65f1800790952b7b1a358cce and /dev/null differ diff --git a/test/de_fuzz/corpus/11dfe4e49ebfa3685bf088c5739a5105e7b931e1 b/test/de_fuzz/corpus/11dfe4e49ebfa3685bf088c5739a5105e7b931e1 deleted file mode 100644 index 00d90d3e8..000000000 Binary files a/test/de_fuzz/corpus/11dfe4e49ebfa3685bf088c5739a5105e7b931e1 and /dev/null differ diff --git a/test/de_fuzz/corpus/121974eb194c38307d3562d36df8d0e887fcef44 b/test/de_fuzz/corpus/121974eb194c38307d3562d36df8d0e887fcef44 deleted file mode 100644 index dff4384f0..000000000 Binary files a/test/de_fuzz/corpus/121974eb194c38307d3562d36df8d0e887fcef44 and /dev/null differ diff --git a/test/de_fuzz/corpus/124a504e9638aadacd3f30198758a1ed1faa97d0 b/test/de_fuzz/corpus/124a504e9638aadacd3f30198758a1ed1faa97d0 deleted file mode 100644 index dfbb24eb5..000000000 Binary files a/test/de_fuzz/corpus/124a504e9638aadacd3f30198758a1ed1faa97d0 and /dev/null differ diff --git a/test/de_fuzz/corpus/1259334578ff7621c23d78b9c9a074692e3fb3f6 b/test/de_fuzz/corpus/1259334578ff7621c23d78b9c9a074692e3fb3f6 deleted file mode 100644 index 362c11d0c..000000000 Binary files a/test/de_fuzz/corpus/1259334578ff7621c23d78b9c9a074692e3fb3f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/1262b36ef669bf7367721e31a3834fbbcbd32b48 b/test/de_fuzz/corpus/1262b36ef669bf7367721e31a3834fbbcbd32b48 deleted file mode 100644 index f28a9fee6..000000000 Binary files a/test/de_fuzz/corpus/1262b36ef669bf7367721e31a3834fbbcbd32b48 and /dev/null differ diff --git a/test/de_fuzz/corpus/1264fb90558527d84da3b230073806bc4e911888 b/test/de_fuzz/corpus/1264fb90558527d84da3b230073806bc4e911888 deleted file mode 100644 index 4b429bb49..000000000 Binary files a/test/de_fuzz/corpus/1264fb90558527d84da3b230073806bc4e911888 and /dev/null differ diff --git a/test/de_fuzz/corpus/126cfe3576104799eb786c77b00ff08a3cbffaeb b/test/de_fuzz/corpus/126cfe3576104799eb786c77b00ff08a3cbffaeb deleted file mode 100644 index 4bdf9336e..000000000 Binary files a/test/de_fuzz/corpus/126cfe3576104799eb786c77b00ff08a3cbffaeb and /dev/null differ diff --git a/test/de_fuzz/corpus/129a1d2b6fd7d1d1bd57dd4e4d4276eb09677abc b/test/de_fuzz/corpus/129a1d2b6fd7d1d1bd57dd4e4d4276eb09677abc deleted file mode 100644 index a14ab90c3..000000000 Binary files a/test/de_fuzz/corpus/129a1d2b6fd7d1d1bd57dd4e4d4276eb09677abc and /dev/null differ diff --git a/test/de_fuzz/corpus/12c3554e58bc7b3a2cb9dc8338fedc31ce44e402 b/test/de_fuzz/corpus/12c3554e58bc7b3a2cb9dc8338fedc31ce44e402 deleted file mode 100644 index 93e57afb1..000000000 Binary files a/test/de_fuzz/corpus/12c3554e58bc7b3a2cb9dc8338fedc31ce44e402 and /dev/null differ diff --git a/test/de_fuzz/corpus/12fbad26bdd11897a8b391eb1a360d675ae3cbfb b/test/de_fuzz/corpus/12fbad26bdd11897a8b391eb1a360d675ae3cbfb deleted file mode 100644 index 2d57f8e98..000000000 Binary files a/test/de_fuzz/corpus/12fbad26bdd11897a8b391eb1a360d675ae3cbfb and /dev/null differ diff --git a/test/de_fuzz/corpus/132ff4b6cb9199d914592d58d251a75d89bf0d03 b/test/de_fuzz/corpus/132ff4b6cb9199d914592d58d251a75d89bf0d03 deleted file mode 100644 index b27b96c89..000000000 Binary files a/test/de_fuzz/corpus/132ff4b6cb9199d914592d58d251a75d89bf0d03 and /dev/null differ diff --git a/test/de_fuzz/corpus/1335ba021f5187209108c8661e3284a20cd543a6 b/test/de_fuzz/corpus/1335ba021f5187209108c8661e3284a20cd543a6 deleted file mode 100644 index 3033f696f..000000000 Binary files a/test/de_fuzz/corpus/1335ba021f5187209108c8661e3284a20cd543a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/13394ca9428e5b14e0ab68e811a952ef0c323e2d b/test/de_fuzz/corpus/13394ca9428e5b14e0ab68e811a952ef0c323e2d deleted file mode 100644 index 3b3702e08..000000000 Binary files a/test/de_fuzz/corpus/13394ca9428e5b14e0ab68e811a952ef0c323e2d and /dev/null differ diff --git a/test/de_fuzz/corpus/136d6e1da2c71094f1991889346a36e035a10623 b/test/de_fuzz/corpus/136d6e1da2c71094f1991889346a36e035a10623 deleted file mode 100644 index 996bf4b6d..000000000 Binary files a/test/de_fuzz/corpus/136d6e1da2c71094f1991889346a36e035a10623 and /dev/null differ diff --git a/test/de_fuzz/corpus/137290689e4c916263477709a2edb684b21b3d87 b/test/de_fuzz/corpus/137290689e4c916263477709a2edb684b21b3d87 deleted file mode 100644 index dccd9b710..000000000 Binary files a/test/de_fuzz/corpus/137290689e4c916263477709a2edb684b21b3d87 and /dev/null differ diff --git a/test/de_fuzz/corpus/138cc2c93a02e87451726b61425219757b655e6a b/test/de_fuzz/corpus/138cc2c93a02e87451726b61425219757b655e6a deleted file mode 100644 index ecf7c3975..000000000 Binary files a/test/de_fuzz/corpus/138cc2c93a02e87451726b61425219757b655e6a and /dev/null differ diff --git a/test/de_fuzz/corpus/1390778ef569435a68745baa1f45a8aac99a6c3c b/test/de_fuzz/corpus/1390778ef569435a68745baa1f45a8aac99a6c3c deleted file mode 100644 index 3af784b8c..000000000 Binary files a/test/de_fuzz/corpus/1390778ef569435a68745baa1f45a8aac99a6c3c and /dev/null differ diff --git a/test/de_fuzz/corpus/1493f238a032b214f31918409b2edb5b8e76eadd b/test/de_fuzz/corpus/1493f238a032b214f31918409b2edb5b8e76eadd deleted file mode 100644 index 5d9186fb0..000000000 Binary files a/test/de_fuzz/corpus/1493f238a032b214f31918409b2edb5b8e76eadd and /dev/null differ diff --git a/test/de_fuzz/corpus/14ae96f332af538f4283a62e879cf80df3a26f50 b/test/de_fuzz/corpus/14ae96f332af538f4283a62e879cf80df3a26f50 deleted file mode 100644 index 5ea0de4cd..000000000 Binary files a/test/de_fuzz/corpus/14ae96f332af538f4283a62e879cf80df3a26f50 and /dev/null differ diff --git a/test/de_fuzz/corpus/14c77f16c9bb08f56898d9d289093111ceb55a90 b/test/de_fuzz/corpus/14c77f16c9bb08f56898d9d289093111ceb55a90 deleted file mode 100644 index 9b1a51448..000000000 --- a/test/de_fuzz/corpus/14c77f16c9bb08f56898d9d289093111ceb55a90 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*(([[:u:]].)\W)*(?3)\W*\4|\{13} \x{13} WM*))\W*$T\W*(?3)\W*\4|\W)ox \x{13} \x{13} \ No newline at end of file diff --git a/test/de_fuzz/corpus/14fca38b8cb30055db9b94d970b818a181e25156 b/test/de_fuzz/corpus/14fca38b8cb30055db9b94d970b818a181e25156 deleted file mode 100644 index f36530b67..000000000 --- a/test/de_fuzz/corpus/14fca38b8cb30055db9b94d970b818a181e25156 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((f+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)\R+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/1527f31ef8870707163d1e3d2d06c9ebab182ab8 b/test/de_fuzz/corpus/1527f31ef8870707163d1e3d2d06c9ebab182ab8 deleted file mode 100644 index 945894fc2..000000000 Binary files a/test/de_fuzz/corpus/1527f31ef8870707163d1e3d2d06c9ebab182ab8 and /dev/null differ diff --git a/test/de_fuzz/corpus/157e37bd7594a765a2a5d263fcd9dad56ffb0337 b/test/de_fuzz/corpus/157e37bd7594a765a2a5d263fcd9dad56ffb0337 deleted file mode 100644 index 17e327f34..000000000 Binary files a/test/de_fuzz/corpus/157e37bd7594a765a2a5d263fcd9dad56ffb0337 and /dev/null differ diff --git a/test/de_fuzz/corpus/15885785e243fa8c61b3ed4f83fc0417cffab7b3 b/test/de_fuzz/corpus/15885785e243fa8c61b3ed4f83fc0417cffab7b3 deleted file mode 100644 index b26413311..000000000 Binary files a/test/de_fuzz/corpus/15885785e243fa8c61b3ed4f83fc0417cffab7b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/15f1b0040d3ebfced12b85f0c64cd74e36a82fec b/test/de_fuzz/corpus/15f1b0040d3ebfced12b85f0c64cd74e36a82fec deleted file mode 100644 index fa1a604ca..000000000 Binary files a/test/de_fuzz/corpus/15f1b0040d3ebfced12b85f0c64cd74e36a82fec and /dev/null differ diff --git a/test/de_fuzz/corpus/15fc06fb9898f235131988e1fe65b12c038927bc b/test/de_fuzz/corpus/15fc06fb9898f235131988e1fe65b12c038927bc deleted file mode 100644 index fc9cabd62..000000000 Binary files a/test/de_fuzz/corpus/15fc06fb9898f235131988e1fe65b12c038927bc and /dev/null differ diff --git a/test/de_fuzz/corpus/160fb49f5ab2e2e0baeeb822020893f488cf0921 b/test/de_fuzz/corpus/160fb49f5ab2e2e0baeeb822020893f488cf0921 deleted file mode 100644 index 639f2040c..000000000 Binary files a/test/de_fuzz/corpus/160fb49f5ab2e2e0baeeb822020893f488cf0921 and /dev/null differ diff --git a/test/de_fuzz/corpus/162b1460d458405ff33e35a070bda858629c819b b/test/de_fuzz/corpus/162b1460d458405ff33e35a070bda858629c819b deleted file mode 100644 index 6d3221a3b..000000000 Binary files a/test/de_fuzz/corpus/162b1460d458405ff33e35a070bda858629c819b and /dev/null differ diff --git a/test/de_fuzz/corpus/167dfd7f9fc41c2fb4206ce45a01b22f72f308f6 b/test/de_fuzz/corpus/167dfd7f9fc41c2fb4206ce45a01b22f72f308f6 deleted file mode 100644 index a2b0a25ab..000000000 Binary files a/test/de_fuzz/corpus/167dfd7f9fc41c2fb4206ce45a01b22f72f308f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/167f7c90588224bf8aba8e27c673c0adcf92c41f b/test/de_fuzz/corpus/167f7c90588224bf8aba8e27c673c0adcf92c41f deleted file mode 100644 index e13a526e4..000000000 Binary files a/test/de_fuzz/corpus/167f7c90588224bf8aba8e27c673c0adcf92c41f and /dev/null differ diff --git a/test/de_fuzz/corpus/16907bc2e4fe79aef411b689ec3e8b799e8b5d44 b/test/de_fuzz/corpus/16907bc2e4fe79aef411b689ec3e8b799e8b5d44 deleted file mode 100644 index 82d2c759c..000000000 Binary files a/test/de_fuzz/corpus/16907bc2e4fe79aef411b689ec3e8b799e8b5d44 and /dev/null differ diff --git a/test/de_fuzz/corpus/16a40f4b369bd8c800cce8f7c25ff8094483d0c2 b/test/de_fuzz/corpus/16a40f4b369bd8c800cce8f7c25ff8094483d0c2 deleted file mode 100644 index da1fe2c5b..000000000 Binary files a/test/de_fuzz/corpus/16a40f4b369bd8c800cce8f7c25ff8094483d0c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/16b63c7a3e1acff638556a2e77aca152b72754cd b/test/de_fuzz/corpus/16b63c7a3e1acff638556a2e77aca152b72754cd deleted file mode 100644 index b848f5a9f..000000000 Binary files a/test/de_fuzz/corpus/16b63c7a3e1acff638556a2e77aca152b72754cd and /dev/null differ diff --git a/test/de_fuzz/corpus/16bbd23dab7201d8055cdf19c7d14c6e562dc21d b/test/de_fuzz/corpus/16bbd23dab7201d8055cdf19c7d14c6e562dc21d deleted file mode 100644 index e83bd74fa..000000000 Binary files a/test/de_fuzz/corpus/16bbd23dab7201d8055cdf19c7d14c6e562dc21d and /dev/null differ diff --git a/test/de_fuzz/corpus/16e2514aead32f363af1ea97fe90484a0c48e4c9 b/test/de_fuzz/corpus/16e2514aead32f363af1ea97fe90484a0c48e4c9 deleted file mode 100644 index 385c58326..000000000 --- a/test/de_fuzz/corpus/16e2514aead32f363af1ea97fe90484a0c48e4c9 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x@0-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/17336f67e3e840f4d4c09416fb98d15ea890b064 b/test/de_fuzz/corpus/17336f67e3e840f4d4c09416fb98d15ea890b064 deleted file mode 100644 index 999987741..000000000 Binary files a/test/de_fuzz/corpus/17336f67e3e840f4d4c09416fb98d15ea890b064 and /dev/null differ diff --git a/test/de_fuzz/corpus/17e4441cc094daf63490617baa281706f5114234 b/test/de_fuzz/corpus/17e4441cc094daf63490617baa281706f5114234 deleted file mode 100644 index fe087c7cd..000000000 Binary files a/test/de_fuzz/corpus/17e4441cc094daf63490617baa281706f5114234 and /dev/null differ diff --git a/test/de_fuzz/corpus/17f76230795e24f1decbf65fedee8323d23aea12 b/test/de_fuzz/corpus/17f76230795e24f1decbf65fedee8323d23aea12 deleted file mode 100644 index bc24983f9..000000000 Binary files a/test/de_fuzz/corpus/17f76230795e24f1decbf65fedee8323d23aea12 and /dev/null differ diff --git a/test/de_fuzz/corpus/180208061d90bed3fe9c42e8fbc6d4c614e8ae2a b/test/de_fuzz/corpus/180208061d90bed3fe9c42e8fbc6d4c614e8ae2a deleted file mode 100644 index 8fa260562..000000000 Binary files a/test/de_fuzz/corpus/180208061d90bed3fe9c42e8fbc6d4c614e8ae2a and /dev/null differ diff --git a/test/de_fuzz/corpus/1823a0fa9a22d102d466566a5fd8211f736247c2 b/test/de_fuzz/corpus/1823a0fa9a22d102d466566a5fd8211f736247c2 deleted file mode 100644 index 3dae569d0..000000000 Binary files a/test/de_fuzz/corpus/1823a0fa9a22d102d466566a5fd8211f736247c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/1833611169bba70573bf1fd7a904fd8eb542b181 b/test/de_fuzz/corpus/1833611169bba70573bf1fd7a904fd8eb542b181 deleted file mode 100644 index a125cc302..000000000 Binary files a/test/de_fuzz/corpus/1833611169bba70573bf1fd7a904fd8eb542b181 and /dev/null differ diff --git a/test/de_fuzz/corpus/18526839d75f8395be3225532d31bff3b9eccd82 b/test/de_fuzz/corpus/18526839d75f8395be3225532d31bff3b9eccd82 deleted file mode 100644 index fed651e0c..000000000 Binary files a/test/de_fuzz/corpus/18526839d75f8395be3225532d31bff3b9eccd82 and /dev/null differ diff --git a/test/de_fuzz/corpus/186151c96ca10ae271354619e7b3451be0faffd9 b/test/de_fuzz/corpus/186151c96ca10ae271354619e7b3451be0faffd9 deleted file mode 100644 index 32fd405ed..000000000 Binary files a/test/de_fuzz/corpus/186151c96ca10ae271354619e7b3451be0faffd9 and /dev/null differ diff --git a/test/de_fuzz/corpus/186927ae989d7ec99c700510788f1b4d6be37513 b/test/de_fuzz/corpus/186927ae989d7ec99c700510788f1b4d6be37513 deleted file mode 100644 index fd49ea778..000000000 Binary files a/test/de_fuzz/corpus/186927ae989d7ec99c700510788f1b4d6be37513 and /dev/null differ diff --git a/test/de_fuzz/corpus/18a35decbb139c8d5df84a6e5e52cc41b0d420ee b/test/de_fuzz/corpus/18a35decbb139c8d5df84a6e5e52cc41b0d420ee deleted file mode 100644 index 3330cc62b..000000000 Binary files a/test/de_fuzz/corpus/18a35decbb139c8d5df84a6e5e52cc41b0d420ee and /dev/null differ diff --git a/test/de_fuzz/corpus/18a425492da8b3df84d150c9396263c1d9d856cd b/test/de_fuzz/corpus/18a425492da8b3df84d150c9396263c1d9d856cd deleted file mode 100644 index 964f4e4f2..000000000 Binary files a/test/de_fuzz/corpus/18a425492da8b3df84d150c9396263c1d9d856cd and /dev/null differ diff --git a/test/de_fuzz/corpus/18af0d3c4ea1098b1e915b4d9b23b9db5f195e61 b/test/de_fuzz/corpus/18af0d3c4ea1098b1e915b4d9b23b9db5f195e61 deleted file mode 100644 index 97364ca44..000000000 Binary files a/test/de_fuzz/corpus/18af0d3c4ea1098b1e915b4d9b23b9db5f195e61 and /dev/null differ diff --git a/test/de_fuzz/corpus/18c304c3dc071da7d7e1100c03086d2cfb5d7643 b/test/de_fuzz/corpus/18c304c3dc071da7d7e1100c03086d2cfb5d7643 deleted file mode 100644 index c680b3f32..000000000 Binary files a/test/de_fuzz/corpus/18c304c3dc071da7d7e1100c03086d2cfb5d7643 and /dev/null differ diff --git a/test/de_fuzz/corpus/18d40df7a2368f9637726c3c001c7551fdcb61ef b/test/de_fuzz/corpus/18d40df7a2368f9637726c3c001c7551fdcb61ef deleted file mode 100644 index 104c8d028..000000000 Binary files a/test/de_fuzz/corpus/18d40df7a2368f9637726c3c001c7551fdcb61ef and /dev/null differ diff --git a/test/de_fuzz/corpus/18e361ed0a62de425ed0a120ab4decd4c7712e7d b/test/de_fuzz/corpus/18e361ed0a62de425ed0a120ab4decd4c7712e7d deleted file mode 100644 index a319b3b58..000000000 Binary files a/test/de_fuzz/corpus/18e361ed0a62de425ed0a120ab4decd4c7712e7d and /dev/null differ diff --git a/test/de_fuzz/corpus/18e3b2c9fde067e344641eb817b82b25d8844b2e b/test/de_fuzz/corpus/18e3b2c9fde067e344641eb817b82b25d8844b2e deleted file mode 100644 index f2a812fe6..000000000 Binary files a/test/de_fuzz/corpus/18e3b2c9fde067e344641eb817b82b25d8844b2e and /dev/null differ diff --git a/test/de_fuzz/corpus/1980561b6aeca62707b13b930cda80288f51fa3d b/test/de_fuzz/corpus/1980561b6aeca62707b13b930cda80288f51fa3d deleted file mode 100644 index 47715349b..000000000 Binary files a/test/de_fuzz/corpus/1980561b6aeca62707b13b930cda80288f51fa3d and /dev/null differ diff --git a/test/de_fuzz/corpus/19db43c33440e5871e27a17df5df6d95869c9445 b/test/de_fuzz/corpus/19db43c33440e5871e27a17df5df6d95869c9445 deleted file mode 100644 index d5013ab54..000000000 Binary files a/test/de_fuzz/corpus/19db43c33440e5871e27a17df5df6d95869c9445 and /dev/null differ diff --git a/test/de_fuzz/corpus/1a25e7b0385d82a59b6d15de95ac7414a5a921a4 b/test/de_fuzz/corpus/1a25e7b0385d82a59b6d15de95ac7414a5a921a4 deleted file mode 100644 index 1c181de28..000000000 Binary files a/test/de_fuzz/corpus/1a25e7b0385d82a59b6d15de95ac7414a5a921a4 and /dev/null differ diff --git a/test/de_fuzz/corpus/1a363029ffe5ec7e3fed53441ec287443e9def20 b/test/de_fuzz/corpus/1a363029ffe5ec7e3fed53441ec287443e9def20 deleted file mode 100644 index 1e2114f7b..000000000 Binary files a/test/de_fuzz/corpus/1a363029ffe5ec7e3fed53441ec287443e9def20 and /dev/null differ diff --git a/test/de_fuzz/corpus/1a4cce4cedbd98009ded7396f154af06f50451c5 b/test/de_fuzz/corpus/1a4cce4cedbd98009ded7396f154af06f50451c5 deleted file mode 100644 index 12cbd3e45..000000000 Binary files a/test/de_fuzz/corpus/1a4cce4cedbd98009ded7396f154af06f50451c5 and /dev/null differ diff --git a/test/de_fuzz/corpus/1a8293dcb9cc33d2a4cef6ec8bc9ad5d25a568a9 b/test/de_fuzz/corpus/1a8293dcb9cc33d2a4cef6ec8bc9ad5d25a568a9 deleted file mode 100644 index 1b02d82e0..000000000 Binary files a/test/de_fuzz/corpus/1a8293dcb9cc33d2a4cef6ec8bc9ad5d25a568a9 and /dev/null differ diff --git a/test/de_fuzz/corpus/1ae6ad228ef4ea487e618b28be20b99a9c6dc8ab b/test/de_fuzz/corpus/1ae6ad228ef4ea487e618b28be20b99a9c6dc8ab deleted file mode 100644 index fb4a84df7..000000000 Binary files a/test/de_fuzz/corpus/1ae6ad228ef4ea487e618b28be20b99a9c6dc8ab and /dev/null differ diff --git a/test/de_fuzz/corpus/1b1b08335c5d537c0d53bedb7fb851d37689e68a b/test/de_fuzz/corpus/1b1b08335c5d537c0d53bedb7fb851d37689e68a deleted file mode 100644 index 9945b438e..000000000 Binary files a/test/de_fuzz/corpus/1b1b08335c5d537c0d53bedb7fb851d37689e68a and /dev/null differ diff --git a/test/de_fuzz/corpus/1b6a9e734c7daa647faf2e99f99a510961aa907f b/test/de_fuzz/corpus/1b6a9e734c7daa647faf2e99f99a510961aa907f deleted file mode 100644 index 0fb840065..000000000 Binary files a/test/de_fuzz/corpus/1b6a9e734c7daa647faf2e99f99a510961aa907f and /dev/null differ diff --git a/test/de_fuzz/corpus/1b76d2df6b48712832ea08f99e1e2abe32148d80 b/test/de_fuzz/corpus/1b76d2df6b48712832ea08f99e1e2abe32148d80 deleted file mode 100644 index e5b294621..000000000 Binary files a/test/de_fuzz/corpus/1b76d2df6b48712832ea08f99e1e2abe32148d80 and /dev/null differ diff --git a/test/de_fuzz/corpus/1b779e9affb755c30a5ea22c6cbcddb8beb0d249 b/test/de_fuzz/corpus/1b779e9affb755c30a5ea22c6cbcddb8beb0d249 deleted file mode 100644 index 94c386864..000000000 Binary files a/test/de_fuzz/corpus/1b779e9affb755c30a5ea22c6cbcddb8beb0d249 and /dev/null differ diff --git a/test/de_fuzz/corpus/1b885f55c1f8e15cba3ae3e1b77d0ac7bea76007 b/test/de_fuzz/corpus/1b885f55c1f8e15cba3ae3e1b77d0ac7bea76007 deleted file mode 100644 index 26553184e..000000000 Binary files a/test/de_fuzz/corpus/1b885f55c1f8e15cba3ae3e1b77d0ac7bea76007 and /dev/null differ diff --git a/test/de_fuzz/corpus/1c2bfc5c5b7c5139085d785dc4f9bc7edae53345 b/test/de_fuzz/corpus/1c2bfc5c5b7c5139085d785dc4f9bc7edae53345 deleted file mode 100644 index a031c5e06..000000000 Binary files a/test/de_fuzz/corpus/1c2bfc5c5b7c5139085d785dc4f9bc7edae53345 and /dev/null differ diff --git a/test/de_fuzz/corpus/1c518b37cd66c10a5343939b8e611459ba2e626d b/test/de_fuzz/corpus/1c518b37cd66c10a5343939b8e611459ba2e626d deleted file mode 100644 index a8c61b1a3..000000000 --- a/test/de_fuzz/corpus/1c518b37cd66c10a5343939b8e611459ba2e626d +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W[[:Lowercase Letter:]]+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/1c7d35a9d0771c7800f36b5287d70346e757c123 b/test/de_fuzz/corpus/1c7d35a9d0771c7800f36b5287d70346e757c123 deleted file mode 100644 index 2bfe4dd54..000000000 Binary files a/test/de_fuzz/corpus/1c7d35a9d0771c7800f36b5287d70346e757c123 and /dev/null differ diff --git a/test/de_fuzz/corpus/1c83422919930e3987f05e240575d6ea8499fdda b/test/de_fuzz/corpus/1c83422919930e3987f05e240575d6ea8499fdda deleted file mode 100644 index 063b9056b..000000000 Binary files a/test/de_fuzz/corpus/1c83422919930e3987f05e240575d6ea8499fdda and /dev/null differ diff --git a/test/de_fuzz/corpus/1cb149e6a67f8dc7ebb74261feb916818ff7ea3f b/test/de_fuzz/corpus/1cb149e6a67f8dc7ebb74261feb916818ff7ea3f deleted file mode 100644 index 3303b54cd..000000000 Binary files a/test/de_fuzz/corpus/1cb149e6a67f8dc7ebb74261feb916818ff7ea3f and /dev/null differ diff --git a/test/de_fuzz/corpus/1cd3f923596b5fe430cfb793b059e1a87c07f923 b/test/de_fuzz/corpus/1cd3f923596b5fe430cfb793b059e1a87c07f923 deleted file mode 100644 index 3d783a3b9..000000000 --- a/test/de_fuzz/corpus/1cd3f923596b5fe430cfb793b059e1a87c07f923 +++ /dev/null @@ -1,10 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -"^\x80-\xff] | \( (?: [^\\\(80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional l[ading comment # o r -\:\ [^\x80-\xff] \ No newline at end of file diff --git a/test/de_fuzz/corpus/1d38636a182fcd0825aaa254bcc622aa2bca55aa b/test/de_fuzz/corpus/1d38636a182fcd0825aaa254bcc622aa2bca55aa deleted file mode 100644 index edb32f026..000000000 Binary files a/test/de_fuzz/corpus/1d38636a182fcd0825aaa254bcc622aa2bca55aa and /dev/null differ diff --git a/test/de_fuzz/corpus/1d3c58a7c4dfb3fa861fb3b7d656941107b0789b b/test/de_fuzz/corpus/1d3c58a7c4dfb3fa861fb3b7d656941107b0789b deleted file mode 100644 index 0907cc96f..000000000 Binary files a/test/de_fuzz/corpus/1d3c58a7c4dfb3fa861fb3b7d656941107b0789b and /dev/null differ diff --git a/test/de_fuzz/corpus/1d6217e45fc12058c91395960fd0caeee46e968b b/test/de_fuzz/corpus/1d6217e45fc12058c91395960fd0caeee46e968b deleted file mode 100644 index 57b5a9543..000000000 Binary files a/test/de_fuzz/corpus/1d6217e45fc12058c91395960fd0caeee46e968b and /dev/null differ diff --git a/test/de_fuzz/corpus/1db6bcd1f983f9078249db65f333fc8cda119e5e b/test/de_fuzz/corpus/1db6bcd1f983f9078249db65f333fc8cda119e5e deleted file mode 100644 index 8e82d0d2c..000000000 Binary files a/test/de_fuzz/corpus/1db6bcd1f983f9078249db65f333fc8cda119e5e and /dev/null differ diff --git a/test/de_fuzz/corpus/1db9a6c38291eb1d7e39783ddb5f21b45b4d58ba b/test/de_fuzz/corpus/1db9a6c38291eb1d7e39783ddb5f21b45b4d58ba deleted file mode 100644 index 7cc66966f..000000000 Binary files a/test/de_fuzz/corpus/1db9a6c38291eb1d7e39783ddb5f21b45b4d58ba and /dev/null differ diff --git a/test/de_fuzz/corpus/1ddb7d39dd8356038cc31ecb546d29b85727dbd5 b/test/de_fuzz/corpus/1ddb7d39dd8356038cc31ecb546d29b85727dbd5 deleted file mode 100644 index e64595a44..000000000 Binary files a/test/de_fuzz/corpus/1ddb7d39dd8356038cc31ecb546d29b85727dbd5 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e18a803263a230133d9a0e34766d17774bf72f5 b/test/de_fuzz/corpus/1e18a803263a230133d9a0e34766d17774bf72f5 deleted file mode 100644 index f47fbcf61..000000000 Binary files a/test/de_fuzz/corpus/1e18a803263a230133d9a0e34766d17774bf72f5 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e2a16c99c99c693896272f8b51202793c7aea3e b/test/de_fuzz/corpus/1e2a16c99c99c693896272f8b51202793c7aea3e deleted file mode 100644 index da1c2c2f3..000000000 Binary files a/test/de_fuzz/corpus/1e2a16c99c99c693896272f8b51202793c7aea3e and /dev/null differ diff --git a/test/de_fuzz/corpus/1e3054ed822d13b4f25fd2167eab412bef2cedc4 b/test/de_fuzz/corpus/1e3054ed822d13b4f25fd2167eab412bef2cedc4 deleted file mode 100644 index 9b1a4af9e..000000000 Binary files a/test/de_fuzz/corpus/1e3054ed822d13b4f25fd2167eab412bef2cedc4 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e4c37fb5b67bb9ed1234becace5a7dd3407d7e1 b/test/de_fuzz/corpus/1e4c37fb5b67bb9ed1234becace5a7dd3407d7e1 deleted file mode 100644 index 5e82fab99..000000000 Binary files a/test/de_fuzz/corpus/1e4c37fb5b67bb9ed1234becace5a7dd3407d7e1 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e50590e37b13876facbcd4aebebfbca37371f35 b/test/de_fuzz/corpus/1e50590e37b13876facbcd4aebebfbca37371f35 deleted file mode 100644 index 690ca25b4..000000000 Binary files a/test/de_fuzz/corpus/1e50590e37b13876facbcd4aebebfbca37371f35 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e51fb73926820b86aa7377c0b261407cb79e1d7 b/test/de_fuzz/corpus/1e51fb73926820b86aa7377c0b261407cb79e1d7 deleted file mode 100644 index d03186166..000000000 Binary files a/test/de_fuzz/corpus/1e51fb73926820b86aa7377c0b261407cb79e1d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e5d6d72b0e39853e6d86bfb8fc517d77a3ce285 b/test/de_fuzz/corpus/1e5d6d72b0e39853e6d86bfb8fc517d77a3ce285 deleted file mode 100644 index 4af72e000..000000000 Binary files a/test/de_fuzz/corpus/1e5d6d72b0e39853e6d86bfb8fc517d77a3ce285 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e6595d6e4e3a47cf2413918aea4b31383abbf28 b/test/de_fuzz/corpus/1e6595d6e4e3a47cf2413918aea4b31383abbf28 deleted file mode 100644 index dd66edef3..000000000 Binary files a/test/de_fuzz/corpus/1e6595d6e4e3a47cf2413918aea4b31383abbf28 and /dev/null differ diff --git a/test/de_fuzz/corpus/1e6a8558a549acec2140152290d24fbbdae1e2de b/test/de_fuzz/corpus/1e6a8558a549acec2140152290d24fbbdae1e2de deleted file mode 100644 index ca4a47b94..000000000 Binary files a/test/de_fuzz/corpus/1e6a8558a549acec2140152290d24fbbdae1e2de and /dev/null differ diff --git a/test/de_fuzz/corpus/1e97e258bb59f46ba5c0f34b0448ac44ae6bc394 b/test/de_fuzz/corpus/1e97e258bb59f46ba5c0f34b0448ac44ae6bc394 deleted file mode 100644 index 8ed46188d..000000000 Binary files a/test/de_fuzz/corpus/1e97e258bb59f46ba5c0f34b0448ac44ae6bc394 and /dev/null differ diff --git a/test/de_fuzz/corpus/1ea8dff15dbe92a86a116c761ff66815020c8f02 b/test/de_fuzz/corpus/1ea8dff15dbe92a86a116c761ff66815020c8f02 deleted file mode 100644 index d5a78eba8..000000000 Binary files a/test/de_fuzz/corpus/1ea8dff15dbe92a86a116c761ff66815020c8f02 and /dev/null differ diff --git a/test/de_fuzz/corpus/1ed27c1c2ae3fa81cef851a7044e7bdbc0a82c2e b/test/de_fuzz/corpus/1ed27c1c2ae3fa81cef851a7044e7bdbc0a82c2e deleted file mode 100644 index 2c6e6b5fb..000000000 Binary files a/test/de_fuzz/corpus/1ed27c1c2ae3fa81cef851a7044e7bdbc0a82c2e and /dev/null differ diff --git a/test/de_fuzz/corpus/1ee1c812afda02e97c4ba44aab59f7e05e59eac9 b/test/de_fuzz/corpus/1ee1c812afda02e97c4ba44aab59f7e05e59eac9 deleted file mode 100644 index 05c18e59b..000000000 Binary files a/test/de_fuzz/corpus/1ee1c812afda02e97c4ba44aab59f7e05e59eac9 and /dev/null differ diff --git a/test/de_fuzz/corpus/1ee5b22c96521afcc46f0870dbda73b95a24f64d b/test/de_fuzz/corpus/1ee5b22c96521afcc46f0870dbda73b95a24f64d deleted file mode 100644 index bb2d45ac0..000000000 Binary files a/test/de_fuzz/corpus/1ee5b22c96521afcc46f0870dbda73b95a24f64d and /dev/null differ diff --git a/test/de_fuzz/corpus/1f4345759cb98770e88dc483b6bff95511f02a66 b/test/de_fuzz/corpus/1f4345759cb98770e88dc483b6bff95511f02a66 deleted file mode 100644 index b2c910e81..000000000 Binary files a/test/de_fuzz/corpus/1f4345759cb98770e88dc483b6bff95511f02a66 and /dev/null differ diff --git a/test/de_fuzz/corpus/1f453b3cb22c5b5d324efed4c161773fa40bd2bc b/test/de_fuzz/corpus/1f453b3cb22c5b5d324efed4c161773fa40bd2bc deleted file mode 100644 index 9e025d4d6..000000000 Binary files a/test/de_fuzz/corpus/1f453b3cb22c5b5d324efed4c161773fa40bd2bc and /dev/null differ diff --git a/test/de_fuzz/corpus/1f4bf452d8e9aa392d3349810d0f0eff2198066c b/test/de_fuzz/corpus/1f4bf452d8e9aa392d3349810d0f0eff2198066c deleted file mode 100644 index 3407f18c9..000000000 Binary files a/test/de_fuzz/corpus/1f4bf452d8e9aa392d3349810d0f0eff2198066c and /dev/null differ diff --git a/test/de_fuzz/corpus/1f56ede89c798be17127eb44f5590e85b7027336 b/test/de_fuzz/corpus/1f56ede89c798be17127eb44f5590e85b7027336 deleted file mode 100644 index 73509f7b5..000000000 Binary files a/test/de_fuzz/corpus/1f56ede89c798be17127eb44f5590e85b7027336 and /dev/null differ diff --git a/test/de_fuzz/corpus/1f5efc6c79091901e94413b6a001da665dba7703 b/test/de_fuzz/corpus/1f5efc6c79091901e94413b6a001da665dba7703 deleted file mode 100644 index a392a934f..000000000 Binary files a/test/de_fuzz/corpus/1f5efc6c79091901e94413b6a001da665dba7703 and /dev/null differ diff --git a/test/de_fuzz/corpus/1f84d84c6e4c93bd1016367cda84e634263706a8 b/test/de_fuzz/corpus/1f84d84c6e4c93bd1016367cda84e634263706a8 deleted file mode 100644 index dfed60c94..000000000 Binary files a/test/de_fuzz/corpus/1f84d84c6e4c93bd1016367cda84e634263706a8 and /dev/null differ diff --git a/test/de_fuzz/corpus/1ffa26f95672f870f358ceeaf8a64b9b529d8b76 b/test/de_fuzz/corpus/1ffa26f95672f870f358ceeaf8a64b9b529d8b76 deleted file mode 100644 index 91bdbad9e..000000000 Binary files a/test/de_fuzz/corpus/1ffa26f95672f870f358ceeaf8a64b9b529d8b76 and /dev/null differ diff --git a/test/de_fuzz/corpus/20051301a707c606f09fca0dcd5205d0da730b17 b/test/de_fuzz/corpus/20051301a707c606f09fca0dcd5205d0da730b17 deleted file mode 100644 index 9ea9986dd..000000000 Binary files a/test/de_fuzz/corpus/20051301a707c606f09fca0dcd5205d0da730b17 and /dev/null differ diff --git a/test/de_fuzz/corpus/202dcb27a665d7a305706b9d79fcdb78230d07ab b/test/de_fuzz/corpus/202dcb27a665d7a305706b9d79fcdb78230d07ab deleted file mode 100644 index 8d97a5e11..000000000 Binary files a/test/de_fuzz/corpus/202dcb27a665d7a305706b9d79fcdb78230d07ab and /dev/null differ diff --git a/test/de_fuzz/corpus/203456264e62a01e3daa5a739f7795559f97e7b8 b/test/de_fuzz/corpus/203456264e62a01e3daa5a739f7795559f97e7b8 deleted file mode 100644 index 726175861..000000000 Binary files a/test/de_fuzz/corpus/203456264e62a01e3daa5a739f7795559f97e7b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/20398400ff7b37b3819b8cb7300ffe4bcb400173 b/test/de_fuzz/corpus/20398400ff7b37b3819b8cb7300ffe4bcb400173 deleted file mode 100644 index 7812b2107..000000000 Binary files a/test/de_fuzz/corpus/20398400ff7b37b3819b8cb7300ffe4bcb400173 and /dev/null differ diff --git a/test/de_fuzz/corpus/204ea84155b9c058f7fdbb2c1a643d761fe5c756 b/test/de_fuzz/corpus/204ea84155b9c058f7fdbb2c1a643d761fe5c756 deleted file mode 100644 index 54893c801..000000000 Binary files a/test/de_fuzz/corpus/204ea84155b9c058f7fdbb2c1a643d761fe5c756 and /dev/null differ diff --git a/test/de_fuzz/corpus/20557acdf99135641d99b4a06f90d9007d5e758a b/test/de_fuzz/corpus/20557acdf99135641d99b4a06f90d9007d5e758a deleted file mode 100644 index ee5efbfa7..000000000 Binary files a/test/de_fuzz/corpus/20557acdf99135641d99b4a06f90d9007d5e758a and /dev/null differ diff --git a/test/de_fuzz/corpus/206ae55e1be7a2b5098d66a09ba96c40f785916f b/test/de_fuzz/corpus/206ae55e1be7a2b5098d66a09ba96c40f785916f deleted file mode 100644 index 9e10d1e1d..000000000 Binary files a/test/de_fuzz/corpus/206ae55e1be7a2b5098d66a09ba96c40f785916f and /dev/null differ diff --git a/test/de_fuzz/corpus/2074275543d9c2b9edd3cc38f3763be4bb50c01c b/test/de_fuzz/corpus/2074275543d9c2b9edd3cc38f3763be4bb50c01c deleted file mode 100644 index 64f5e8f58..000000000 Binary files a/test/de_fuzz/corpus/2074275543d9c2b9edd3cc38f3763be4bb50c01c and /dev/null differ diff --git a/test/de_fuzz/corpus/2075725bf84ba7959f45c0afadd621ae6401659a b/test/de_fuzz/corpus/2075725bf84ba7959f45c0afadd621ae6401659a deleted file mode 100644 index e0d4ad44b..000000000 Binary files a/test/de_fuzz/corpus/2075725bf84ba7959f45c0afadd621ae6401659a and /dev/null differ diff --git a/test/de_fuzz/corpus/20767bb77dd618c650f2a05024c9a296e51a2f6e b/test/de_fuzz/corpus/20767bb77dd618c650f2a05024c9a296e51a2f6e deleted file mode 100644 index 1b0698df7..000000000 Binary files a/test/de_fuzz/corpus/20767bb77dd618c650f2a05024c9a296e51a2f6e and /dev/null differ diff --git a/test/de_fuzz/corpus/207e0a253d636f498b2cc7987e6064a09cd62793 b/test/de_fuzz/corpus/207e0a253d636f498b2cc7987e6064a09cd62793 deleted file mode 100644 index c36de2d05..000000000 Binary files a/test/de_fuzz/corpus/207e0a253d636f498b2cc7987e6064a09cd62793 and /dev/null differ diff --git a/test/de_fuzz/corpus/208433eb70d62d06f0fe351ce0b659d47e99549b b/test/de_fuzz/corpus/208433eb70d62d06f0fe351ce0b659d47e99549b deleted file mode 100644 index dc7fdf986..000000000 Binary files a/test/de_fuzz/corpus/208433eb70d62d06f0fe351ce0b659d47e99549b and /dev/null differ diff --git a/test/de_fuzz/corpus/2086e3b3162d68f489ee671f27367e4aa0c6db51 b/test/de_fuzz/corpus/2086e3b3162d68f489ee671f27367e4aa0c6db51 deleted file mode 100644 index 167a1b21d..000000000 Binary files a/test/de_fuzz/corpus/2086e3b3162d68f489ee671f27367e4aa0c6db51 and /dev/null differ diff --git a/test/de_fuzz/corpus/20a09b69f13bc82d2124d41478aba3cd9fcb5934 b/test/de_fuzz/corpus/20a09b69f13bc82d2124d41478aba3cd9fcb5934 deleted file mode 100644 index a13156015..000000000 Binary files a/test/de_fuzz/corpus/20a09b69f13bc82d2124d41478aba3cd9fcb5934 and /dev/null differ diff --git a/test/de_fuzz/corpus/213024272ec47d338cce7e85f88fdc452586eb74 b/test/de_fuzz/corpus/213024272ec47d338cce7e85f88fdc452586eb74 deleted file mode 100644 index 22337d838..000000000 Binary files a/test/de_fuzz/corpus/213024272ec47d338cce7e85f88fdc452586eb74 and /dev/null differ diff --git a/test/de_fuzz/corpus/214d7acbf05656d00fcbe2db0d34808987516ed1 b/test/de_fuzz/corpus/214d7acbf05656d00fcbe2db0d34808987516ed1 deleted file mode 100644 index 7d33cd76c..000000000 Binary files a/test/de_fuzz/corpus/214d7acbf05656d00fcbe2db0d34808987516ed1 and /dev/null differ diff --git a/test/de_fuzz/corpus/215b7fb97020bccb28990ece2b15ab2b1725ac57 b/test/de_fuzz/corpus/215b7fb97020bccb28990ece2b15ab2b1725ac57 deleted file mode 100644 index 76036cf3a..000000000 --- a/test/de_fuzz/corpus/215b7fb97020bccb28990ece2b15ab2b1725ac57 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+i+)+)+)+)+|V(((((((a+)+)+!\Pd((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/21be33985b124e065ceaf38ffe7e474724041a00 b/test/de_fuzz/corpus/21be33985b124e065ceaf38ffe7e474724041a00 deleted file mode 100644 index 02cfaac87..000000000 Binary files a/test/de_fuzz/corpus/21be33985b124e065ceaf38ffe7e474724041a00 and /dev/null differ diff --git a/test/de_fuzz/corpus/21c97a27e0db5697d1be68b39e2244b36133b557 b/test/de_fuzz/corpus/21c97a27e0db5697d1be68b39e2244b36133b557 deleted file mode 100644 index d7c17bfdb..000000000 Binary files a/test/de_fuzz/corpus/21c97a27e0db5697d1be68b39e2244b36133b557 and /dev/null differ diff --git a/test/de_fuzz/corpus/21eae1ff34ec220e6a9fda524b6d9cd5c802a9a1 b/test/de_fuzz/corpus/21eae1ff34ec220e6a9fda524b6d9cd5c802a9a1 deleted file mode 100644 index c8b261adb..000000000 Binary files a/test/de_fuzz/corpus/21eae1ff34ec220e6a9fda524b6d9cd5c802a9a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/22439493568e52b5d35627cd93342fd317d53e22 b/test/de_fuzz/corpus/22439493568e52b5d35627cd93342fd317d53e22 deleted file mode 100644 index f3610590c..000000000 Binary files a/test/de_fuzz/corpus/22439493568e52b5d35627cd93342fd317d53e22 and /dev/null differ diff --git a/test/de_fuzz/corpus/22439b2bc2b69a226d804646ace948c1749e666d b/test/de_fuzz/corpus/22439b2bc2b69a226d804646ace948c1749e666d deleted file mode 100644 index 953102298..000000000 Binary files a/test/de_fuzz/corpus/22439b2bc2b69a226d804646ace948c1749e666d and /dev/null differ diff --git a/test/de_fuzz/corpus/224809a92db970094c28145dc6b64b23208c7eb2 b/test/de_fuzz/corpus/224809a92db970094c28145dc6b64b23208c7eb2 deleted file mode 100644 index 1cd11c392..000000000 Binary files a/test/de_fuzz/corpus/224809a92db970094c28145dc6b64b23208c7eb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/2252da790304b7319832b88cbb92a8fcbb306531 b/test/de_fuzz/corpus/2252da790304b7319832b88cbb92a8fcbb306531 deleted file mode 100644 index 89dbf0a9d..000000000 --- a/test/de_fuzz/corpus/2252da790304b7319832b88cbb92a8fcbb306531 +++ /dev/null @@ -1,2 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ - \ No newline at end of file diff --git a/test/de_fuzz/corpus/225eb59d94a2ccab6023e47b6a1e9319f8b543f0 b/test/de_fuzz/corpus/225eb59d94a2ccab6023e47b6a1e9319f8b543f0 deleted file mode 100644 index 480727217..000000000 Binary files a/test/de_fuzz/corpus/225eb59d94a2ccab6023e47b6a1e9319f8b543f0 and /dev/null differ diff --git a/test/de_fuzz/corpus/226996148d26b4c5f5383b06fde6833a485bf912 b/test/de_fuzz/corpus/226996148d26b4c5f5383b06fde6833a485bf912 deleted file mode 100644 index 3be72aae4..000000000 Binary files a/test/de_fuzz/corpus/226996148d26b4c5f5383b06fde6833a485bf912 and /dev/null differ diff --git a/test/de_fuzz/corpus/22a57b0d17246dc257203cea101270851202260b b/test/de_fuzz/corpus/22a57b0d17246dc257203cea101270851202260b deleted file mode 100644 index 641800ed1..000000000 --- a/test/de_fuzz/corpus/22a57b0d17246dc257203cea101270851202260b +++ /dev/null @@ -1,129 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\l subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t][[:Format:]][^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/22af9fd87969f57dd4d80152d997ce6fd5809d9b b/test/de_fuzz/corpus/22af9fd87969f57dd4d80152d997ce6fd5809d9b deleted file mode 100644 index e7dfe92c6..000000000 Binary files a/test/de_fuzz/corpus/22af9fd87969f57dd4d80152d997ce6fd5809d9b and /dev/null differ diff --git a/test/de_fuzz/corpus/22bfa3f9eaccf0df7d7c42e77904e5db3353759b b/test/de_fuzz/corpus/22bfa3f9eaccf0df7d7c42e77904e5db3353759b deleted file mode 100644 index 557f8393e..000000000 Binary files a/test/de_fuzz/corpus/22bfa3f9eaccf0df7d7c42e77904e5db3353759b and /dev/null differ diff --git a/test/de_fuzz/corpus/22d8a49621f6b6ace23eeb4cd9f0a27eaf416971 b/test/de_fuzz/corpus/22d8a49621f6b6ace23eeb4cd9f0a27eaf416971 deleted file mode 100644 index ee8d0b8a0..000000000 Binary files a/test/de_fuzz/corpus/22d8a49621f6b6ace23eeb4cd9f0a27eaf416971 and /dev/null differ diff --git a/test/de_fuzz/corpus/22d9cb56b55fa6003a02a36ec7a0a97cb1463acc b/test/de_fuzz/corpus/22d9cb56b55fa6003a02a36ec7a0a97cb1463acc deleted file mode 100644 index 0510a36e0..000000000 Binary files a/test/de_fuzz/corpus/22d9cb56b55fa6003a02a36ec7a0a97cb1463acc and /dev/null differ diff --git a/test/de_fuzz/corpus/22ebaf736a208b1cf96dc80015fea07bef3dd82f b/test/de_fuzz/corpus/22ebaf736a208b1cf96dc80015fea07bef3dd82f deleted file mode 100644 index 6df14e07e..000000000 Binary files a/test/de_fuzz/corpus/22ebaf736a208b1cf96dc80015fea07bef3dd82f and /dev/null differ diff --git a/test/de_fuzz/corpus/22efbb15bcd8fb9e83397e874106e635b693005d b/test/de_fuzz/corpus/22efbb15bcd8fb9e83397e874106e635b693005d deleted file mode 100644 index ad72706c6..000000000 Binary files a/test/de_fuzz/corpus/22efbb15bcd8fb9e83397e874106e635b693005d and /dev/null differ diff --git a/test/de_fuzz/corpus/22f833c66c0f42d7c2f9d29ac83232b4e705ea3d b/test/de_fuzz/corpus/22f833c66c0f42d7c2f9d29ac83232b4e705ea3d deleted file mode 100644 index 44da29706..000000000 Binary files a/test/de_fuzz/corpus/22f833c66c0f42d7c2f9d29ac83232b4e705ea3d and /dev/null differ diff --git a/test/de_fuzz/corpus/234c264183d1682eeb5f20158d49c7cacce250c6 b/test/de_fuzz/corpus/234c264183d1682eeb5f20158d49c7cacce250c6 deleted file mode 100644 index 7ba5de5ef..000000000 Binary files a/test/de_fuzz/corpus/234c264183d1682eeb5f20158d49c7cacce250c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/2372123756b37bab7d25ddbc64edb413425f8b01 b/test/de_fuzz/corpus/2372123756b37bab7d25ddbc64edb413425f8b01 deleted file mode 100644 index ef025da86..000000000 Binary files a/test/de_fuzz/corpus/2372123756b37bab7d25ddbc64edb413425f8b01 and /dev/null differ diff --git a/test/de_fuzz/corpus/2374ecf0668b2adbd2a6425453835fc20a47b6a6 b/test/de_fuzz/corpus/2374ecf0668b2adbd2a6425453835fc20a47b6a6 deleted file mode 100644 index 42b175c76..000000000 Binary files a/test/de_fuzz/corpus/2374ecf0668b2adbd2a6425453835fc20a47b6a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/2380f03162a2139983b13fa4c5ae2a7f7e305323 b/test/de_fuzz/corpus/2380f03162a2139983b13fa4c5ae2a7f7e305323 deleted file mode 100644 index 16818e097..000000000 Binary files a/test/de_fuzz/corpus/2380f03162a2139983b13fa4c5ae2a7f7e305323 and /dev/null differ diff --git a/test/de_fuzz/corpus/2389288aff8db60addf59cef34d87a5690c0ea7a b/test/de_fuzz/corpus/2389288aff8db60addf59cef34d87a5690c0ea7a deleted file mode 100644 index 37e9ab7f9..000000000 --- a/test/de_fuzz/corpus/2389288aff8db60addf59cef34d87a5690c0ea7a +++ /dev/null @@ -1,127 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional le\Qing comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^?x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x8qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x8 address spec -(?: [\040\t] | \( -(?: [^\\\x80 # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/23c7dd0cf89b7b3b057de9e63b33b4ff4ed55796 b/test/de_fuzz/corpus/23c7dd0cf89b7b3b057de9e63b33b4ff4ed55796 deleted file mode 100644 index 3662795f2..000000000 Binary files a/test/de_fuzz/corpus/23c7dd0cf89b7b3b057de9e63b33b4ff4ed55796 and /dev/null differ diff --git a/test/de_fuzz/corpus/23e9127e044c64f51973b9d3a08d408d900a9632 b/test/de_fuzz/corpus/23e9127e044c64f51973b9d3a08d408d900a9632 deleted file mode 100644 index 29c3af07a..000000000 --- a/test/de_fuzz/corpus/23e9127e044c64f51973b9d3a08d408d900a9632 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W((((a++()(()+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/23ec75e5baf5d46e6cfa77e931d9bbace1969fbe b/test/de_fuzz/corpus/23ec75e5baf5d46e6cfa77e931d9bbace1969fbe deleted file mode 100644 index bbebb6fc1..000000000 --- a/test/de_fuzz/corpus/23ec75e5baf5d46e6cfa77e931d9bbace1969fbe +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)?\W*(?1)\W*(.)\W*(?mmmmmmommmmmmmmmmmmmmm3)\[[:space:]]*))]W*$TheW*$The quick brown )ox ! \ No newline at end of file diff --git a/test/de_fuzz/corpus/23ffbc589b62ac4648ccfb72495fb4f695d1b34f b/test/de_fuzz/corpus/23ffbc589b62ac4648ccfb72495fb4f695d1b34f deleted file mode 100644 index 088b3121d..000000000 Binary files a/test/de_fuzz/corpus/23ffbc589b62ac4648ccfb72495fb4f695d1b34f and /dev/null differ diff --git a/test/de_fuzz/corpus/240b7e0f425bca21db8fae5188d374f102bd3cde b/test/de_fuzz/corpus/240b7e0f425bca21db8fae5188d374f102bd3cde deleted file mode 100644 index 6118638c9..000000000 Binary files a/test/de_fuzz/corpus/240b7e0f425bca21db8fae5188d374f102bd3cde and /dev/null differ diff --git a/test/de_fuzz/corpus/241345bab245aaeaa25667317c7099af3afda041 b/test/de_fuzz/corpus/241345bab245aaeaa25667317c7099af3afda041 deleted file mode 100644 index dce238a5e..000000000 Binary files a/test/de_fuzz/corpus/241345bab245aaeaa25667317c7099af3afda041 and /dev/null differ diff --git a/test/de_fuzz/corpus/2415bcefc7bbb819b9a41b835d2153402dfb368f b/test/de_fuzz/corpus/2415bcefc7bbb819b9a41b835d2153402dfb368f deleted file mode 100644 index b4da40eaa..000000000 --- a/test/de_fuzz/corpus/2415bcefc7bbb819b9a41b835d2153402dfb368f +++ /dev/null @@ -1 +0,0 @@ - ((*ACCEPT)\L(?>a(?i)bc)*ACCEPT)\L(?>a(?i)bc)ba++c \ No newline at end of file diff --git a/test/de_fuzz/corpus/243ff8e74ecc3233a2fd6be0c6c5244ca43467c7 b/test/de_fuzz/corpus/243ff8e74ecc3233a2fd6be0c6c5244ca43467c7 deleted file mode 100644 index 4deb2bcb1..000000000 --- a/test/de_fuzz/corpus/243ff8e74ecc3233a2fd6be0c6c5244ca43467c7 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)++)+)+)+|CY(((((((a+)+)+)+)+)+))+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|!a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/2479a71abc10392f691268aaccca47ccb04d578e b/test/de_fuzz/corpus/2479a71abc10392f691268aaccca47ccb04d578e deleted file mode 100644 index e6a643a64..000000000 Binary files a/test/de_fuzz/corpus/2479a71abc10392f691268aaccca47ccb04d578e and /dev/null differ diff --git a/test/de_fuzz/corpus/247ebeafee24a177bd579b44b84cf9278fc477b4 b/test/de_fuzz/corpus/247ebeafee24a177bd579b44b84cf9278fc477b4 deleted file mode 100644 index 905fd622a..000000000 Binary files a/test/de_fuzz/corpus/247ebeafee24a177bd579b44b84cf9278fc477b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/24a6982e83332dc2560457bb5d9a1928f21ccdeb b/test/de_fuzz/corpus/24a6982e83332dc2560457bb5d9a1928f21ccdeb deleted file mode 100644 index 7425d08b9..000000000 Binary files a/test/de_fuzz/corpus/24a6982e83332dc2560457bb5d9a1928f21ccdeb and /dev/null differ diff --git a/test/de_fuzz/corpus/24ed43a04a110fd2a2b39ea52f184e45633bfa09 b/test/de_fuzz/corpus/24ed43a04a110fd2a2b39ea52f184e45633bfa09 deleted file mode 100644 index c44f2dc38..000000000 Binary files a/test/de_fuzz/corpus/24ed43a04a110fd2a2b39ea52f184e45633bfa09 and /dev/null differ diff --git a/test/de_fuzz/corpus/24f9cc2832e16f5e8b81bc5a0e35258e598d5397 b/test/de_fuzz/corpus/24f9cc2832e16f5e8b81bc5a0e35258e598d5397 deleted file mode 100644 index b57493110..000000000 Binary files a/test/de_fuzz/corpus/24f9cc2832e16f5e8b81bc5a0e35258e598d5397 and /dev/null differ diff --git a/test/de_fuzz/corpus/24fb377f9ee883f5ed065e25d6cd39d53a317b49 b/test/de_fuzz/corpus/24fb377f9ee883f5ed065e25d6cd39d53a317b49 deleted file mode 100644 index d7408cc6f..000000000 Binary files a/test/de_fuzz/corpus/24fb377f9ee883f5ed065e25d6cd39d53a317b49 and /dev/null differ diff --git a/test/de_fuzz/corpus/2531b772b30d580e47dab5398847c68e107b2095 b/test/de_fuzz/corpus/2531b772b30d580e47dab5398847c68e107b2095 deleted file mode 100644 index 78b19cf8b..000000000 Binary files a/test/de_fuzz/corpus/2531b772b30d580e47dab5398847c68e107b2095 and /dev/null differ diff --git a/test/de_fuzz/corpus/256f28138ac7e6eb4cf8c93831ad9873ad0555a7 b/test/de_fuzz/corpus/256f28138ac7e6eb4cf8c93831ad9873ad0555a7 deleted file mode 100644 index fc407c8c7..000000000 Binary files a/test/de_fuzz/corpus/256f28138ac7e6eb4cf8c93831ad9873ad0555a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/257445cef2811facfaf0582e6ad6c205a8148b4d b/test/de_fuzz/corpus/257445cef2811facfaf0582e6ad6c205a8148b4d deleted file mode 100644 index ab1e1f7e9..000000000 Binary files a/test/de_fuzz/corpus/257445cef2811facfaf0582e6ad6c205a8148b4d and /dev/null differ diff --git a/test/de_fuzz/corpus/2589a267aa31f85c3af87b85414945a98e102f72 b/test/de_fuzz/corpus/2589a267aa31f85c3af87b85414945a98e102f72 deleted file mode 100644 index 12c982a23..000000000 Binary files a/test/de_fuzz/corpus/2589a267aa31f85c3af87b85414945a98e102f72 and /dev/null differ diff --git a/test/de_fuzz/corpus/25b68a4e7a0c06425a2cec3cfd385c63653dc37a b/test/de_fuzz/corpus/25b68a4e7a0c06425a2cec3cfd385c63653dc37a deleted file mode 100644 index cc09b54a7..000000000 Binary files a/test/de_fuzz/corpus/25b68a4e7a0c06425a2cec3cfd385c63653dc37a and /dev/null differ diff --git a/test/de_fuzz/corpus/25cc98c26568667d7e7a2ddd0ee17aff75963f3c b/test/de_fuzz/corpus/25cc98c26568667d7e7a2ddd0ee17aff75963f3c deleted file mode 100644 index 0c8991c97..000000000 Binary files a/test/de_fuzz/corpus/25cc98c26568667d7e7a2ddd0ee17aff75963f3c and /dev/null differ diff --git a/test/de_fuzz/corpus/25d407d104a2080ba4ee646da795dfb123a7a85b b/test/de_fuzz/corpus/25d407d104a2080ba4ee646da795dfb123a7a85b deleted file mode 100644 index 749ca11ce..000000000 Binary files a/test/de_fuzz/corpus/25d407d104a2080ba4ee646da795dfb123a7a85b and /dev/null differ diff --git a/test/de_fuzz/corpus/25fb5ad986c3d44de1c1538c95c8434cbfb8756f b/test/de_fuzz/corpus/25fb5ad986c3d44de1c1538c95c8434cbfb8756f deleted file mode 100644 index 596a74754..000000000 Binary files a/test/de_fuzz/corpus/25fb5ad986c3d44de1c1538c95c8434cbfb8756f and /dev/null differ diff --git a/test/de_fuzz/corpus/2612f22302f96f559a6ce0b7a5e0eeb8fb731c4b b/test/de_fuzz/corpus/2612f22302f96f559a6ce0b7a5e0eeb8fb731c4b deleted file mode 100644 index cbaa78a6c..000000000 Binary files a/test/de_fuzz/corpus/2612f22302f96f559a6ce0b7a5e0eeb8fb731c4b and /dev/null differ diff --git a/test/de_fuzz/corpus/264b1991909db04e3381559427699c5f90c986c6 b/test/de_fuzz/corpus/264b1991909db04e3381559427699c5f90c986c6 deleted file mode 100644 index 8f87ec075..000000000 Binary files a/test/de_fuzz/corpus/264b1991909db04e3381559427699c5f90c986c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/266aafab7016ce4e31560f8d7b8c37c116ff6c8b b/test/de_fuzz/corpus/266aafab7016ce4e31560f8d7b8c37c116ff6c8b deleted file mode 100644 index a5e7149f0..000000000 --- a/test/de_fuzz/corpus/266aafab7016ce4e31560f8d7b8c37c116ff6c8b +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)k)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/26ac263818459c65d33efc0cd72cafe84c57ff62 b/test/de_fuzz/corpus/26ac263818459c65d33efc0cd72cafe84c57ff62 deleted file mode 100644 index c8d174225..000000000 Binary files a/test/de_fuzz/corpus/26ac263818459c65d33efc0cd72cafe84c57ff62 and /dev/null differ diff --git a/test/de_fuzz/corpus/26aedb09e4609c7d582f7a6a76155518397ff4a4 b/test/de_fuzz/corpus/26aedb09e4609c7d582f7a6a76155518397ff4a4 deleted file mode 100644 index 5e28290f4..000000000 Binary files a/test/de_fuzz/corpus/26aedb09e4609c7d582f7a6a76155518397ff4a4 and /dev/null differ diff --git a/test/de_fuzz/corpus/26b5b415d24cc157df5b1313275096f91acca896 b/test/de_fuzz/corpus/26b5b415d24cc157df5b1313275096f91acca896 deleted file mode 100644 index 804439b1f..000000000 Binary files a/test/de_fuzz/corpus/26b5b415d24cc157df5b1313275096f91acca896 and /dev/null differ diff --git a/test/de_fuzz/corpus/26dc35f9be3148a0ab448bec0f35a4b494419079 b/test/de_fuzz/corpus/26dc35f9be3148a0ab448bec0f35a4b494419079 deleted file mode 100644 index 3535a54a1..000000000 Binary files a/test/de_fuzz/corpus/26dc35f9be3148a0ab448bec0f35a4b494419079 and /dev/null differ diff --git a/test/de_fuzz/corpus/26e0d77c58dffecf29ddec788daaee394a15d18d b/test/de_fuzz/corpus/26e0d77c58dffecf29ddec788daaee394a15d18d deleted file mode 100644 index e262ddf06..000000000 Binary files a/test/de_fuzz/corpus/26e0d77c58dffecf29ddec788daaee394a15d18d and /dev/null differ diff --git a/test/de_fuzz/corpus/26eec06a7194ffde11cfeb903e3866360af16023 b/test/de_fuzz/corpus/26eec06a7194ffde11cfeb903e3866360af16023 deleted file mode 100644 index 9b6fb471c..000000000 Binary files a/test/de_fuzz/corpus/26eec06a7194ffde11cfeb903e3866360af16023 and /dev/null differ diff --git a/test/de_fuzz/corpus/272c7241f4cc13ae4a4c6b9b1cd8784bea7c56e7 b/test/de_fuzz/corpus/272c7241f4cc13ae4a4c6b9b1cd8784bea7c56e7 deleted file mode 100644 index bbbe3c51c..000000000 Binary files a/test/de_fuzz/corpus/272c7241f4cc13ae4a4c6b9b1cd8784bea7c56e7 and /dev/null differ diff --git a/test/de_fuzz/corpus/27336d067648a82dc6174340c3fc6f93db99e225 b/test/de_fuzz/corpus/27336d067648a82dc6174340c3fc6f93db99e225 deleted file mode 100644 index ebd4700f4..000000000 Binary files a/test/de_fuzz/corpus/27336d067648a82dc6174340c3fc6f93db99e225 and /dev/null differ diff --git a/test/de_fuzz/corpus/2734205c4e29821522b57cca6335b64694f35a94 b/test/de_fuzz/corpus/2734205c4e29821522b57cca6335b64694f35a94 deleted file mode 100644 index 6f82c58ed..000000000 Binary files a/test/de_fuzz/corpus/2734205c4e29821522b57cca6335b64694f35a94 and /dev/null differ diff --git a/test/de_fuzz/corpus/273ac693e1beff20a66a093bc57e388df43ad82c b/test/de_fuzz/corpus/273ac693e1beff20a66a093bc57e388df43ad82c deleted file mode 100644 index c9e9cc58f..000000000 Binary files a/test/de_fuzz/corpus/273ac693e1beff20a66a093bc57e388df43ad82c and /dev/null differ diff --git a/test/de_fuzz/corpus/276828778907073e9b893162c9a44f8eaf703552 b/test/de_fuzz/corpus/276828778907073e9b893162c9a44f8eaf703552 deleted file mode 100644 index 2b2fb78de..000000000 Binary files a/test/de_fuzz/corpus/276828778907073e9b893162c9a44f8eaf703552 and /dev/null differ diff --git a/test/de_fuzz/corpus/277856ce34d36fae0cee4e5cb73d1b7175735e8f b/test/de_fuzz/corpus/277856ce34d36fae0cee4e5cb73d1b7175735e8f deleted file mode 100644 index 6be381ddb..000000000 Binary files a/test/de_fuzz/corpus/277856ce34d36fae0cee4e5cb73d1b7175735e8f and /dev/null differ diff --git a/test/de_fuzz/corpus/277940ae41900801f96688ca21763868338d3637 b/test/de_fuzz/corpus/277940ae41900801f96688ca21763868338d3637 deleted file mode 100644 index 89121956d..000000000 Binary files a/test/de_fuzz/corpus/277940ae41900801f96688ca21763868338d3637 and /dev/null differ diff --git a/test/de_fuzz/corpus/2795e2ac813a371004aa5a9cfccd1e28b787f0aa b/test/de_fuzz/corpus/2795e2ac813a371004aa5a9cfccd1e28b787f0aa deleted file mode 100644 index e0a0a7565..000000000 Binary files a/test/de_fuzz/corpus/2795e2ac813a371004aa5a9cfccd1e28b787f0aa and /dev/null differ diff --git a/test/de_fuzz/corpus/279bd0fa8c12cba3f9a807314c77df18f95bc6cd b/test/de_fuzz/corpus/279bd0fa8c12cba3f9a807314c77df18f95bc6cd deleted file mode 100644 index 682f085f3..000000000 Binary files a/test/de_fuzz/corpus/279bd0fa8c12cba3f9a807314c77df18f95bc6cd and /dev/null differ diff --git a/test/de_fuzz/corpus/27aa3e268306e283caf70004d62cf04bea7172a3 b/test/de_fuzz/corpus/27aa3e268306e283caf70004d62cf04bea7172a3 deleted file mode 100644 index e80fd504c..000000000 Binary files a/test/de_fuzz/corpus/27aa3e268306e283caf70004d62cf04bea7172a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/27e43836123c649e6484a5f55aaed50a8d3fa26f b/test/de_fuzz/corpus/27e43836123c649e6484a5f55aaed50a8d3fa26f deleted file mode 100644 index 2df4a03b2..000000000 Binary files a/test/de_fuzz/corpus/27e43836123c649e6484a5f55aaed50a8d3fa26f and /dev/null differ diff --git a/test/de_fuzz/corpus/283fd78d234f18956a4d35661d38a16aa4817430 b/test/de_fuzz/corpus/283fd78d234f18956a4d35661d38a16aa4817430 deleted file mode 100644 index 8218b2390..000000000 Binary files a/test/de_fuzz/corpus/283fd78d234f18956a4d35661d38a16aa4817430 and /dev/null differ diff --git a/test/de_fuzz/corpus/285795a6d7b777bb2a382cfad688e52e78e67bc6 b/test/de_fuzz/corpus/285795a6d7b777bb2a382cfad688e52e78e67bc6 deleted file mode 100644 index 98f769ebe..000000000 Binary files a/test/de_fuzz/corpus/285795a6d7b777bb2a382cfad688e52e78e67bc6 and /dev/null differ diff --git a/test/de_fuzz/corpus/287fa370f7afa14d373c824681d4680d39e6e71d b/test/de_fuzz/corpus/287fa370f7afa14d373c824681d4680d39e6e71d deleted file mode 100644 index 31b9f680a..000000000 Binary files a/test/de_fuzz/corpus/287fa370f7afa14d373c824681d4680d39e6e71d and /dev/null differ diff --git a/test/de_fuzz/corpus/28aa0e4404070c4db838909d4b23ab37fc9c2d75 b/test/de_fuzz/corpus/28aa0e4404070c4db838909d4b23ab37fc9c2d75 deleted file mode 100644 index 24a5e39a2..000000000 Binary files a/test/de_fuzz/corpus/28aa0e4404070c4db838909d4b23ab37fc9c2d75 and /dev/null differ diff --git a/test/de_fuzz/corpus/28c085c77bfbe505688519f172b04aa9a9a15545 b/test/de_fuzz/corpus/28c085c77bfbe505688519f172b04aa9a9a15545 deleted file mode 100644 index 7b48bf08c..000000000 Binary files a/test/de_fuzz/corpus/28c085c77bfbe505688519f172b04aa9a9a15545 and /dev/null differ diff --git a/test/de_fuzz/corpus/28ca452021d408611f328ff6987e3288cba117dc b/test/de_fuzz/corpus/28ca452021d408611f328ff6987e3288cba117dc deleted file mode 100644 index 72046f1d3..000000000 Binary files a/test/de_fuzz/corpus/28ca452021d408611f328ff6987e3288cba117dc and /dev/null differ diff --git a/test/de_fuzz/corpus/28f6f84b7ce121e79aa134c7653a45d6cb7bc55b b/test/de_fuzz/corpus/28f6f84b7ce121e79aa134c7653a45d6cb7bc55b deleted file mode 100644 index 24385fcc5..000000000 Binary files a/test/de_fuzz/corpus/28f6f84b7ce121e79aa134c7653a45d6cb7bc55b and /dev/null differ diff --git a/test/de_fuzz/corpus/290abc4c49f545140b5dcd339e0c275523cd305d b/test/de_fuzz/corpus/290abc4c49f545140b5dcd339e0c275523cd305d deleted file mode 100644 index e312b3b5b..000000000 Binary files a/test/de_fuzz/corpus/290abc4c49f545140b5dcd339e0c275523cd305d and /dev/null differ diff --git a/test/de_fuzz/corpus/290c296e90501f0942cfb26d0bdc0f8b26becd8e b/test/de_fuzz/corpus/290c296e90501f0942cfb26d0bdc0f8b26becd8e deleted file mode 100644 index d7d52170e..000000000 Binary files a/test/de_fuzz/corpus/290c296e90501f0942cfb26d0bdc0f8b26becd8e and /dev/null differ diff --git a/test/de_fuzz/corpus/29143d1f21cd02a77056e5946070024c0023d66d b/test/de_fuzz/corpus/29143d1f21cd02a77056e5946070024c0023d66d deleted file mode 100644 index a6e684fc1..000000000 Binary files a/test/de_fuzz/corpus/29143d1f21cd02a77056e5946070024c0023d66d and /dev/null differ diff --git a/test/de_fuzz/corpus/292d01b1fa5e2f181ece6cf0210fdbdfc90b467d b/test/de_fuzz/corpus/292d01b1fa5e2f181ece6cf0210fdbdfc90b467d deleted file mode 100644 index 723e4e284..000000000 Binary files a/test/de_fuzz/corpus/292d01b1fa5e2f181ece6cf0210fdbdfc90b467d and /dev/null differ diff --git a/test/de_fuzz/corpus/293815784e35a1068145c9e9330c8db52fa61607 b/test/de_fuzz/corpus/293815784e35a1068145c9e9330c8db52fa61607 deleted file mode 100644 index 1286de437..000000000 Binary files a/test/de_fuzz/corpus/293815784e35a1068145c9e9330c8db52fa61607 and /dev/null differ diff --git a/test/de_fuzz/corpus/2938357c31c15ca3630165ea58366f2ac8b53d55 b/test/de_fuzz/corpus/2938357c31c15ca3630165ea58366f2ac8b53d55 deleted file mode 100644 index 9efe65642..000000000 Binary files a/test/de_fuzz/corpus/2938357c31c15ca3630165ea58366f2ac8b53d55 and /dev/null differ diff --git a/test/de_fuzz/corpus/29588128e53b6cb934e835dbfe440138702aacf8 b/test/de_fuzz/corpus/29588128e53b6cb934e835dbfe440138702aacf8 deleted file mode 100644 index 546ca8eca..000000000 Binary files a/test/de_fuzz/corpus/29588128e53b6cb934e835dbfe440138702aacf8 and /dev/null differ diff --git a/test/de_fuzz/corpus/29a708cc9c703a518cec03b65520876277b4d25f b/test/de_fuzz/corpus/29a708cc9c703a518cec03b65520876277b4d25f deleted file mode 100644 index 255de15ee..000000000 Binary files a/test/de_fuzz/corpus/29a708cc9c703a518cec03b65520876277b4d25f and /dev/null differ diff --git a/test/de_fuzz/corpus/29a8714c7661cf21f3b9e393a099e583fd6238c7 b/test/de_fuzz/corpus/29a8714c7661cf21f3b9e393a099e583fd6238c7 deleted file mode 100644 index ba69aadfb..000000000 Binary files a/test/de_fuzz/corpus/29a8714c7661cf21f3b9e393a099e583fd6238c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/29e186f0d25f8704a9d5b8fd9aa384a65134d7bc b/test/de_fuzz/corpus/29e186f0d25f8704a9d5b8fd9aa384a65134d7bc deleted file mode 100644 index c326b2089..000000000 Binary files a/test/de_fuzz/corpus/29e186f0d25f8704a9d5b8fd9aa384a65134d7bc and /dev/null differ diff --git a/test/de_fuzz/corpus/2a2bff5141004d0b71f2ee02d167e2cc610ffaf3 b/test/de_fuzz/corpus/2a2bff5141004d0b71f2ee02d167e2cc610ffaf3 deleted file mode 100644 index 8bfb9f825..000000000 Binary files a/test/de_fuzz/corpus/2a2bff5141004d0b71f2ee02d167e2cc610ffaf3 and /dev/null differ diff --git a/test/de_fuzz/corpus/2a4f6f426d21ae9d69309b36d3ccef00ebca899c b/test/de_fuzz/corpus/2a4f6f426d21ae9d69309b36d3ccef00ebca899c deleted file mode 100644 index e04f2023f..000000000 Binary files a/test/de_fuzz/corpus/2a4f6f426d21ae9d69309b36d3ccef00ebca899c and /dev/null differ diff --git a/test/de_fuzz/corpus/2a5a9a891078684058b6df5ca3bf30cbfdc335a3 b/test/de_fuzz/corpus/2a5a9a891078684058b6df5ca3bf30cbfdc335a3 deleted file mode 100644 index 4ed7bd00f..000000000 Binary files a/test/de_fuzz/corpus/2a5a9a891078684058b6df5ca3bf30cbfdc335a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/2a948b4accd77470c74cbb9a90c5a1c536532df0 b/test/de_fuzz/corpus/2a948b4accd77470c74cbb9a90c5a1c536532df0 deleted file mode 100644 index 35e81cc5b..000000000 Binary files a/test/de_fuzz/corpus/2a948b4accd77470c74cbb9a90c5a1c536532df0 and /dev/null differ diff --git a/test/de_fuzz/corpus/2ac248d9dd0460746954dca7038517021145bb15 b/test/de_fuzz/corpus/2ac248d9dd0460746954dca7038517021145bb15 deleted file mode 100644 index 9b8733556..000000000 Binary files a/test/de_fuzz/corpus/2ac248d9dd0460746954dca7038517021145bb15 and /dev/null differ diff --git a/test/de_fuzz/corpus/2adadc025fc72b30fdb91ea40bc9395e3591bb2e b/test/de_fuzz/corpus/2adadc025fc72b30fdb91ea40bc9395e3591bb2e deleted file mode 100644 index 90ed4b0b5..000000000 Binary files a/test/de_fuzz/corpus/2adadc025fc72b30fdb91ea40bc9395e3591bb2e and /dev/null differ diff --git a/test/de_fuzz/corpus/2ae34189a04c2ad34f9ceb1c3218bf93aacfeafc b/test/de_fuzz/corpus/2ae34189a04c2ad34f9ceb1c3218bf93aacfeafc deleted file mode 100644 index 2a49fbd7e..000000000 Binary files a/test/de_fuzz/corpus/2ae34189a04c2ad34f9ceb1c3218bf93aacfeafc and /dev/null differ diff --git a/test/de_fuzz/corpus/2af58752036c4ae33bb405ae04dac81b17688e5a b/test/de_fuzz/corpus/2af58752036c4ae33bb405ae04dac81b17688e5a deleted file mode 100644 index d0167dbc4..000000000 Binary files a/test/de_fuzz/corpus/2af58752036c4ae33bb405ae04dac81b17688e5a and /dev/null differ diff --git a/test/de_fuzz/corpus/2b36d0779f2e3a5e21dd1818ce67694f42b0af62 b/test/de_fuzz/corpus/2b36d0779f2e3a5e21dd1818ce67694f42b0af62 deleted file mode 100644 index 1d9575568..000000000 Binary files a/test/de_fuzz/corpus/2b36d0779f2e3a5e21dd1818ce67694f42b0af62 and /dev/null differ diff --git a/test/de_fuzz/corpus/2b55d47b94b80e38e9c5453fe702caf976884eeb b/test/de_fuzz/corpus/2b55d47b94b80e38e9c5453fe702caf976884eeb deleted file mode 100644 index 412033390..000000000 Binary files a/test/de_fuzz/corpus/2b55d47b94b80e38e9c5453fe702caf976884eeb and /dev/null differ diff --git a/test/de_fuzz/corpus/2b6aceb904ba79fa3d0bbc4dca556cc629837d75 b/test/de_fuzz/corpus/2b6aceb904ba79fa3d0bbc4dca556cc629837d75 deleted file mode 100644 index edb718249..000000000 Binary files a/test/de_fuzz/corpus/2b6aceb904ba79fa3d0bbc4dca556cc629837d75 and /dev/null differ diff --git a/test/de_fuzz/corpus/2b72338973830bab50c196f3bd885bf45f4e1827 b/test/de_fuzz/corpus/2b72338973830bab50c196f3bd885bf45f4e1827 deleted file mode 100644 index 3b1751407..000000000 Binary files a/test/de_fuzz/corpus/2b72338973830bab50c196f3bd885bf45f4e1827 and /dev/null differ diff --git a/test/de_fuzz/corpus/2b7bce0be30e40b47f1ef6790927bca0a6959a4a b/test/de_fuzz/corpus/2b7bce0be30e40b47f1ef6790927bca0a6959a4a deleted file mode 100644 index eb7626c09..000000000 Binary files a/test/de_fuzz/corpus/2b7bce0be30e40b47f1ef6790927bca0a6959a4a and /dev/null differ diff --git a/test/de_fuzz/corpus/2b809dd74175ea924b8aa514cb9498f4f22019ec b/test/de_fuzz/corpus/2b809dd74175ea924b8aa514cb9498f4f22019ec deleted file mode 100644 index b110a490b..000000000 Binary files a/test/de_fuzz/corpus/2b809dd74175ea924b8aa514cb9498f4f22019ec and /dev/null differ diff --git a/test/de_fuzz/corpus/2b80d16ac8c4b1b98cb411bba9bb8c8a629a977e b/test/de_fuzz/corpus/2b80d16ac8c4b1b98cb411bba9bb8c8a629a977e deleted file mode 100644 index de421e021..000000000 Binary files a/test/de_fuzz/corpus/2b80d16ac8c4b1b98cb411bba9bb8c8a629a977e and /dev/null differ diff --git a/test/de_fuzz/corpus/2b9fd648cabf557cdbd0aa76841c0dc5c139b95c b/test/de_fuzz/corpus/2b9fd648cabf557cdbd0aa76841c0dc5c139b95c deleted file mode 100644 index 91b15d26c..000000000 Binary files a/test/de_fuzz/corpus/2b9fd648cabf557cdbd0aa76841c0dc5c139b95c and /dev/null differ diff --git a/test/de_fuzz/corpus/2baeeff9d220b7c06c68f5e54a976d9aca779467 b/test/de_fuzz/corpus/2baeeff9d220b7c06c68f5e54a976d9aca779467 deleted file mode 100644 index 95661d74a..000000000 Binary files a/test/de_fuzz/corpus/2baeeff9d220b7c06c68f5e54a976d9aca779467 and /dev/null differ diff --git a/test/de_fuzz/corpus/2bce62cd6696aeed7f607bcf6b361f62026bf0b0 b/test/de_fuzz/corpus/2bce62cd6696aeed7f607bcf6b361f62026bf0b0 deleted file mode 100644 index 4bf7a63a4..000000000 Binary files a/test/de_fuzz/corpus/2bce62cd6696aeed7f607bcf6b361f62026bf0b0 and /dev/null differ diff --git a/test/de_fuzz/corpus/2c0236f941fcbaa3ce79de61377bcfb4b01abe96 b/test/de_fuzz/corpus/2c0236f941fcbaa3ce79de61377bcfb4b01abe96 deleted file mode 100644 index 8864b629a..000000000 Binary files a/test/de_fuzz/corpus/2c0236f941fcbaa3ce79de61377bcfb4b01abe96 and /dev/null differ diff --git a/test/de_fuzz/corpus/2c4edea716e112bfe38ae0b19b60e0542339a13e b/test/de_fuzz/corpus/2c4edea716e112bfe38ae0b19b60e0542339a13e deleted file mode 100644 index 5f6d5f610..000000000 Binary files a/test/de_fuzz/corpus/2c4edea716e112bfe38ae0b19b60e0542339a13e and /dev/null differ diff --git a/test/de_fuzz/corpus/2c588b82d6c5f285d60abf87923205b9ca44b2a6 b/test/de_fuzz/corpus/2c588b82d6c5f285d60abf87923205b9ca44b2a6 deleted file mode 100644 index 5bdf4e23c..000000000 Binary files a/test/de_fuzz/corpus/2c588b82d6c5f285d60abf87923205b9ca44b2a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/2c633c18b73c1b3cb9c2d6cc23262851e1557ff8 b/test/de_fuzz/corpus/2c633c18b73c1b3cb9c2d6cc23262851e1557ff8 deleted file mode 100644 index 003dd1b94..000000000 Binary files a/test/de_fuzz/corpus/2c633c18b73c1b3cb9c2d6cc23262851e1557ff8 and /dev/null differ diff --git a/test/de_fuzz/corpus/2c842a201339dc24cdeb4ec1c3c7d1f6862f929b b/test/de_fuzz/corpus/2c842a201339dc24cdeb4ec1c3c7d1f6862f929b deleted file mode 100644 index 8bc988f77..000000000 Binary files a/test/de_fuzz/corpus/2c842a201339dc24cdeb4ec1c3c7d1f6862f929b and /dev/null differ diff --git a/test/de_fuzz/corpus/2cae64aee27262518a0e0a93b8b06facc8cc888a b/test/de_fuzz/corpus/2cae64aee27262518a0e0a93b8b06facc8cc888a deleted file mode 100644 index c1a4b28b7..000000000 --- a/test/de_fuzz/corpus/2cae64aee27262518a0e0a93b8b06facc8cc888a +++ /dev/null @@ -1 +0,0 @@ -@J\b(?:(?:(one)|(tone)|(two)(three)?:,\G|\b)){3,}(?(1)|(?!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two \ No newline at end of file diff --git a/test/de_fuzz/corpus/2d1247e11e85cac2e6645fe8459514bbd3dbccda b/test/de_fuzz/corpus/2d1247e11e85cac2e6645fe8459514bbd3dbccda deleted file mode 100644 index cee809563..000000000 Binary files a/test/de_fuzz/corpus/2d1247e11e85cac2e6645fe8459514bbd3dbccda and /dev/null differ diff --git a/test/de_fuzz/corpus/2d163c01e72d9a9c26f4c7244dccda208683538d b/test/de_fuzz/corpus/2d163c01e72d9a9c26f4c7244dccda208683538d deleted file mode 100644 index 88b072fea..000000000 Binary files a/test/de_fuzz/corpus/2d163c01e72d9a9c26f4c7244dccda208683538d and /dev/null differ diff --git a/test/de_fuzz/corpus/2d1ba8ab8c6aeedec07b07cd2d0f8afedb157259 b/test/de_fuzz/corpus/2d1ba8ab8c6aeedec07b07cd2d0f8afedb157259 deleted file mode 100644 index fc9ea9598..000000000 Binary files a/test/de_fuzz/corpus/2d1ba8ab8c6aeedec07b07cd2d0f8afedb157259 and /dev/null differ diff --git a/test/de_fuzz/corpus/2d2257007af2a0a4cde008373500347322309889 b/test/de_fuzz/corpus/2d2257007af2a0a4cde008373500347322309889 deleted file mode 100644 index ee7ede5c0..000000000 Binary files a/test/de_fuzz/corpus/2d2257007af2a0a4cde008373500347322309889 and /dev/null differ diff --git a/test/de_fuzz/corpus/2d2c464cfa967026580b11a32d40be6b680a8f86 b/test/de_fuzz/corpus/2d2c464cfa967026580b11a32d40be6b680a8f86 deleted file mode 100644 index 5addb1473..000000000 Binary files a/test/de_fuzz/corpus/2d2c464cfa967026580b11a32d40be6b680a8f86 and /dev/null differ diff --git a/test/de_fuzz/corpus/2d683830d6d955e15dfe749a8158a41605f35cba b/test/de_fuzz/corpus/2d683830d6d955e15dfe749a8158a41605f35cba deleted file mode 100644 index 4494c49e8..000000000 Binary files a/test/de_fuzz/corpus/2d683830d6d955e15dfe749a8158a41605f35cba and /dev/null differ diff --git a/test/de_fuzz/corpus/2d7e3abf18fea0172fb143cfc974ff861d120726 b/test/de_fuzz/corpus/2d7e3abf18fea0172fb143cfc974ff861d120726 deleted file mode 100644 index 40d63eb9d..000000000 Binary files a/test/de_fuzz/corpus/2d7e3abf18fea0172fb143cfc974ff861d120726 and /dev/null differ diff --git a/test/de_fuzz/corpus/2d82bbc0149c72351fb53177e2f0eb51f3bb9694 b/test/de_fuzz/corpus/2d82bbc0149c72351fb53177e2f0eb51f3bb9694 deleted file mode 100644 index fe5c7cf15..000000000 Binary files a/test/de_fuzz/corpus/2d82bbc0149c72351fb53177e2f0eb51f3bb9694 and /dev/null differ diff --git a/test/de_fuzz/corpus/2da5784197bc8166de0b9882fc9c34773913388d b/test/de_fuzz/corpus/2da5784197bc8166de0b9882fc9c34773913388d deleted file mode 100644 index 321cd73fe..000000000 Binary files a/test/de_fuzz/corpus/2da5784197bc8166de0b9882fc9c34773913388d and /dev/null differ diff --git a/test/de_fuzz/corpus/2dab499eaeb3f18990490311157acd8eebc02d1e b/test/de_fuzz/corpus/2dab499eaeb3f18990490311157acd8eebc02d1e deleted file mode 100644 index 53d26e110..000000000 Binary files a/test/de_fuzz/corpus/2dab499eaeb3f18990490311157acd8eebc02d1e and /dev/null differ diff --git a/test/de_fuzz/corpus/2daf307e2bea3348b9df6e344660e258e247cc2a b/test/de_fuzz/corpus/2daf307e2bea3348b9df6e344660e258e247cc2a deleted file mode 100644 index 9b2fa84fc..000000000 Binary files a/test/de_fuzz/corpus/2daf307e2bea3348b9df6e344660e258e247cc2a and /dev/null differ diff --git a/test/de_fuzz/corpus/2dc0debd23ac9491af3c9b39e6af2e3bb28fd310 b/test/de_fuzz/corpus/2dc0debd23ac9491af3c9b39e6af2e3bb28fd310 deleted file mode 100644 index 0f4ead1a6..000000000 Binary files a/test/de_fuzz/corpus/2dc0debd23ac9491af3c9b39e6af2e3bb28fd310 and /dev/null differ diff --git a/test/de_fuzz/corpus/2dc3c0bbcc220f18bed9db9dc645106409e0a4e3 b/test/de_fuzz/corpus/2dc3c0bbcc220f18bed9db9dc645106409e0a4e3 deleted file mode 100644 index f4533db2b..000000000 Binary files a/test/de_fuzz/corpus/2dc3c0bbcc220f18bed9db9dc645106409e0a4e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/2e32204ea37e89b50e0eac767c28d918a7d58e53 b/test/de_fuzz/corpus/2e32204ea37e89b50e0eac767c28d918a7d58e53 deleted file mode 100644 index 7d1e56248..000000000 Binary files a/test/de_fuzz/corpus/2e32204ea37e89b50e0eac767c28d918a7d58e53 and /dev/null differ diff --git a/test/de_fuzz/corpus/2e779ef8fdcde230b987e7c4ce7da5fbd1c096d4 b/test/de_fuzz/corpus/2e779ef8fdcde230b987e7c4ce7da5fbd1c096d4 deleted file mode 100644 index edf6c70a6..000000000 Binary files a/test/de_fuzz/corpus/2e779ef8fdcde230b987e7c4ce7da5fbd1c096d4 and /dev/null differ diff --git a/test/de_fuzz/corpus/2e87a0130d6be64854c23866109f98644ad84c98 b/test/de_fuzz/corpus/2e87a0130d6be64854c23866109f98644ad84c98 deleted file mode 100644 index 29c2d2ea5..000000000 Binary files a/test/de_fuzz/corpus/2e87a0130d6be64854c23866109f98644ad84c98 and /dev/null differ diff --git a/test/de_fuzz/corpus/2ea09fca9bcfe3d10cf18dcf4bb419db654d6dc9 b/test/de_fuzz/corpus/2ea09fca9bcfe3d10cf18dcf4bb419db654d6dc9 deleted file mode 100644 index 2102e96aa..000000000 Binary files a/test/de_fuzz/corpus/2ea09fca9bcfe3d10cf18dcf4bb419db654d6dc9 and /dev/null differ diff --git a/test/de_fuzz/corpus/2eabe75406f9b64b07ae0600dad87a3c38292121 b/test/de_fuzz/corpus/2eabe75406f9b64b07ae0600dad87a3c38292121 deleted file mode 100644 index f47dfb91e..000000000 --- a/test/de_fuzz/corpus/2eabe75406f9b64b07ae0600dad87a3c38292121 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] [| \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped somthing (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/2eba446d08451e812bcf6487d3b5ffe3a73537ba b/test/de_fuzz/corpus/2eba446d08451e812bcf6487d3b5ffe3a73537ba deleted file mode 100644 index aafae18bd..000000000 Binary files a/test/de_fuzz/corpus/2eba446d08451e812bcf6487d3b5ffe3a73537ba and /dev/null differ diff --git a/test/de_fuzz/corpus/2ebd443faf3a24685a7e3d925f9392298a28df4f b/test/de_fuzz/corpus/2ebd443faf3a24685a7e3d925f9392298a28df4f deleted file mode 100644 index 8f9e50780..000000000 Binary files a/test/de_fuzz/corpus/2ebd443faf3a24685a7e3d925f9392298a28df4f and /dev/null differ diff --git a/test/de_fuzz/corpus/2ef0816a12e0a271e43d7050dff6361c792c8280 b/test/de_fuzz/corpus/2ef0816a12e0a271e43d7050dff6361c792c8280 deleted file mode 100644 index 074e6ddeb..000000000 Binary files a/test/de_fuzz/corpus/2ef0816a12e0a271e43d7050dff6361c792c8280 and /dev/null differ diff --git a/test/de_fuzz/corpus/2f32804a2c745d33ac3402075b1a8c671ed3a905 b/test/de_fuzz/corpus/2f32804a2c745d33ac3402075b1a8c671ed3a905 deleted file mode 100644 index c38d309bb..000000000 Binary files a/test/de_fuzz/corpus/2f32804a2c745d33ac3402075b1a8c671ed3a905 and /dev/null differ diff --git a/test/de_fuzz/corpus/2f6f0ab07bf175a4579116de5434d8c643182568 b/test/de_fuzz/corpus/2f6f0ab07bf175a4579116de5434d8c643182568 deleted file mode 100644 index b0716d9a4..000000000 Binary files a/test/de_fuzz/corpus/2f6f0ab07bf175a4579116de5434d8c643182568 and /dev/null differ diff --git a/test/de_fuzz/corpus/2f848167c41e669c9d55fa2fdca18058890a7464 b/test/de_fuzz/corpus/2f848167c41e669c9d55fa2fdca18058890a7464 deleted file mode 100644 index a164c82b4..000000000 Binary files a/test/de_fuzz/corpus/2f848167c41e669c9d55fa2fdca18058890a7464 and /dev/null differ diff --git a/test/de_fuzz/corpus/2fa97a379526336e85bbfb8dc81ac4e11323c712 b/test/de_fuzz/corpus/2fa97a379526336e85bbfb8dc81ac4e11323c712 deleted file mode 100644 index c39ac3a5a..000000000 Binary files a/test/de_fuzz/corpus/2fa97a379526336e85bbfb8dc81ac4e11323c712 and /dev/null differ diff --git a/test/de_fuzz/corpus/2fab7c8b881ec315f761074649a8fb712b3dc8a9 b/test/de_fuzz/corpus/2fab7c8b881ec315f761074649a8fb712b3dc8a9 deleted file mode 100644 index 392d2b0fb..000000000 Binary files a/test/de_fuzz/corpus/2fab7c8b881ec315f761074649a8fb712b3dc8a9 and /dev/null differ diff --git a/test/de_fuzz/corpus/2fc4bb099f9f27d630f8e842d76a9e6ae7f9b1bd b/test/de_fuzz/corpus/2fc4bb099f9f27d630f8e842d76a9e6ae7f9b1bd deleted file mode 100644 index 1fc5ff5ba..000000000 Binary files a/test/de_fuzz/corpus/2fc4bb099f9f27d630f8e842d76a9e6ae7f9b1bd and /dev/null differ diff --git a/test/de_fuzz/corpus/2fe4f9cdc7382c86158e14084ff4763d70a60d4c b/test/de_fuzz/corpus/2fe4f9cdc7382c86158e14084ff4763d70a60d4c deleted file mode 100644 index c7efa0f2b..000000000 Binary files a/test/de_fuzz/corpus/2fe4f9cdc7382c86158e14084ff4763d70a60d4c and /dev/null differ diff --git a/test/de_fuzz/corpus/2fe666a3d735bf271be5cecb3c0e9237b0c4bf7f b/test/de_fuzz/corpus/2fe666a3d735bf271be5cecb3c0e9237b0c4bf7f deleted file mode 100644 index 9c7f1a9f7..000000000 Binary files a/test/de_fuzz/corpus/2fe666a3d735bf271be5cecb3c0e9237b0c4bf7f and /dev/null differ diff --git a/test/de_fuzz/corpus/2fedb1d9994c9831f54184079117cd4e0637f6e0 b/test/de_fuzz/corpus/2fedb1d9994c9831f54184079117cd4e0637f6e0 deleted file mode 100644 index 8a2067b30..000000000 Binary files a/test/de_fuzz/corpus/2fedb1d9994c9831f54184079117cd4e0637f6e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/300aa6914fd9155e4ce3632021bb7426b5fae6ba b/test/de_fuzz/corpus/300aa6914fd9155e4ce3632021bb7426b5fae6ba deleted file mode 100644 index 9b8744267..000000000 Binary files a/test/de_fuzz/corpus/300aa6914fd9155e4ce3632021bb7426b5fae6ba and /dev/null differ diff --git a/test/de_fuzz/corpus/301e5e7706324ea4896e12c0fc9166a285403eea b/test/de_fuzz/corpus/301e5e7706324ea4896e12c0fc9166a285403eea deleted file mode 100644 index 363b1c93d..000000000 Binary files a/test/de_fuzz/corpus/301e5e7706324ea4896e12c0fc9166a285403eea and /dev/null differ diff --git a/test/de_fuzz/corpus/303a71478c2627c4dc74f71ec3034599dda58cb9 b/test/de_fuzz/corpus/303a71478c2627c4dc74f71ec3034599dda58cb9 deleted file mode 100644 index 908cf9320..000000000 Binary files a/test/de_fuzz/corpus/303a71478c2627c4dc74f71ec3034599dda58cb9 and /dev/null differ diff --git a/test/de_fuzz/corpus/3050bf6a959f35c66601f46c1752f76672c80bcb b/test/de_fuzz/corpus/3050bf6a959f35c66601f46c1752f76672c80bcb deleted file mode 100644 index 4126e6cde..000000000 Binary files a/test/de_fuzz/corpus/3050bf6a959f35c66601f46c1752f76672c80bcb and /dev/null differ diff --git a/test/de_fuzz/corpus/30616e91d9fb93b68a5175c5f847ed2122601253 b/test/de_fuzz/corpus/30616e91d9fb93b68a5175c5f847ed2122601253 deleted file mode 100644 index 2806c68e8..000000000 Binary files a/test/de_fuzz/corpus/30616e91d9fb93b68a5175c5f847ed2122601253 and /dev/null differ diff --git a/test/de_fuzz/corpus/3085c7b6b714f6c0328159a9edb586df5b9b2393 b/test/de_fuzz/corpus/3085c7b6b714f6c0328159a9edb586df5b9b2393 deleted file mode 100644 index b3de0d1b3..000000000 Binary files a/test/de_fuzz/corpus/3085c7b6b714f6c0328159a9edb586df5b9b2393 and /dev/null differ diff --git a/test/de_fuzz/corpus/309268a39f19ac4ef91a8890ae43177c11670cc2 b/test/de_fuzz/corpus/309268a39f19ac4ef91a8890ae43177c11670cc2 deleted file mode 100644 index b470b8eba..000000000 Binary files a/test/de_fuzz/corpus/309268a39f19ac4ef91a8890ae43177c11670cc2 and /dev/null differ diff --git a/test/de_fuzz/corpus/309d9f79b5f15047c19966931d6fd06644016087 b/test/de_fuzz/corpus/309d9f79b5f15047c19966931d6fd06644016087 deleted file mode 100644 index ce58b80bd..000000000 Binary files a/test/de_fuzz/corpus/309d9f79b5f15047c19966931d6fd06644016087 and /dev/null differ diff --git a/test/de_fuzz/corpus/30ba862917aedbbc1a50729696cdce1a6d06f69a b/test/de_fuzz/corpus/30ba862917aedbbc1a50729696cdce1a6d06f69a deleted file mode 100644 index c336a01bd..000000000 Binary files a/test/de_fuzz/corpus/30ba862917aedbbc1a50729696cdce1a6d06f69a and /dev/null differ diff --git a/test/de_fuzz/corpus/30c56e6b21a6e6079fa110d2048a170586e5ec84 b/test/de_fuzz/corpus/30c56e6b21a6e6079fa110d2048a170586e5ec84 deleted file mode 100644 index ab9a18bf5..000000000 Binary files a/test/de_fuzz/corpus/30c56e6b21a6e6079fa110d2048a170586e5ec84 and /dev/null differ diff --git a/test/de_fuzz/corpus/30d55da87f662bd7213986482c20cc01c4e0ce09 b/test/de_fuzz/corpus/30d55da87f662bd7213986482c20cc01c4e0ce09 deleted file mode 100644 index e7e64fe34..000000000 Binary files a/test/de_fuzz/corpus/30d55da87f662bd7213986482c20cc01c4e0ce09 and /dev/null differ diff --git a/test/de_fuzz/corpus/30d774d4a77dc8f4797129d157878001603062bf b/test/de_fuzz/corpus/30d774d4a77dc8f4797129d157878001603062bf deleted file mode 100644 index 1202bfc8d..000000000 Binary files a/test/de_fuzz/corpus/30d774d4a77dc8f4797129d157878001603062bf and /dev/null differ diff --git a/test/de_fuzz/corpus/30dbd9ba8ae48883e4cc1240c59f3529fe694098 b/test/de_fuzz/corpus/30dbd9ba8ae48883e4cc1240c59f3529fe694098 deleted file mode 100644 index 9a5114de4..000000000 Binary files a/test/de_fuzz/corpus/30dbd9ba8ae48883e4cc1240c59f3529fe694098 and /dev/null differ diff --git a/test/de_fuzz/corpus/30dfb9c0f2c58e8b3e3ac23169930ebdf1117cb9 b/test/de_fuzz/corpus/30dfb9c0f2c58e8b3e3ac23169930ebdf1117cb9 deleted file mode 100644 index 96a5d24dd..000000000 Binary files a/test/de_fuzz/corpus/30dfb9c0f2c58e8b3e3ac23169930ebdf1117cb9 and /dev/null differ diff --git a/test/de_fuzz/corpus/30f337f6a96006262f0f79ec112523851d3654b1 b/test/de_fuzz/corpus/30f337f6a96006262f0f79ec112523851d3654b1 deleted file mode 100644 index 4bfc61f62..000000000 --- a/test/de_fuzz/corpus/30f337f6a96006262f0f79ec112523851d3654b1 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+ \ No newline at end of file diff --git a/test/de_fuzz/corpus/311e2ff095cb34bddced3267e2c3590a734d1152 b/test/de_fuzz/corpus/311e2ff095cb34bddced3267e2c3590a734d1152 deleted file mode 100644 index b516e4080..000000000 Binary files a/test/de_fuzz/corpus/311e2ff095cb34bddced3267e2c3590a734d1152 and /dev/null differ diff --git a/test/de_fuzz/corpus/31204f2a680b62e136f7d97ac7c8628be844d434 b/test/de_fuzz/corpus/31204f2a680b62e136f7d97ac7c8628be844d434 deleted file mode 100644 index b61fd3973..000000000 Binary files a/test/de_fuzz/corpus/31204f2a680b62e136f7d97ac7c8628be844d434 and /dev/null differ diff --git a/test/de_fuzz/corpus/314387a416ba9335bf5d947a8d18d2d2889bd503 b/test/de_fuzz/corpus/314387a416ba9335bf5d947a8d18d2d2889bd503 deleted file mode 100644 index 1c524a48a..000000000 Binary files a/test/de_fuzz/corpus/314387a416ba9335bf5d947a8d18d2d2889bd503 and /dev/null differ diff --git a/test/de_fuzz/corpus/316fea99e186490d7df4c22092c51c5d8a1341fa b/test/de_fuzz/corpus/316fea99e186490d7df4c22092c51c5d8a1341fa deleted file mode 100644 index 8072f998c..000000000 Binary files a/test/de_fuzz/corpus/316fea99e186490d7df4c22092c51c5d8a1341fa and /dev/null differ diff --git a/test/de_fuzz/corpus/31b67717fd80cc50fd1e43d81fff94c1b74e8769 b/test/de_fuzz/corpus/31b67717fd80cc50fd1e43d81fff94c1b74e8769 deleted file mode 100644 index 16cc6a552..000000000 Binary files a/test/de_fuzz/corpus/31b67717fd80cc50fd1e43d81fff94c1b74e8769 and /dev/null differ diff --git a/test/de_fuzz/corpus/31db6886cabc30e601b2b5b762cfc84336faaa0d b/test/de_fuzz/corpus/31db6886cabc30e601b2b5b762cfc84336faaa0d deleted file mode 100644 index 21962b002..000000000 Binary files a/test/de_fuzz/corpus/31db6886cabc30e601b2b5b762cfc84336faaa0d and /dev/null differ diff --git a/test/de_fuzz/corpus/31e7a414696fa8c91bb174458e8d06ea401580b0 b/test/de_fuzz/corpus/31e7a414696fa8c91bb174458e8d06ea401580b0 deleted file mode 100644 index 90ffcf054..000000000 Binary files a/test/de_fuzz/corpus/31e7a414696fa8c91bb174458e8d06ea401580b0 and /dev/null differ diff --git a/test/de_fuzz/corpus/323134a64103927c6ff9ab263af61e7d64c4d960 b/test/de_fuzz/corpus/323134a64103927c6ff9ab263af61e7d64c4d960 deleted file mode 100644 index 9d6f88af8..000000000 Binary files a/test/de_fuzz/corpus/323134a64103927c6ff9ab263af61e7d64c4d960 and /dev/null differ diff --git a/test/de_fuzz/corpus/324887a0fe47b74d8dc2474294962d6cdd0fc8d3 b/test/de_fuzz/corpus/324887a0fe47b74d8dc2474294962d6cdd0fc8d3 deleted file mode 100644 index 54ab3954e..000000000 Binary files a/test/de_fuzz/corpus/324887a0fe47b74d8dc2474294962d6cdd0fc8d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/329459a6d86c879ab3faf20414cc99e6ad652494 b/test/de_fuzz/corpus/329459a6d86c879ab3faf20414cc99e6ad652494 deleted file mode 100644 index 0228332dd..000000000 Binary files a/test/de_fuzz/corpus/329459a6d86c879ab3faf20414cc99e6ad652494 and /dev/null differ diff --git a/test/de_fuzz/corpus/32d0914b49d024005826c16667638f56270d76fb b/test/de_fuzz/corpus/32d0914b49d024005826c16667638f56270d76fb deleted file mode 100644 index 995214aea..000000000 Binary files a/test/de_fuzz/corpus/32d0914b49d024005826c16667638f56270d76fb and /dev/null differ diff --git a/test/de_fuzz/corpus/334d51b50f2cf49915f70416eb717eab10618bf9 b/test/de_fuzz/corpus/334d51b50f2cf49915f70416eb717eab10618bf9 deleted file mode 100644 index 875e96981..000000000 Binary files a/test/de_fuzz/corpus/334d51b50f2cf49915f70416eb717eab10618bf9 and /dev/null differ diff --git a/test/de_fuzz/corpus/33525513b5864f3dbeea2a793580856bce100030 b/test/de_fuzz/corpus/33525513b5864f3dbeea2a793580856bce100030 deleted file mode 100644 index eb005059a..000000000 Binary files a/test/de_fuzz/corpus/33525513b5864f3dbeea2a793580856bce100030 and /dev/null differ diff --git a/test/de_fuzz/corpus/336195bbe4224d9e0cd0f8c3e9f1987d87440d0a b/test/de_fuzz/corpus/336195bbe4224d9e0cd0f8c3e9f1987d87440d0a deleted file mode 100644 index a20cf543c..000000000 Binary files a/test/de_fuzz/corpus/336195bbe4224d9e0cd0f8c3e9f1987d87440d0a and /dev/null differ diff --git a/test/de_fuzz/corpus/337fd61aca6cd02479de11cdeacf2cf05e09943d b/test/de_fuzz/corpus/337fd61aca6cd02479de11cdeacf2cf05e09943d deleted file mode 100644 index 24dcff193..000000000 Binary files a/test/de_fuzz/corpus/337fd61aca6cd02479de11cdeacf2cf05e09943d and /dev/null differ diff --git a/test/de_fuzz/corpus/33bc6343db91a9b25d695772c4f1713a6724be68 b/test/de_fuzz/corpus/33bc6343db91a9b25d695772c4f1713a6724be68 deleted file mode 100644 index dd372e534..000000000 Binary files a/test/de_fuzz/corpus/33bc6343db91a9b25d695772c4f1713a6724be68 and /dev/null differ diff --git a/test/de_fuzz/corpus/3429493b0ba09863482a4b4b5f7c8b0ada78ba0f b/test/de_fuzz/corpus/3429493b0ba09863482a4b4b5f7c8b0ada78ba0f deleted file mode 100644 index a3b62d9eb..000000000 Binary files a/test/de_fuzz/corpus/3429493b0ba09863482a4b4b5f7c8b0ada78ba0f and /dev/null differ diff --git a/test/de_fuzz/corpus/3436eb95313abd960c0fb24c777cf3c57d884a4f b/test/de_fuzz/corpus/3436eb95313abd960c0fb24c777cf3c57d884a4f deleted file mode 100644 index 8beb923c6..000000000 Binary files a/test/de_fuzz/corpus/3436eb95313abd960c0fb24c777cf3c57d884a4f and /dev/null differ diff --git a/test/de_fuzz/corpus/34398f8e24197708c1d3aa8cc7a49740d7e83c2c b/test/de_fuzz/corpus/34398f8e24197708c1d3aa8cc7a49740d7e83c2c deleted file mode 100644 index 5279c3002..000000000 Binary files a/test/de_fuzz/corpus/34398f8e24197708c1d3aa8cc7a49740d7e83c2c and /dev/null differ diff --git a/test/de_fuzz/corpus/345083d5e283d2ae65245e09b6b25fdc11a11ac4 b/test/de_fuzz/corpus/345083d5e283d2ae65245e09b6b25fdc11a11ac4 deleted file mode 100644 index a7eaf196d..000000000 Binary files a/test/de_fuzz/corpus/345083d5e283d2ae65245e09b6b25fdc11a11ac4 and /dev/null differ diff --git a/test/de_fuzz/corpus/3470eee8e6a5079df848ea02076072409b578718 b/test/de_fuzz/corpus/3470eee8e6a5079df848ea02076072409b578718 deleted file mode 100644 index 7e32d593b..000000000 --- a/test/de_fuzz/corpus/3470eee8e6a5079df848ea02076072409b578718 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y(((((((a+)+)+)+)+)+)+)+|X((((((((((((a+)+)+)+)+)+)++|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+))+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)!+)+|CV,((((((a+)+)+)+)+)+)((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+))+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|LZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|C*+((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/34a97eda281ac659d8cfa99fefe2b34a07c71b8b b/test/de_fuzz/corpus/34a97eda281ac659d8cfa99fefe2b34a07c71b8b deleted file mode 100644 index 882717238..000000000 Binary files a/test/de_fuzz/corpus/34a97eda281ac659d8cfa99fefe2b34a07c71b8b and /dev/null differ diff --git a/test/de_fuzz/corpus/34e32233077080d830e2fd283d6101970feb2f09 b/test/de_fuzz/corpus/34e32233077080d830e2fd283d6101970feb2f09 deleted file mode 100644 index 970329c5b..000000000 Binary files a/test/de_fuzz/corpus/34e32233077080d830e2fd283d6101970feb2f09 and /dev/null differ diff --git a/test/de_fuzz/corpus/34f88545d98f57edb15c4091e63078d1635164dd b/test/de_fuzz/corpus/34f88545d98f57edb15c4091e63078d1635164dd deleted file mode 100644 index 0bb519c6a..000000000 Binary files a/test/de_fuzz/corpus/34f88545d98f57edb15c4091e63078d1635164dd and /dev/null differ diff --git a/test/de_fuzz/corpus/356497bbb0c715cee5b370c73dffb4315e49b13e b/test/de_fuzz/corpus/356497bbb0c715cee5b370c73dffb4315e49b13e deleted file mode 100644 index 18c383035..000000000 Binary files a/test/de_fuzz/corpus/356497bbb0c715cee5b370c73dffb4315e49b13e and /dev/null differ diff --git a/test/de_fuzz/corpus/35b2ef4a8b584ea73300f524ac882e02bc2036e7 b/test/de_fuzz/corpus/35b2ef4a8b584ea73300f524ac882e02bc2036e7 deleted file mode 100644 index ea989bf7e..000000000 Binary files a/test/de_fuzz/corpus/35b2ef4a8b584ea73300f524ac882e02bc2036e7 and /dev/null differ diff --git a/test/de_fuzz/corpus/35d4d3ec978066884fc72483fcc67e8353343159 b/test/de_fuzz/corpus/35d4d3ec978066884fc72483fcc67e8353343159 deleted file mode 100644 index de958f41b..000000000 --- a/test/de_fuzz/corpus/35d4d3ec978066884fc72483fcc67e8353343159 +++ /dev/null @@ -1,190 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,);:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -"ept backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x60-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/35df1835ba75dbaa10b52a852a759494246594c4 b/test/de_fuzz/corpus/35df1835ba75dbaa10b52a852a759494246594c4 deleted file mode 100644 index d93d24862..000000000 Binary files a/test/de_fuzz/corpus/35df1835ba75dbaa10b52a852a759494246594c4 and /dev/null differ diff --git a/test/de_fuzz/corpus/36064f8fb54bb80d6fac323192439968c996b6d1 b/test/de_fuzz/corpus/36064f8fb54bb80d6fac323192439968c996b6d1 deleted file mode 100644 index 4a97ffe5f..000000000 Binary files a/test/de_fuzz/corpus/36064f8fb54bb80d6fac323192439968c996b6d1 and /dev/null differ diff --git a/test/de_fuzz/corpus/36189d916a7beb41d78780d46c2a6e6c136c8b3a b/test/de_fuzz/corpus/36189d916a7beb41d78780d46c2a6e6c136c8b3a deleted file mode 100644 index ab45f3ff0..000000000 Binary files a/test/de_fuzz/corpus/36189d916a7beb41d78780d46c2a6e6c136c8b3a and /dev/null differ diff --git a/test/de_fuzz/corpus/363c08ea2142f9f683ad7e7b966039ab68f5529f b/test/de_fuzz/corpus/363c08ea2142f9f683ad7e7b966039ab68f5529f deleted file mode 100644 index f66d562e5..000000000 Binary files a/test/de_fuzz/corpus/363c08ea2142f9f683ad7e7b966039ab68f5529f and /dev/null differ diff --git a/test/de_fuzz/corpus/365429ea82136a2cb82dc4ee50f0e65550e96210 b/test/de_fuzz/corpus/365429ea82136a2cb82dc4ee50f0e65550e96210 deleted file mode 100644 index eec354860..000000000 Binary files a/test/de_fuzz/corpus/365429ea82136a2cb82dc4ee50f0e65550e96210 and /dev/null differ diff --git a/test/de_fuzz/corpus/36659457f9890b9ff38329b62e5f7b1c936d4fe2 b/test/de_fuzz/corpus/36659457f9890b9ff38329b62e5f7b1c936d4fe2 deleted file mode 100644 index 7686c4879..000000000 Binary files a/test/de_fuzz/corpus/36659457f9890b9ff38329b62e5f7b1c936d4fe2 and /dev/null differ diff --git a/test/de_fuzz/corpus/367269c24711f53b362bbb7b400715b8eca86f39 b/test/de_fuzz/corpus/367269c24711f53b362bbb7b400715b8eca86f39 deleted file mode 100644 index 0e094930a..000000000 Binary files a/test/de_fuzz/corpus/367269c24711f53b362bbb7b400715b8eca86f39 and /dev/null differ diff --git a/test/de_fuzz/corpus/367677923709eab0afcccd10d1fa4df53c5eba51 b/test/de_fuzz/corpus/367677923709eab0afcccd10d1fa4df53c5eba51 deleted file mode 100644 index 05f361190..000000000 Binary files a/test/de_fuzz/corpus/367677923709eab0afcccd10d1fa4df53c5eba51 and /dev/null differ diff --git a/test/de_fuzz/corpus/369da6d1e10f8b8b0aaab221bece6c1fb8c78b25 b/test/de_fuzz/corpus/369da6d1e10f8b8b0aaab221bece6c1fb8c78b25 deleted file mode 100644 index 484920cf4..000000000 --- a/test/de_fuzz/corpus/369da6d1e10f8b8b0aaab221bece6c1fb8c78b25 +++ /dev/null @@ -1 +0,0 @@ -@J\b:(?:(one)|(tone)|()(?(3)|!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,(?:(?:(one)|(tone)|()(?(3)|!))(?(2)|wo(|(three|(tone)|()(?(3)|!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,(?:(?:(one)|(tone)|()(?(3)|!))(?(2)|wo(|(three))(:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two))(:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two \ No newline at end of file diff --git a/test/de_fuzz/corpus/36aaa179d45b4c9d1a50515c3ce8c52049878090 b/test/de_fuzz/corpus/36aaa179d45b4c9d1a50515c3ce8c52049878090 deleted file mode 100644 index 7988629a4..000000000 Binary files a/test/de_fuzz/corpus/36aaa179d45b4c9d1a50515c3ce8c52049878090 and /dev/null differ diff --git a/test/de_fuzz/corpus/36b22cb644b9fab80ece631bd3dd739e24fe8a5e b/test/de_fuzz/corpus/36b22cb644b9fab80ece631bd3dd739e24fe8a5e deleted file mode 100644 index 820a5dbdd..000000000 Binary files a/test/de_fuzz/corpus/36b22cb644b9fab80ece631bd3dd739e24fe8a5e and /dev/null differ diff --git a/test/de_fuzz/corpus/36bee362422a0c3b551d7ab12f70c83097d43be8 b/test/de_fuzz/corpus/36bee362422a0c3b551d7ab12f70c83097d43be8 deleted file mode 100644 index 37876138d..000000000 Binary files a/test/de_fuzz/corpus/36bee362422a0c3b551d7ab12f70c83097d43be8 and /dev/null differ diff --git a/test/de_fuzz/corpus/36bfd11af4a50f85539bfb575a7c4ac2c67d1856 b/test/de_fuzz/corpus/36bfd11af4a50f85539bfb575a7c4ac2c67d1856 deleted file mode 100644 index a9e0b11b8..000000000 Binary files a/test/de_fuzz/corpus/36bfd11af4a50f85539bfb575a7c4ac2c67d1856 and /dev/null differ diff --git a/test/de_fuzz/corpus/36eb9ce5c01b803d369fc9f447b8b3f6cfda5b23 b/test/de_fuzz/corpus/36eb9ce5c01b803d369fc9f447b8b3f6cfda5b23 deleted file mode 100644 index 00bf18fed..000000000 Binary files a/test/de_fuzz/corpus/36eb9ce5c01b803d369fc9f447b8b3f6cfda5b23 and /dev/null differ diff --git a/test/de_fuzz/corpus/36fc58d4d36e590863ef22a72651f31bc51cbe1f b/test/de_fuzz/corpus/36fc58d4d36e590863ef22a72651f31bc51cbe1f deleted file mode 100644 index 7bee1f53d..000000000 Binary files a/test/de_fuzz/corpus/36fc58d4d36e590863ef22a72651f31bc51cbe1f and /dev/null differ diff --git a/test/de_fuzz/corpus/37137126b378e7b7f44aa768070ea82b29be86b5 b/test/de_fuzz/corpus/37137126b378e7b7f44aa768070ea82b29be86b5 deleted file mode 100644 index 6da590df2..000000000 Binary files a/test/de_fuzz/corpus/37137126b378e7b7f44aa768070ea82b29be86b5 and /dev/null differ diff --git a/test/de_fuzz/corpus/3723ee36a113feda659b512d62517a91157e169c b/test/de_fuzz/corpus/3723ee36a113feda659b512d62517a91157e169c deleted file mode 100644 index 8805127de..000000000 Binary files a/test/de_fuzz/corpus/3723ee36a113feda659b512d62517a91157e169c and /dev/null differ diff --git a/test/de_fuzz/corpus/37251860fe6754ade18cdf4b36498fcce95ed798 b/test/de_fuzz/corpus/37251860fe6754ade18cdf4b36498fcce95ed798 deleted file mode 100644 index bfe2ae0f8..000000000 Binary files a/test/de_fuzz/corpus/37251860fe6754ade18cdf4b36498fcce95ed798 and /dev/null differ diff --git a/test/de_fuzz/corpus/372af6310cc8fae4f3cac496c1efcb090a604b4b b/test/de_fuzz/corpus/372af6310cc8fae4f3cac496c1efcb090a604b4b deleted file mode 100644 index 4183f6997..000000000 Binary files a/test/de_fuzz/corpus/372af6310cc8fae4f3cac496c1efcb090a604b4b and /dev/null differ diff --git a/test/de_fuzz/corpus/37570a316ccad8b77cc63f69c35a854d2dc34e24 b/test/de_fuzz/corpus/37570a316ccad8b77cc63f69c35a854d2dc34e24 deleted file mode 100644 index a4859d170..000000000 Binary files a/test/de_fuzz/corpus/37570a316ccad8b77cc63f69c35a854d2dc34e24 and /dev/null differ diff --git a/test/de_fuzz/corpus/37864b1a9ef49ed7dc27cd5ebcd5d9705eddb025 b/test/de_fuzz/corpus/37864b1a9ef49ed7dc27cd5ebcd5d9705eddb025 deleted file mode 100644 index 66b6cdd79..000000000 Binary files a/test/de_fuzz/corpus/37864b1a9ef49ed7dc27cd5ebcd5d9705eddb025 and /dev/null differ diff --git a/test/de_fuzz/corpus/37898dd09d16a235a22a2c6b2c8d585bb008883f b/test/de_fuzz/corpus/37898dd09d16a235a22a2c6b2c8d585bb008883f deleted file mode 100644 index 7265afe93..000000000 Binary files a/test/de_fuzz/corpus/37898dd09d16a235a22a2c6b2c8d585bb008883f and /dev/null differ diff --git a/test/de_fuzz/corpus/37e2d2436dec88f9700bdf4697e66e18ac584a6c b/test/de_fuzz/corpus/37e2d2436dec88f9700bdf4697e66e18ac584a6c deleted file mode 100644 index 3f2498874..000000000 Binary files a/test/de_fuzz/corpus/37e2d2436dec88f9700bdf4697e66e18ac584a6c and /dev/null differ diff --git a/test/de_fuzz/corpus/37ecb323186413bdf5d0f68e96ea3e5e1fe02cc5 b/test/de_fuzz/corpus/37ecb323186413bdf5d0f68e96ea3e5e1fe02cc5 deleted file mode 100644 index 58a00ade4..000000000 Binary files a/test/de_fuzz/corpus/37ecb323186413bdf5d0f68e96ea3e5e1fe02cc5 and /dev/null differ diff --git a/test/de_fuzz/corpus/380f7de3ffd8254f3f5c02aa49a1a1664cdfc70a b/test/de_fuzz/corpus/380f7de3ffd8254f3f5c02aa49a1a1664cdfc70a deleted file mode 100644 index 45f2e9e8b..000000000 Binary files a/test/de_fuzz/corpus/380f7de3ffd8254f3f5c02aa49a1a1664cdfc70a and /dev/null differ diff --git a/test/de_fuzz/corpus/38600731936a76ea4257b2765969e5319463a40b b/test/de_fuzz/corpus/38600731936a76ea4257b2765969e5319463a40b deleted file mode 100644 index 3f6720b6e..000000000 --- a/test/de_fuzz/corpus/38600731936a76ea4257b2765969e5319463a40b +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".(?\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/38670f5ba0a673edcb9451d2b66e98274848510f b/test/de_fuzz/corpus/38670f5ba0a673edcb9451d2b66e98274848510f deleted file mode 100644 index ded6413b4..000000000 Binary files a/test/de_fuzz/corpus/38670f5ba0a673edcb9451d2b66e98274848510f and /dev/null differ diff --git a/test/de_fuzz/corpus/389e14d06affecf4732a167da95ad80df0c60769 b/test/de_fuzz/corpus/389e14d06affecf4732a167da95ad80df0c60769 deleted file mode 100644 index 79d93f94f..000000000 Binary files a/test/de_fuzz/corpus/389e14d06affecf4732a167da95ad80df0c60769 and /dev/null differ diff --git a/test/de_fuzz/corpus/38a6822fe54f812cd31b2b677d220da94de1e826 b/test/de_fuzz/corpus/38a6822fe54f812cd31b2b677d220da94de1e826 deleted file mode 100644 index 8967536ef..000000000 Binary files a/test/de_fuzz/corpus/38a6822fe54f812cd31b2b677d220da94de1e826 and /dev/null differ diff --git a/test/de_fuzz/corpus/38a7beafb9652f74e789fe97359b5cd210fd2ae9 b/test/de_fuzz/corpus/38a7beafb9652f74e789fe97359b5cd210fd2ae9 deleted file mode 100644 index ff906464e..000000000 Binary files a/test/de_fuzz/corpus/38a7beafb9652f74e789fe97359b5cd210fd2ae9 and /dev/null differ diff --git a/test/de_fuzz/corpus/38b1f9a056f4af47f27499b903c5ba6aafd0748d b/test/de_fuzz/corpus/38b1f9a056f4af47f27499b903c5ba6aafd0748d deleted file mode 100644 index 2254cf9e8..000000000 Binary files a/test/de_fuzz/corpus/38b1f9a056f4af47f27499b903c5ba6aafd0748d and /dev/null differ diff --git a/test/de_fuzz/corpus/38c2ea3cf1f618d6aeadb2d5e950dbf03a97940d b/test/de_fuzz/corpus/38c2ea3cf1f618d6aeadb2d5e950dbf03a97940d deleted file mode 100644 index 2d0524ce1..000000000 Binary files a/test/de_fuzz/corpus/38c2ea3cf1f618d6aeadb2d5e950dbf03a97940d and /dev/null differ diff --git a/test/de_fuzz/corpus/38db59e3dc0bea9700b764cfbc8c62d6b2b4f191 b/test/de_fuzz/corpus/38db59e3dc0bea9700b764cfbc8c62d6b2b4f191 deleted file mode 100644 index db4ab31c3..000000000 Binary files a/test/de_fuzz/corpus/38db59e3dc0bea9700b764cfbc8c62d6b2b4f191 and /dev/null differ diff --git a/test/de_fuzz/corpus/38db64e2e20855f9e5d74cb4391308959a9c85ac b/test/de_fuzz/corpus/38db64e2e20855f9e5d74cb4391308959a9c85ac deleted file mode 100644 index 85ac8cfda..000000000 Binary files a/test/de_fuzz/corpus/38db64e2e20855f9e5d74cb4391308959a9c85ac and /dev/null differ diff --git a/test/de_fuzz/corpus/38f39ef8e95abe76ace27b15cef878df542ade66 b/test/de_fuzz/corpus/38f39ef8e95abe76ace27b15cef878df542ade66 deleted file mode 100644 index 8f7e51361..000000000 Binary files a/test/de_fuzz/corpus/38f39ef8e95abe76ace27b15cef878df542ade66 and /dev/null differ diff --git a/test/de_fuzz/corpus/38fe7672cad12105405aec1785faa47d9b7a9856 b/test/de_fuzz/corpus/38fe7672cad12105405aec1785faa47d9b7a9856 deleted file mode 100644 index 383a9fafa..000000000 Binary files a/test/de_fuzz/corpus/38fe7672cad12105405aec1785faa47d9b7a9856 and /dev/null differ diff --git a/test/de_fuzz/corpus/391de3c4fea166d80f9ed06af211962d709dbe78 b/test/de_fuzz/corpus/391de3c4fea166d80f9ed06af211962d709dbe78 deleted file mode 100644 index aedc18ac8..000000000 Binary files a/test/de_fuzz/corpus/391de3c4fea166d80f9ed06af211962d709dbe78 and /dev/null differ diff --git a/test/de_fuzz/corpus/39393eda73d8e73d64f06b4bbf2a5e58ce5af742 b/test/de_fuzz/corpus/39393eda73d8e73d64f06b4bbf2a5e58ce5af742 deleted file mode 100644 index 95ab9b3fb..000000000 Binary files a/test/de_fuzz/corpus/39393eda73d8e73d64f06b4bbf2a5e58ce5af742 and /dev/null differ diff --git a/test/de_fuzz/corpus/393a7874fc3bbe96de7dc9974c84b28b04b7e448 b/test/de_fuzz/corpus/393a7874fc3bbe96de7dc9974c84b28b04b7e448 deleted file mode 100644 index 8fd71a1cf..000000000 --- a/test/de_fuzz/corpus/393a7874fc3bbe96de7dc9974c84b28b04b7e448 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/39468701dcf8538b1bef61004da99e49cdae7f62 b/test/de_fuzz/corpus/39468701dcf8538b1bef61004da99e49cdae7f62 deleted file mode 100644 index ec7814ac0..000000000 Binary files a/test/de_fuzz/corpus/39468701dcf8538b1bef61004da99e49cdae7f62 and /dev/null differ diff --git a/test/de_fuzz/corpus/39660f31219d051288850d27eaf02a6296ce12c7 b/test/de_fuzz/corpus/39660f31219d051288850d27eaf02a6296ce12c7 deleted file mode 100644 index 792ae69b8..000000000 Binary files a/test/de_fuzz/corpus/39660f31219d051288850d27eaf02a6296ce12c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/39d91c4c8f93d4a7332cadccd4d68db2141b0ca5 b/test/de_fuzz/corpus/39d91c4c8f93d4a7332cadccd4d68db2141b0ca5 deleted file mode 100644 index c8ff675e9..000000000 Binary files a/test/de_fuzz/corpus/39d91c4c8f93d4a7332cadccd4d68db2141b0ca5 and /dev/null differ diff --git a/test/de_fuzz/corpus/39db8798cc7c6b4d517e2a235c5d8912dab8fba8 b/test/de_fuzz/corpus/39db8798cc7c6b4d517e2a235c5d8912dab8fba8 deleted file mode 100644 index b7cab7df0..000000000 Binary files a/test/de_fuzz/corpus/39db8798cc7c6b4d517e2a235c5d8912dab8fba8 and /dev/null differ diff --git a/test/de_fuzz/corpus/39ea06aaaa4bcd0a1aa4bb8a1b1398c6cda358c3 b/test/de_fuzz/corpus/39ea06aaaa4bcd0a1aa4bb8a1b1398c6cda358c3 deleted file mode 100644 index 0271b89c1..000000000 Binary files a/test/de_fuzz/corpus/39ea06aaaa4bcd0a1aa4bb8a1b1398c6cda358c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/39fcc3299790b4b309ac9251eb620aa043d67c47 b/test/de_fuzz/corpus/39fcc3299790b4b309ac9251eb620aa043d67c47 deleted file mode 100644 index 14ff4611c..000000000 Binary files a/test/de_fuzz/corpus/39fcc3299790b4b309ac9251eb620aa043d67c47 and /dev/null differ diff --git a/test/de_fuzz/corpus/3a28f5af007d60a8cf20be0ee683df9b92b59abf b/test/de_fuzz/corpus/3a28f5af007d60a8cf20be0ee683df9b92b59abf deleted file mode 100644 index f8214b2b6..000000000 Binary files a/test/de_fuzz/corpus/3a28f5af007d60a8cf20be0ee683df9b92b59abf and /dev/null differ diff --git a/test/de_fuzz/corpus/3a2c1736f8c31fda333d8fc7d146cc7da244afcc b/test/de_fuzz/corpus/3a2c1736f8c31fda333d8fc7d146cc7da244afcc deleted file mode 100644 index ec28d4fa1..000000000 Binary files a/test/de_fuzz/corpus/3a2c1736f8c31fda333d8fc7d146cc7da244afcc and /dev/null differ diff --git a/test/de_fuzz/corpus/3a4f51143ed9a492e1b54b83f273d2e5acdbe8ad b/test/de_fuzz/corpus/3a4f51143ed9a492e1b54b83f273d2e5acdbe8ad deleted file mode 100644 index 1863db4b0..000000000 Binary files a/test/de_fuzz/corpus/3a4f51143ed9a492e1b54b83f273d2e5acdbe8ad and /dev/null differ diff --git a/test/de_fuzz/corpus/3a895b75dfcbac1fdb12b57f4306d8f8e42bea78 b/test/de_fuzz/corpus/3a895b75dfcbac1fdb12b57f4306d8f8e42bea78 deleted file mode 100644 index 258b4f7ad..000000000 Binary files a/test/de_fuzz/corpus/3a895b75dfcbac1fdb12b57f4306d8f8e42bea78 and /dev/null differ diff --git a/test/de_fuzz/corpus/3a9f61aa5c01e7aeae1723c62e31c899a2694a49 b/test/de_fuzz/corpus/3a9f61aa5c01e7aeae1723c62e31c899a2694a49 deleted file mode 100644 index ea80411d0..000000000 Binary files a/test/de_fuzz/corpus/3a9f61aa5c01e7aeae1723c62e31c899a2694a49 and /dev/null differ diff --git a/test/de_fuzz/corpus/3ab1733990dcb2ca603e4c245b6fb7f2f31f31e0 b/test/de_fuzz/corpus/3ab1733990dcb2ca603e4c245b6fb7f2f31f31e0 deleted file mode 100644 index 642a4b858..000000000 Binary files a/test/de_fuzz/corpus/3ab1733990dcb2ca603e4c245b6fb7f2f31f31e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/3ae3a2c2cede90f05c9eadfd1a59d6172ffd017b b/test/de_fuzz/corpus/3ae3a2c2cede90f05c9eadfd1a59d6172ffd017b deleted file mode 100644 index 6cbd3992b..000000000 Binary files a/test/de_fuzz/corpus/3ae3a2c2cede90f05c9eadfd1a59d6172ffd017b and /dev/null differ diff --git a/test/de_fuzz/corpus/3aed2e54723e7864e6f6cd8a2a9cd38ee069628b b/test/de_fuzz/corpus/3aed2e54723e7864e6f6cd8a2a9cd38ee069628b deleted file mode 100644 index 0889bfc35..000000000 Binary files a/test/de_fuzz/corpus/3aed2e54723e7864e6f6cd8a2a9cd38ee069628b and /dev/null differ diff --git a/test/de_fuzz/corpus/3aef82b39cb39757bf91d80ea87e7dcd4d3d6ac8 b/test/de_fuzz/corpus/3aef82b39cb39757bf91d80ea87e7dcd4d3d6ac8 deleted file mode 100644 index a3dd8fd94..000000000 Binary files a/test/de_fuzz/corpus/3aef82b39cb39757bf91d80ea87e7dcd4d3d6ac8 and /dev/null differ diff --git a/test/de_fuzz/corpus/3b10d84160afd99d8dacafe59888931b8fc09d3c b/test/de_fuzz/corpus/3b10d84160afd99d8dacafe59888931b8fc09d3c deleted file mode 100644 index be40b5163..000000000 Binary files a/test/de_fuzz/corpus/3b10d84160afd99d8dacafe59888931b8fc09d3c and /dev/null differ diff --git a/test/de_fuzz/corpus/3b2f52a1e4105658c758deb815c498bd163f301d b/test/de_fuzz/corpus/3b2f52a1e4105658c758deb815c498bd163f301d deleted file mode 100644 index d1bed2ec1..000000000 Binary files a/test/de_fuzz/corpus/3b2f52a1e4105658c758deb815c498bd163f301d and /dev/null differ diff --git a/test/de_fuzz/corpus/3b41889c629bca7767f2354af70afafc7b6dbe26 b/test/de_fuzz/corpus/3b41889c629bca7767f2354af70afafc7b6dbe26 deleted file mode 100644 index 7bdf63d3b..000000000 Binary files a/test/de_fuzz/corpus/3b41889c629bca7767f2354af70afafc7b6dbe26 and /dev/null differ diff --git a/test/de_fuzz/corpus/3b81394875bbe9180e06e91746b12f8625491593 b/test/de_fuzz/corpus/3b81394875bbe9180e06e91746b12f8625491593 deleted file mode 100644 index edb598e85..000000000 Binary files a/test/de_fuzz/corpus/3b81394875bbe9180e06e91746b12f8625491593 and /dev/null differ diff --git a/test/de_fuzz/corpus/3b8a8c09e936eb4a61ead3e06f944aec4c074450 b/test/de_fuzz/corpus/3b8a8c09e936eb4a61ead3e06f944aec4c074450 deleted file mode 100644 index e37cfb10a..000000000 Binary files a/test/de_fuzz/corpus/3b8a8c09e936eb4a61ead3e06f944aec4c074450 and /dev/null differ diff --git a/test/de_fuzz/corpus/3b988c3586903e6120254d584bbe0b178b3be9ce b/test/de_fuzz/corpus/3b988c3586903e6120254d584bbe0b178b3be9ce deleted file mode 100644 index fc96c5f7a..000000000 Binary files a/test/de_fuzz/corpus/3b988c3586903e6120254d584bbe0b178b3be9ce and /dev/null differ diff --git a/test/de_fuzz/corpus/3bbbd7fc1e5ae15c03f96172ee157c91d7196c9c b/test/de_fuzz/corpus/3bbbd7fc1e5ae15c03f96172ee157c91d7196c9c deleted file mode 100644 index a5d62a56d..000000000 Binary files a/test/de_fuzz/corpus/3bbbd7fc1e5ae15c03f96172ee157c91d7196c9c and /dev/null differ diff --git a/test/de_fuzz/corpus/3bd1c88e2e61f3cdc365bc70aa3bcf2554e6cb33 b/test/de_fuzz/corpus/3bd1c88e2e61f3cdc365bc70aa3bcf2554e6cb33 deleted file mode 100644 index dad13d7aa..000000000 Binary files a/test/de_fuzz/corpus/3bd1c88e2e61f3cdc365bc70aa3bcf2554e6cb33 and /dev/null differ diff --git a/test/de_fuzz/corpus/3c0e017d1c243704f7e1c7a1140f6418f46a3bf9 b/test/de_fuzz/corpus/3c0e017d1c243704f7e1c7a1140f6418f46a3bf9 deleted file mode 100644 index 22ba66a66..000000000 Binary files a/test/de_fuzz/corpus/3c0e017d1c243704f7e1c7a1140f6418f46a3bf9 and /dev/null differ diff --git a/test/de_fuzz/corpus/3c56ace658e54ef7c967292d88b97c9d370f6d7f b/test/de_fuzz/corpus/3c56ace658e54ef7c967292d88b97c9d370f6d7f deleted file mode 100644 index b9186f421..000000000 Binary files a/test/de_fuzz/corpus/3c56ace658e54ef7c967292d88b97c9d370f6d7f and /dev/null differ diff --git a/test/de_fuzz/corpus/3c56be82f6ab88e1c178f8f9f7f9581897bb5709 b/test/de_fuzz/corpus/3c56be82f6ab88e1c178f8f9f7f9581897bb5709 deleted file mode 100644 index 2351bb6a8..000000000 Binary files a/test/de_fuzz/corpus/3c56be82f6ab88e1c178f8f9f7f9581897bb5709 and /dev/null differ diff --git a/test/de_fuzz/corpus/3c614ed45bef24780b48315adc9120993eb6456e b/test/de_fuzz/corpus/3c614ed45bef24780b48315adc9120993eb6456e deleted file mode 100644 index 098fe48a1..000000000 Binary files a/test/de_fuzz/corpus/3c614ed45bef24780b48315adc9120993eb6456e and /dev/null differ diff --git a/test/de_fuzz/corpus/3c78185ce219da3711bd74099d5279d185c203c1 b/test/de_fuzz/corpus/3c78185ce219da3711bd74099d5279d185c203c1 deleted file mode 100644 index 363d09fa7..000000000 Binary files a/test/de_fuzz/corpus/3c78185ce219da3711bd74099d5279d185c203c1 and /dev/null differ diff --git a/test/de_fuzz/corpus/3cc53dd6b4cebc89022cd1742c7130990ce6b398 b/test/de_fuzz/corpus/3cc53dd6b4cebc89022cd1742c7130990ce6b398 deleted file mode 100644 index 73b605b62..000000000 Binary files a/test/de_fuzz/corpus/3cc53dd6b4cebc89022cd1742c7130990ce6b398 and /dev/null differ diff --git a/test/de_fuzz/corpus/3ccdf9e8d12015f159a722b32caa375c3424fce5 b/test/de_fuzz/corpus/3ccdf9e8d12015f159a722b32caa375c3424fce5 deleted file mode 100644 index e66134947..000000000 Binary files a/test/de_fuzz/corpus/3ccdf9e8d12015f159a722b32caa375c3424fce5 and /dev/null differ diff --git a/test/de_fuzz/corpus/3cf1c5a8c152a0ad802e6c5483aff89824feea93 b/test/de_fuzz/corpus/3cf1c5a8c152a0ad802e6c5483aff89824feea93 deleted file mode 100644 index 4a851aa25..000000000 --- a/test/de_fuzz/corpus/3cf1c5a8c152a0ad802e6c5483aff89824feea93 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*\2| |((.)\W*(?3)\W*\4|\WM*))\W*$T\W*(?3)\W*\4|\W)ox \x{13} \ No newline at end of file diff --git a/test/de_fuzz/corpus/3d29d7520a928918bcd8ae77cd52bbfe9e6d957e b/test/de_fuzz/corpus/3d29d7520a928918bcd8ae77cd52bbfe9e6d957e deleted file mode 100644 index 53e3788cf..000000000 Binary files a/test/de_fuzz/corpus/3d29d7520a928918bcd8ae77cd52bbfe9e6d957e and /dev/null differ diff --git a/test/de_fuzz/corpus/3d330fc455983e0b7f63c721c748d83720c0b1d9 b/test/de_fuzz/corpus/3d330fc455983e0b7f63c721c748d83720c0b1d9 deleted file mode 100644 index b42eb893b..000000000 Binary files a/test/de_fuzz/corpus/3d330fc455983e0b7f63c721c748d83720c0b1d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/3d5d9707818fd8c2588ca8f8801eb41c1fb96bca b/test/de_fuzz/corpus/3d5d9707818fd8c2588ca8f8801eb41c1fb96bca deleted file mode 100644 index 51da9c77e..000000000 --- a/test/de_fuzz/corpus/3d5d9707818fd8c2588ca8f8801eb41c1fb96bca +++ /dev/null @@ -1,194 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional le\Qing comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\00\4t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x8 address spec -(?: [\040\t] | \( -(?: [^\\\x80 # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/3d9f9f8b8480e507ea1128908429076fdf636a47 b/test/de_fuzz/corpus/3d9f9f8b8480e507ea1128908429076fdf636a47 deleted file mode 100644 index 31a80d3a3..000000000 Binary files a/test/de_fuzz/corpus/3d9f9f8b8480e507ea1128908429076fdf636a47 and /dev/null differ diff --git a/test/de_fuzz/corpus/3e20a7f3f5c62da5fcb5ed920a85bd7dd35c816a b/test/de_fuzz/corpus/3e20a7f3f5c62da5fcb5ed920a85bd7dd35c816a deleted file mode 100644 index 64c331fc9..000000000 Binary files a/test/de_fuzz/corpus/3e20a7f3f5c62da5fcb5ed920a85bd7dd35c816a and /dev/null differ diff --git a/test/de_fuzz/corpus/3e22d722eec59dea508aef7a3acd60d8f3dbb0a1 b/test/de_fuzz/corpus/3e22d722eec59dea508aef7a3acd60d8f3dbb0a1 deleted file mode 100644 index f0c91be8f..000000000 Binary files a/test/de_fuzz/corpus/3e22d722eec59dea508aef7a3acd60d8f3dbb0a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/3e3cd3f480245d5dc87b10e0695140c0b717190d b/test/de_fuzz/corpus/3e3cd3f480245d5dc87b10e0695140c0b717190d deleted file mode 100644 index cb2b8765e..000000000 Binary files a/test/de_fuzz/corpus/3e3cd3f480245d5dc87b10e0695140c0b717190d and /dev/null differ diff --git a/test/de_fuzz/corpus/3e6fe002c93beb0aedbde53c24246f843f85dcc8 b/test/de_fuzz/corpus/3e6fe002c93beb0aedbde53c24246f843f85dcc8 deleted file mode 100644 index e7111ca49..000000000 Binary files a/test/de_fuzz/corpus/3e6fe002c93beb0aedbde53c24246f843f85dcc8 and /dev/null differ diff --git a/test/de_fuzz/corpus/3e8373bee1462372dee0db06f15136688d3bf239 b/test/de_fuzz/corpus/3e8373bee1462372dee0db06f15136688d3bf239 deleted file mode 100644 index 9100668d3..000000000 --- a/test/de_fuzz/corpus/3e8373bee1462372dee0db06f15136688d3bf239 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+\u)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/3ebe5e5ba66b50fc3678bca714a44c8d210ae404 b/test/de_fuzz/corpus/3ebe5e5ba66b50fc3678bca714a44c8d210ae404 deleted file mode 100644 index ccdfe762c..000000000 Binary files a/test/de_fuzz/corpus/3ebe5e5ba66b50fc3678bca714a44c8d210ae404 and /dev/null differ diff --git a/test/de_fuzz/corpus/3ed2c5f8e9af344f11f3cf0699082a88d82ea2b2 b/test/de_fuzz/corpus/3ed2c5f8e9af344f11f3cf0699082a88d82ea2b2 deleted file mode 100644 index 43dcb3de3..000000000 Binary files a/test/de_fuzz/corpus/3ed2c5f8e9af344f11f3cf0699082a88d82ea2b2 and /dev/null differ diff --git a/test/de_fuzz/corpus/3efabaf0aae655515951bcf9bf13098b62ca95b5 b/test/de_fuzz/corpus/3efabaf0aae655515951bcf9bf13098b62ca95b5 deleted file mode 100644 index 5d366d4c1..000000000 Binary files a/test/de_fuzz/corpus/3efabaf0aae655515951bcf9bf13098b62ca95b5 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f1373fb539a7dd0f7307cec8edf0c7c3e5c1ab0 b/test/de_fuzz/corpus/3f1373fb539a7dd0f7307cec8edf0c7c3e5c1ab0 deleted file mode 100644 index c4e793b94..000000000 Binary files a/test/de_fuzz/corpus/3f1373fb539a7dd0f7307cec8edf0c7c3e5c1ab0 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f341b43ce6e639dd7f4c5e21dd34ac08188d47c b/test/de_fuzz/corpus/3f341b43ce6e639dd7f4c5e21dd34ac08188d47c deleted file mode 100644 index 320217856..000000000 Binary files a/test/de_fuzz/corpus/3f341b43ce6e639dd7f4c5e21dd34ac08188d47c and /dev/null differ diff --git a/test/de_fuzz/corpus/3f3d8af6cfa01eeed356ca540e707810cb797b80 b/test/de_fuzz/corpus/3f3d8af6cfa01eeed356ca540e707810cb797b80 deleted file mode 100644 index ed7ab14ba..000000000 Binary files a/test/de_fuzz/corpus/3f3d8af6cfa01eeed356ca540e707810cb797b80 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f4c7f731175ade978e557d6832bc9dfaedafeb5 b/test/de_fuzz/corpus/3f4c7f731175ade978e557d6832bc9dfaedafeb5 deleted file mode 100644 index b5b365d1f..000000000 Binary files a/test/de_fuzz/corpus/3f4c7f731175ade978e557d6832bc9dfaedafeb5 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f61c2098e2d9f87287ce4fbea4f9f94e3f77a50 b/test/de_fuzz/corpus/3f61c2098e2d9f87287ce4fbea4f9f94e3f77a50 deleted file mode 100644 index e17b8f46b..000000000 Binary files a/test/de_fuzz/corpus/3f61c2098e2d9f87287ce4fbea4f9f94e3f77a50 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f69731efdc09d3994dea81aa7d7e03633f8d33a b/test/de_fuzz/corpus/3f69731efdc09d3994dea81aa7d7e03633f8d33a deleted file mode 100644 index 5d8d90679..000000000 Binary files a/test/de_fuzz/corpus/3f69731efdc09d3994dea81aa7d7e03633f8d33a and /dev/null differ diff --git a/test/de_fuzz/corpus/3f6b4df9132a736c0904fc4405c008b996ea9801 b/test/de_fuzz/corpus/3f6b4df9132a736c0904fc4405c008b996ea9801 deleted file mode 100644 index e881eae87..000000000 Binary files a/test/de_fuzz/corpus/3f6b4df9132a736c0904fc4405c008b996ea9801 and /dev/null differ diff --git a/test/de_fuzz/corpus/3f9d9e3957e893cdc144a056e78445888097ab71 b/test/de_fuzz/corpus/3f9d9e3957e893cdc144a056e78445888097ab71 deleted file mode 100644 index b1e0272b7..000000000 Binary files a/test/de_fuzz/corpus/3f9d9e3957e893cdc144a056e78445888097ab71 and /dev/null differ diff --git a/test/de_fuzz/corpus/3fb2eca5e12d9523371c273260f53008bea3540a b/test/de_fuzz/corpus/3fb2eca5e12d9523371c273260f53008bea3540a deleted file mode 100644 index 92d0aa589..000000000 Binary files a/test/de_fuzz/corpus/3fb2eca5e12d9523371c273260f53008bea3540a and /dev/null differ diff --git a/test/de_fuzz/corpus/3fba0c71d844a3c3e68dffd50b1c4782862b56c3 b/test/de_fuzz/corpus/3fba0c71d844a3c3e68dffd50b1c4782862b56c3 deleted file mode 100644 index fbb097752..000000000 Binary files a/test/de_fuzz/corpus/3fba0c71d844a3c3e68dffd50b1c4782862b56c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/3fcfcd5988ece333dfc06b6aa3ebf6a3fb716fe2 b/test/de_fuzz/corpus/3fcfcd5988ece333dfc06b6aa3ebf6a3fb716fe2 deleted file mode 100644 index edd98119f..000000000 Binary files a/test/de_fuzz/corpus/3fcfcd5988ece333dfc06b6aa3ebf6a3fb716fe2 and /dev/null differ diff --git a/test/de_fuzz/corpus/4008039a0b0ede131124aa8e73f0a3545b3ef563 b/test/de_fuzz/corpus/4008039a0b0ede131124aa8e73f0a3545b3ef563 deleted file mode 100644 index 84adbdfb2..000000000 Binary files a/test/de_fuzz/corpus/4008039a0b0ede131124aa8e73f0a3545b3ef563 and /dev/null differ diff --git a/test/de_fuzz/corpus/400d9921eba2fb8676dc2f8c47d28e4d39d1e1ff b/test/de_fuzz/corpus/400d9921eba2fb8676dc2f8c47d28e4d39d1e1ff deleted file mode 100644 index 7d7b86370..000000000 Binary files a/test/de_fuzz/corpus/400d9921eba2fb8676dc2f8c47d28e4d39d1e1ff and /dev/null differ diff --git a/test/de_fuzz/corpus/40171a9731ad50cccfab4b5fac5cd8ff16f026d7 b/test/de_fuzz/corpus/40171a9731ad50cccfab4b5fac5cd8ff16f026d7 deleted file mode 100644 index 855a5e1e6..000000000 Binary files a/test/de_fuzz/corpus/40171a9731ad50cccfab4b5fac5cd8ff16f026d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/403db563825a4768328ee06d7594289320f83db8 b/test/de_fuzz/corpus/403db563825a4768328ee06d7594289320f83db8 deleted file mode 100644 index 3cd8d23d0..000000000 Binary files a/test/de_fuzz/corpus/403db563825a4768328ee06d7594289320f83db8 and /dev/null differ diff --git a/test/de_fuzz/corpus/4057a483a3f38bf6e143bf0ad35e7e7a8df2962d b/test/de_fuzz/corpus/4057a483a3f38bf6e143bf0ad35e7e7a8df2962d deleted file mode 100644 index c4866bee3..000000000 Binary files a/test/de_fuzz/corpus/4057a483a3f38bf6e143bf0ad35e7e7a8df2962d and /dev/null differ diff --git a/test/de_fuzz/corpus/4059bff6c208317966fa93af2737b353e7acc86c b/test/de_fuzz/corpus/4059bff6c208317966fa93af2737b353e7acc86c deleted file mode 100644 index f25da430d..000000000 Binary files a/test/de_fuzz/corpus/4059bff6c208317966fa93af2737b353e7acc86c and /dev/null differ diff --git a/test/de_fuzz/corpus/406cb54b9d002dfb99c808225b10535ad2c7c6a1 b/test/de_fuzz/corpus/406cb54b9d002dfb99c808225b10535ad2c7c6a1 deleted file mode 100644 index 82dd7c70c..000000000 Binary files a/test/de_fuzz/corpus/406cb54b9d002dfb99c808225b10535ad2c7c6a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/40705167e13990984922dd4afb1c747b3f89e133 b/test/de_fuzz/corpus/40705167e13990984922dd4afb1c747b3f89e133 deleted file mode 100644 index c3db454a5..000000000 Binary files a/test/de_fuzz/corpus/40705167e13990984922dd4afb1c747b3f89e133 and /dev/null differ diff --git a/test/de_fuzz/corpus/407def7ae2c2cd4b1ab0f5172584316c86e31f64 b/test/de_fuzz/corpus/407def7ae2c2cd4b1ab0f5172584316c86e31f64 deleted file mode 100644 index 365945822..000000000 Binary files a/test/de_fuzz/corpus/407def7ae2c2cd4b1ab0f5172584316c86e31f64 and /dev/null differ diff --git a/test/de_fuzz/corpus/4099102436b6a39bdf3be79b9484a47da1012c90 b/test/de_fuzz/corpus/4099102436b6a39bdf3be79b9484a47da1012c90 deleted file mode 100644 index 67593c529..000000000 Binary files a/test/de_fuzz/corpus/4099102436b6a39bdf3be79b9484a47da1012c90 and /dev/null differ diff --git a/test/de_fuzz/corpus/40a51036bf483e60e2918a53b28867856742b8b6 b/test/de_fuzz/corpus/40a51036bf483e60e2918a53b28867856742b8b6 deleted file mode 100644 index 00e4d7e48..000000000 Binary files a/test/de_fuzz/corpus/40a51036bf483e60e2918a53b28867856742b8b6 and /dev/null differ diff --git a/test/de_fuzz/corpus/40d3007e3b2e608b548c864e4583a26be398c761 b/test/de_fuzz/corpus/40d3007e3b2e608b548c864e4583a26be398c761 deleted file mode 100644 index 8e51d5599..000000000 Binary files a/test/de_fuzz/corpus/40d3007e3b2e608b548c864e4583a26be398c761 and /dev/null differ diff --git a/test/de_fuzz/corpus/40fdb81099abde7fe8c6148ebfd303bcc6d44b56 b/test/de_fuzz/corpus/40fdb81099abde7fe8c6148ebfd303bcc6d44b56 deleted file mode 100644 index a70e82782..000000000 Binary files a/test/de_fuzz/corpus/40fdb81099abde7fe8c6148ebfd303bcc6d44b56 and /dev/null differ diff --git a/test/de_fuzz/corpus/4142628bf63fcdfd29d4c5a0287ffe1d6ff9d5ba b/test/de_fuzz/corpus/4142628bf63fcdfd29d4c5a0287ffe1d6ff9d5ba deleted file mode 100644 index bfd5b88ac..000000000 Binary files a/test/de_fuzz/corpus/4142628bf63fcdfd29d4c5a0287ffe1d6ff9d5ba and /dev/null differ diff --git a/test/de_fuzz/corpus/41448d5aeca1166c7be3b290ab9c084ee12e14a0 b/test/de_fuzz/corpus/41448d5aeca1166c7be3b290ab9c084ee12e14a0 deleted file mode 100644 index 1e964ed2f..000000000 Binary files a/test/de_fuzz/corpus/41448d5aeca1166c7be3b290ab9c084ee12e14a0 and /dev/null differ diff --git a/test/de_fuzz/corpus/4164c1f880f8475b774d5201af853868e258add3 b/test/de_fuzz/corpus/4164c1f880f8475b774d5201af853868e258add3 deleted file mode 100644 index f60c7ae32..000000000 Binary files a/test/de_fuzz/corpus/4164c1f880f8475b774d5201af853868e258add3 and /dev/null differ diff --git a/test/de_fuzz/corpus/419af0091b9ed9d18455e7cbbeec9536cadce91a b/test/de_fuzz/corpus/419af0091b9ed9d18455e7cbbeec9536cadce91a deleted file mode 100644 index e0da00697..000000000 Binary files a/test/de_fuzz/corpus/419af0091b9ed9d18455e7cbbeec9536cadce91a and /dev/null differ diff --git a/test/de_fuzz/corpus/41d090cdc1306b49b9962fc9387af6c6b08ee24e b/test/de_fuzz/corpus/41d090cdc1306b49b9962fc9387af6c6b08ee24e deleted file mode 100644 index 63df0ce3e..000000000 Binary files a/test/de_fuzz/corpus/41d090cdc1306b49b9962fc9387af6c6b08ee24e and /dev/null differ diff --git a/test/de_fuzz/corpus/4217df85ccc51e72f825e2d723e04f152ac6d01e b/test/de_fuzz/corpus/4217df85ccc51e72f825e2d723e04f152ac6d01e deleted file mode 100644 index 969e2b7ff..000000000 Binary files a/test/de_fuzz/corpus/4217df85ccc51e72f825e2d723e04f152ac6d01e and /dev/null differ diff --git a/test/de_fuzz/corpus/422219afeaa0f13b4a6a3bb32ddafafe1c332007 b/test/de_fuzz/corpus/422219afeaa0f13b4a6a3bb32ddafafe1c332007 deleted file mode 100644 index 5c0f08a5f..000000000 Binary files a/test/de_fuzz/corpus/422219afeaa0f13b4a6a3bb32ddafafe1c332007 and /dev/null differ diff --git a/test/de_fuzz/corpus/42251307e29b10582dfe848b6c3c8a480786a022 b/test/de_fuzz/corpus/42251307e29b10582dfe848b6c3c8a480786a022 deleted file mode 100644 index cd390944d..000000000 Binary files a/test/de_fuzz/corpus/42251307e29b10582dfe848b6c3c8a480786a022 and /dev/null differ diff --git a/test/de_fuzz/corpus/4225802357927bf5bfccb122953c2429479c99a1 b/test/de_fuzz/corpus/4225802357927bf5bfccb122953c2429479c99a1 deleted file mode 100644 index ac1a5d341..000000000 Binary files a/test/de_fuzz/corpus/4225802357927bf5bfccb122953c2429479c99a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/422627ba3d34973f3fd6fd69827f02782343887c b/test/de_fuzz/corpus/422627ba3d34973f3fd6fd69827f02782343887c deleted file mode 100644 index fd5b064dc..000000000 Binary files a/test/de_fuzz/corpus/422627ba3d34973f3fd6fd69827f02782343887c and /dev/null differ diff --git a/test/de_fuzz/corpus/427e575573ba991c6b48f1e9123b9c425f6db2d0 b/test/de_fuzz/corpus/427e575573ba991c6b48f1e9123b9c425f6db2d0 deleted file mode 100644 index 51e3454b4..000000000 Binary files a/test/de_fuzz/corpus/427e575573ba991c6b48f1e9123b9c425f6db2d0 and /dev/null differ diff --git a/test/de_fuzz/corpus/428e1d6e7345094c8b754bc0d10f1e300ae7220e b/test/de_fuzz/corpus/428e1d6e7345094c8b754bc0d10f1e300ae7220e deleted file mode 100644 index e87045b17..000000000 Binary files a/test/de_fuzz/corpus/428e1d6e7345094c8b754bc0d10f1e300ae7220e and /dev/null differ diff --git a/test/de_fuzz/corpus/42b4cc3acc0141d3e63588df7472b6273188c7fd b/test/de_fuzz/corpus/42b4cc3acc0141d3e63588df7472b6273188c7fd deleted file mode 100644 index bcb602243..000000000 Binary files a/test/de_fuzz/corpus/42b4cc3acc0141d3e63588df7472b6273188c7fd and /dev/null differ diff --git a/test/de_fuzz/corpus/433bc1362b5d9b10559fa3f456f56ab7cb131451 b/test/de_fuzz/corpus/433bc1362b5d9b10559fa3f456f56ab7cb131451 deleted file mode 100644 index 99fae182c..000000000 Binary files a/test/de_fuzz/corpus/433bc1362b5d9b10559fa3f456f56ab7cb131451 and /dev/null differ diff --git a/test/de_fuzz/corpus/433bf9d31028f01d30e5aedfeff09f6ea8eba2fb b/test/de_fuzz/corpus/433bf9d31028f01d30e5aedfeff09f6ea8eba2fb deleted file mode 100644 index b8995e7d7..000000000 Binary files a/test/de_fuzz/corpus/433bf9d31028f01d30e5aedfeff09f6ea8eba2fb and /dev/null differ diff --git a/test/de_fuzz/corpus/43569a9fd7f0fd769b1997f58ad476b79c285d61 b/test/de_fuzz/corpus/43569a9fd7f0fd769b1997f58ad476b79c285d61 deleted file mode 100644 index d83438aca..000000000 Binary files a/test/de_fuzz/corpus/43569a9fd7f0fd769b1997f58ad476b79c285d61 and /dev/null differ diff --git a/test/de_fuzz/corpus/4369f7df5066c8cfcf977b10d3f0f4d811352511 b/test/de_fuzz/corpus/4369f7df5066c8cfcf977b10d3f0f4d811352511 deleted file mode 100644 index 2d8543e0d..000000000 Binary files a/test/de_fuzz/corpus/4369f7df5066c8cfcf977b10d3f0f4d811352511 and /dev/null differ diff --git a/test/de_fuzz/corpus/436d4ca90a28f4e0213a06f93aae554e80f4186c b/test/de_fuzz/corpus/436d4ca90a28f4e0213a06f93aae554e80f4186c deleted file mode 100644 index c90af7235..000000000 Binary files a/test/de_fuzz/corpus/436d4ca90a28f4e0213a06f93aae554e80f4186c and /dev/null differ diff --git a/test/de_fuzz/corpus/4382a7fd1f0059ea1f061304d3bc4be29151650f b/test/de_fuzz/corpus/4382a7fd1f0059ea1f061304d3bc4be29151650f deleted file mode 100644 index c4c1bcaeb..000000000 Binary files a/test/de_fuzz/corpus/4382a7fd1f0059ea1f061304d3bc4be29151650f and /dev/null differ diff --git a/test/de_fuzz/corpus/43d6c941073fa2d0745b33f4e5b1e5ff6b2018fb b/test/de_fuzz/corpus/43d6c941073fa2d0745b33f4e5b1e5ff6b2018fb deleted file mode 100644 index 4b5eff304..000000000 Binary files a/test/de_fuzz/corpus/43d6c941073fa2d0745b33f4e5b1e5ff6b2018fb and /dev/null differ diff --git a/test/de_fuzz/corpus/44233e169bcc9f1b83b6a362bb399a43354630c9 b/test/de_fuzz/corpus/44233e169bcc9f1b83b6a362bb399a43354630c9 deleted file mode 100644 index 0788183b4..000000000 --- a/test/de_fuzz/corpus/44233e169bcc9f1b83b6a362bb399a43354630c9 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/4435489056834775babe752ac3c975dcb5ee8f98 b/test/de_fuzz/corpus/4435489056834775babe752ac3c975dcb5ee8f98 deleted file mode 100644 index 1481e508a..000000000 Binary files a/test/de_fuzz/corpus/4435489056834775babe752ac3c975dcb5ee8f98 and /dev/null differ diff --git a/test/de_fuzz/corpus/444d6f11ae6c7baebffa45dbd190253f5c362a59 b/test/de_fuzz/corpus/444d6f11ae6c7baebffa45dbd190253f5c362a59 deleted file mode 100644 index 8bc874edc..000000000 Binary files a/test/de_fuzz/corpus/444d6f11ae6c7baebffa45dbd190253f5c362a59 and /dev/null differ diff --git a/test/de_fuzz/corpus/4456a66840bbfd016157d67cc8f2619fbd9d862b b/test/de_fuzz/corpus/4456a66840bbfd016157d67cc8f2619fbd9d862b deleted file mode 100644 index cf1408af0..000000000 Binary files a/test/de_fuzz/corpus/4456a66840bbfd016157d67cc8f2619fbd9d862b and /dev/null differ diff --git a/test/de_fuzz/corpus/4470a7e6e422e12e1750b4c5a724dcdd9ade2193 b/test/de_fuzz/corpus/4470a7e6e422e12e1750b4c5a724dcdd9ade2193 deleted file mode 100644 index 5dc831d7d..000000000 Binary files a/test/de_fuzz/corpus/4470a7e6e422e12e1750b4c5a724dcdd9ade2193 and /dev/null differ diff --git a/test/de_fuzz/corpus/44b047b4adff4228bd11a6ff709a402e574c44b4 b/test/de_fuzz/corpus/44b047b4adff4228bd11a6ff709a402e574c44b4 deleted file mode 100644 index 4f37252c4..000000000 Binary files a/test/de_fuzz/corpus/44b047b4adff4228bd11a6ff709a402e574c44b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/44b29fcdb9212e742aa0afbaefde84fbd60944fa b/test/de_fuzz/corpus/44b29fcdb9212e742aa0afbaefde84fbd60944fa deleted file mode 100644 index 2c3788adb..000000000 Binary files a/test/de_fuzz/corpus/44b29fcdb9212e742aa0afbaefde84fbd60944fa and /dev/null differ diff --git a/test/de_fuzz/corpus/45460bdad7be4477e16dc917400067b0ecc818aa b/test/de_fuzz/corpus/45460bdad7be4477e16dc917400067b0ecc818aa deleted file mode 100644 index 1b4ae8cb5..000000000 Binary files a/test/de_fuzz/corpus/45460bdad7be4477e16dc917400067b0ecc818aa and /dev/null differ diff --git a/test/de_fuzz/corpus/4549d055c9b0c98e579928152c880ba6b365819d b/test/de_fuzz/corpus/4549d055c9b0c98e579928152c880ba6b365819d deleted file mode 100644 index 72650b9a4..000000000 Binary files a/test/de_fuzz/corpus/4549d055c9b0c98e579928152c880ba6b365819d and /dev/null differ diff --git a/test/de_fuzz/corpus/4584f42df115582be8bbcdd09011a97a4cf4cf2e b/test/de_fuzz/corpus/4584f42df115582be8bbcdd09011a97a4cf4cf2e deleted file mode 100644 index 1f36575c1..000000000 Binary files a/test/de_fuzz/corpus/4584f42df115582be8bbcdd09011a97a4cf4cf2e and /dev/null differ diff --git a/test/de_fuzz/corpus/4592971dda19991245ecaca9a716ac1d41511296 b/test/de_fuzz/corpus/4592971dda19991245ecaca9a716ac1d41511296 deleted file mode 100644 index 6161fd17e..000000000 Binary files a/test/de_fuzz/corpus/4592971dda19991245ecaca9a716ac1d41511296 and /dev/null differ diff --git a/test/de_fuzz/corpus/45a134f510cf0b8c805852cdcb97f1fb6425bae5 b/test/de_fuzz/corpus/45a134f510cf0b8c805852cdcb97f1fb6425bae5 deleted file mode 100644 index 0c2a41517..000000000 Binary files a/test/de_fuzz/corpus/45a134f510cf0b8c805852cdcb97f1fb6425bae5 and /dev/null differ diff --git a/test/de_fuzz/corpus/45f4a14ef445388b5f4de101463cded27002e852 b/test/de_fuzz/corpus/45f4a14ef445388b5f4de101463cded27002e852 deleted file mode 100644 index e39165b46..000000000 Binary files a/test/de_fuzz/corpus/45f4a14ef445388b5f4de101463cded27002e852 and /dev/null differ diff --git a/test/de_fuzz/corpus/462f682b127168cf22b2ed77aa369acbad074215 b/test/de_fuzz/corpus/462f682b127168cf22b2ed77aa369acbad074215 deleted file mode 100644 index 333aff768..000000000 Binary files a/test/de_fuzz/corpus/462f682b127168cf22b2ed77aa369acbad074215 and /dev/null differ diff --git a/test/de_fuzz/corpus/46c0e1a1336fdd766ed8578d93f3069af98c8897 b/test/de_fuzz/corpus/46c0e1a1336fdd766ed8578d93f3069af98c8897 deleted file mode 100644 index db9117c8f..000000000 Binary files a/test/de_fuzz/corpus/46c0e1a1336fdd766ed8578d93f3069af98c8897 and /dev/null differ diff --git a/test/de_fuzz/corpus/46c838e407b6feda1dbcf600cf298a9bad350258 b/test/de_fuzz/corpus/46c838e407b6feda1dbcf600cf298a9bad350258 deleted file mode 100644 index 657efae9b..000000000 Binary files a/test/de_fuzz/corpus/46c838e407b6feda1dbcf600cf298a9bad350258 and /dev/null differ diff --git a/test/de_fuzz/corpus/46f0131c189f42b97b6be09cbd5012f850e5f7dd b/test/de_fuzz/corpus/46f0131c189f42b97b6be09cbd5012f850e5f7dd deleted file mode 100644 index cffdbdeeb..000000000 Binary files a/test/de_fuzz/corpus/46f0131c189f42b97b6be09cbd5012f850e5f7dd and /dev/null differ diff --git a/test/de_fuzz/corpus/46faa91a1602b83be280e97a4f37966fe8988773 b/test/de_fuzz/corpus/46faa91a1602b83be280e97a4f37966fe8988773 deleted file mode 100644 index 807bc6bf0..000000000 Binary files a/test/de_fuzz/corpus/46faa91a1602b83be280e97a4f37966fe8988773 and /dev/null differ diff --git a/test/de_fuzz/corpus/46fd24a2a11ff21152bed94b4caf74afb6a849aa b/test/de_fuzz/corpus/46fd24a2a11ff21152bed94b4caf74afb6a849aa deleted file mode 100644 index 8baaddb8d..000000000 Binary files a/test/de_fuzz/corpus/46fd24a2a11ff21152bed94b4caf74afb6a849aa and /dev/null differ diff --git a/test/de_fuzz/corpus/47001482368c691dd4b834f6c497f795450f2987 b/test/de_fuzz/corpus/47001482368c691dd4b834f6c497f795450f2987 deleted file mode 100644 index 07dd8260b..000000000 Binary files a/test/de_fuzz/corpus/47001482368c691dd4b834f6c497f795450f2987 and /dev/null differ diff --git a/test/de_fuzz/corpus/47230819862b7b4293f0d28bfea47d62c525c443 b/test/de_fuzz/corpus/47230819862b7b4293f0d28bfea47d62c525c443 deleted file mode 100644 index 16792cd7d..000000000 Binary files a/test/de_fuzz/corpus/47230819862b7b4293f0d28bfea47d62c525c443 and /dev/null differ diff --git a/test/de_fuzz/corpus/472619d0ccf7ded255369715e36d14fbdec62d5d b/test/de_fuzz/corpus/472619d0ccf7ded255369715e36d14fbdec62d5d deleted file mode 100644 index 5cd581d45..000000000 Binary files a/test/de_fuzz/corpus/472619d0ccf7ded255369715e36d14fbdec62d5d and /dev/null differ diff --git a/test/de_fuzz/corpus/474bd9a4d30edd4203a733569f4a8a7cf19ce612 b/test/de_fuzz/corpus/474bd9a4d30edd4203a733569f4a8a7cf19ce612 deleted file mode 100644 index c6622e824..000000000 Binary files a/test/de_fuzz/corpus/474bd9a4d30edd4203a733569f4a8a7cf19ce612 and /dev/null differ diff --git a/test/de_fuzz/corpus/479467d0a0eb1eb0bf4d489eb30c345fc949aab4 b/test/de_fuzz/corpus/479467d0a0eb1eb0bf4d489eb30c345fc949aab4 deleted file mode 100644 index 56ea9f75d..000000000 Binary files a/test/de_fuzz/corpus/479467d0a0eb1eb0bf4d489eb30c345fc949aab4 and /dev/null differ diff --git a/test/de_fuzz/corpus/47ce8fc94db8d3c2cd7737240cf60d3a46ea88a0 b/test/de_fuzz/corpus/47ce8fc94db8d3c2cd7737240cf60d3a46ea88a0 deleted file mode 100644 index 1235bd920..000000000 Binary files a/test/de_fuzz/corpus/47ce8fc94db8d3c2cd7737240cf60d3a46ea88a0 and /dev/null differ diff --git a/test/de_fuzz/corpus/47d302e075c6ea4934507ec57cbf508ed56e87c5 b/test/de_fuzz/corpus/47d302e075c6ea4934507ec57cbf508ed56e87c5 deleted file mode 100644 index 316a6d4ea..000000000 Binary files a/test/de_fuzz/corpus/47d302e075c6ea4934507ec57cbf508ed56e87c5 and /dev/null differ diff --git a/test/de_fuzz/corpus/47df8193b9bb6628161033b67f1b897f25931c22 b/test/de_fuzz/corpus/47df8193b9bb6628161033b67f1b897f25931c22 deleted file mode 100644 index bd6d0f893..000000000 Binary files a/test/de_fuzz/corpus/47df8193b9bb6628161033b67f1b897f25931c22 and /dev/null differ diff --git a/test/de_fuzz/corpus/47f6ee83e23ea1fe99c93088d3c18491359ce125 b/test/de_fuzz/corpus/47f6ee83e23ea1fe99c93088d3c18491359ce125 deleted file mode 100644 index 16777625f..000000000 Binary files a/test/de_fuzz/corpus/47f6ee83e23ea1fe99c93088d3c18491359ce125 and /dev/null differ diff --git a/test/de_fuzz/corpus/481462b6299201e6f49b8f0b8453e4d7f4e15202 b/test/de_fuzz/corpus/481462b6299201e6f49b8f0b8453e4d7f4e15202 deleted file mode 100644 index 35dd5caea..000000000 Binary files a/test/de_fuzz/corpus/481462b6299201e6f49b8f0b8453e4d7f4e15202 and /dev/null differ diff --git a/test/de_fuzz/corpus/48387dabf2255c2bc2273e1cbda0927fa52b8f3a b/test/de_fuzz/corpus/48387dabf2255c2bc2273e1cbda0927fa52b8f3a deleted file mode 100644 index 9a0f7d927..000000000 Binary files a/test/de_fuzz/corpus/48387dabf2255c2bc2273e1cbda0927fa52b8f3a and /dev/null differ diff --git a/test/de_fuzz/corpus/484ccb489d6dc69b61fd5e0dfd83669f50d2a29c b/test/de_fuzz/corpus/484ccb489d6dc69b61fd5e0dfd83669f50d2a29c deleted file mode 100644 index bec330513..000000000 Binary files a/test/de_fuzz/corpus/484ccb489d6dc69b61fd5e0dfd83669f50d2a29c and /dev/null differ diff --git a/test/de_fuzz/corpus/4872faba03df6b8317b29af88bf485b4a2cf26b1 b/test/de_fuzz/corpus/4872faba03df6b8317b29af88bf485b4a2cf26b1 deleted file mode 100644 index 9437933f4..000000000 Binary files a/test/de_fuzz/corpus/4872faba03df6b8317b29af88bf485b4a2cf26b1 and /dev/null differ diff --git a/test/de_fuzz/corpus/488e273c215bcc150699768c32f242e9d2af54f5 b/test/de_fuzz/corpus/488e273c215bcc150699768c32f242e9d2af54f5 deleted file mode 100644 index df15fa860..000000000 Binary files a/test/de_fuzz/corpus/488e273c215bcc150699768c32f242e9d2af54f5 and /dev/null differ diff --git a/test/de_fuzz/corpus/4895cc6dd0d16825a3c489f9d69528f692707810 b/test/de_fuzz/corpus/4895cc6dd0d16825a3c489f9d69528f692707810 deleted file mode 100644 index 4380bb4ac..000000000 Binary files a/test/de_fuzz/corpus/4895cc6dd0d16825a3c489f9d69528f692707810 and /dev/null differ diff --git a/test/de_fuzz/corpus/48b15134a83976278c232320f1d9620fe5869211 b/test/de_fuzz/corpus/48b15134a83976278c232320f1d9620fe5869211 deleted file mode 100644 index b141a5cfc..000000000 Binary files a/test/de_fuzz/corpus/48b15134a83976278c232320f1d9620fe5869211 and /dev/null differ diff --git a/test/de_fuzz/corpus/48b5fba3207818cdd8581d57757ec059f31cdef2 b/test/de_fuzz/corpus/48b5fba3207818cdd8581d57757ec059f31cdef2 deleted file mode 100644 index 27743f9e4..000000000 Binary files a/test/de_fuzz/corpus/48b5fba3207818cdd8581d57757ec059f31cdef2 and /dev/null differ diff --git a/test/de_fuzz/corpus/48c1fc0282a9e5c5a48bf34b04e32d55992cdbab b/test/de_fuzz/corpus/48c1fc0282a9e5c5a48bf34b04e32d55992cdbab deleted file mode 100644 index 2e22273eb..000000000 Binary files a/test/de_fuzz/corpus/48c1fc0282a9e5c5a48bf34b04e32d55992cdbab and /dev/null differ diff --git a/test/de_fuzz/corpus/48d33b45a0a54bd3eee5782e0c1ef416ddb184bd b/test/de_fuzz/corpus/48d33b45a0a54bd3eee5782e0c1ef416ddb184bd deleted file mode 100644 index fd131ecb7..000000000 Binary files a/test/de_fuzz/corpus/48d33b45a0a54bd3eee5782e0c1ef416ddb184bd and /dev/null differ diff --git a/test/de_fuzz/corpus/48d867b17e6b809df18bd0d552f6184fe8c85f36 b/test/de_fuzz/corpus/48d867b17e6b809df18bd0d552f6184fe8c85f36 deleted file mode 100644 index 1150b04cd..000000000 Binary files a/test/de_fuzz/corpus/48d867b17e6b809df18bd0d552f6184fe8c85f36 and /dev/null differ diff --git a/test/de_fuzz/corpus/48e0667474d536ae69c8edbb860421e0bd877edd b/test/de_fuzz/corpus/48e0667474d536ae69c8edbb860421e0bd877edd deleted file mode 100644 index 141d96305..000000000 Binary files a/test/de_fuzz/corpus/48e0667474d536ae69c8edbb860421e0bd877edd and /dev/null differ diff --git a/test/de_fuzz/corpus/490ce3858c23984c18e9c046d14812466dd53fd1 b/test/de_fuzz/corpus/490ce3858c23984c18e9c046d14812466dd53fd1 deleted file mode 100644 index 22a6f3c71..000000000 --- a/test/de_fuzz/corpus/490ce3858c23984c18e9c046d14812466dd53fd1 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something\Qhat could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional'route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] ! # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/495b99b5830d68aa9d69e322eea719cfed832ec7 b/test/de_fuzz/corpus/495b99b5830d68aa9d69e322eea719cfed832ec7 deleted file mode 100644 index 12132d92d..000000000 Binary files a/test/de_fuzz/corpus/495b99b5830d68aa9d69e322eea719cfed832ec7 and /dev/null differ diff --git a/test/de_fuzz/corpus/496faa5e071104f6bcad88a2e746cefb7be315a6 b/test/de_fuzz/corpus/496faa5e071104f6bcad88a2e746cefb7be315a6 deleted file mode 100644 index 9c9fbd432..000000000 Binary files a/test/de_fuzz/corpus/496faa5e071104f6bcad88a2e746cefb7be315a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/499aaec0ef6af3f540ffd14e50e87bca0f73a389 b/test/de_fuzz/corpus/499aaec0ef6af3f540ffd14e50e87bca0f73a389 deleted file mode 100644 index 469108fba..000000000 Binary files a/test/de_fuzz/corpus/499aaec0ef6af3f540ffd14e50e87bca0f73a389 and /dev/null differ diff --git a/test/de_fuzz/corpus/499ddc3e7343b1d03ef92cb0094ee577d32164ff b/test/de_fuzz/corpus/499ddc3e7343b1d03ef92cb0094ee577d32164ff deleted file mode 100644 index 914940c7b..000000000 Binary files a/test/de_fuzz/corpus/499ddc3e7343b1d03ef92cb0094ee577d32164ff and /dev/null differ diff --git a/test/de_fuzz/corpus/49a14730811deb4e76c13a6a95f39b018f761eb2 b/test/de_fuzz/corpus/49a14730811deb4e76c13a6a95f39b018f761eb2 deleted file mode 100644 index 8514b0954..000000000 Binary files a/test/de_fuzz/corpus/49a14730811deb4e76c13a6a95f39b018f761eb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/49b29b71e67aa0d9cc9493e33e707bd3fa4e807c b/test/de_fuzz/corpus/49b29b71e67aa0d9cc9493e33e707bd3fa4e807c deleted file mode 100644 index f4bac2671..000000000 Binary files a/test/de_fuzz/corpus/49b29b71e67aa0d9cc9493e33e707bd3fa4e807c and /dev/null differ diff --git a/test/de_fuzz/corpus/49b39aa9dcbb01dc701dcb12a26c316723b98c75 b/test/de_fuzz/corpus/49b39aa9dcbb01dc701dcb12a26c316723b98c75 deleted file mode 100644 index 0b1cdd44d..000000000 Binary files a/test/de_fuzz/corpus/49b39aa9dcbb01dc701dcb12a26c316723b98c75 and /dev/null differ diff --git a/test/de_fuzz/corpus/49d4247f87c530397ea52a3b4ab882fa2d48216b b/test/de_fuzz/corpus/49d4247f87c530397ea52a3b4ab882fa2d48216b deleted file mode 100644 index 92fb22ab4..000000000 Binary files a/test/de_fuzz/corpus/49d4247f87c530397ea52a3b4ab882fa2d48216b and /dev/null differ diff --git a/test/de_fuzz/corpus/4a200c16161e28bedf8c22221f84bf1c39eb1e6d b/test/de_fuzz/corpus/4a200c16161e28bedf8c22221f84bf1c39eb1e6d deleted file mode 100644 index 4f9314a57..000000000 Binary files a/test/de_fuzz/corpus/4a200c16161e28bedf8c22221f84bf1c39eb1e6d and /dev/null differ diff --git a/test/de_fuzz/corpus/4a284cbfca79d43360bb88b05d36f7867a211bd1 b/test/de_fuzz/corpus/4a284cbfca79d43360bb88b05d36f7867a211bd1 deleted file mode 100644 index 2f4d49c0c..000000000 Binary files a/test/de_fuzz/corpus/4a284cbfca79d43360bb88b05d36f7867a211bd1 and /dev/null differ diff --git a/test/de_fuzz/corpus/4a4959efdf0836c71d6ddcd1a8c0a4d0642038bd b/test/de_fuzz/corpus/4a4959efdf0836c71d6ddcd1a8c0a4d0642038bd deleted file mode 100644 index 304558264..000000000 Binary files a/test/de_fuzz/corpus/4a4959efdf0836c71d6ddcd1a8c0a4d0642038bd and /dev/null differ diff --git a/test/de_fuzz/corpus/4a50e53173b497f1d8922a24655ec5b7cdd2265d b/test/de_fuzz/corpus/4a50e53173b497f1d8922a24655ec5b7cdd2265d deleted file mode 100644 index 68a2ccb50..000000000 Binary files a/test/de_fuzz/corpus/4a50e53173b497f1d8922a24655ec5b7cdd2265d and /dev/null differ diff --git a/test/de_fuzz/corpus/4a8a1648a551abb7ebcdcac3edd4a6e2fbcfacc4 b/test/de_fuzz/corpus/4a8a1648a551abb7ebcdcac3edd4a6e2fbcfacc4 deleted file mode 100644 index a5977d9af..000000000 --- a/test/de_fuzz/corpus/4a8a1648a551abb7ebcdcac3edd4a6e2fbcfacc4 +++ /dev/null @@ -1,105 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,[[.NUL.]]]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/4aefbfddfae2f93bacb762935a9412ad1c3eb233 b/test/de_fuzz/corpus/4aefbfddfae2f93bacb762935a9412ad1c3eb233 deleted file mode 100644 index abbe75019..000000000 Binary files a/test/de_fuzz/corpus/4aefbfddfae2f93bacb762935a9412ad1c3eb233 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b27455bffc0dee4bbdd44dc44be9580df8a55a4 b/test/de_fuzz/corpus/4b27455bffc0dee4bbdd44dc44be9580df8a55a4 deleted file mode 100644 index d9f25a173..000000000 Binary files a/test/de_fuzz/corpus/4b27455bffc0dee4bbdd44dc44be9580df8a55a4 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b5e937c9f364401535944fcb44156082d2cf337 b/test/de_fuzz/corpus/4b5e937c9f364401535944fcb44156082d2cf337 deleted file mode 100644 index 135b733d5..000000000 Binary files a/test/de_fuzz/corpus/4b5e937c9f364401535944fcb44156082d2cf337 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b6c865558d9c7fd9c97a99885c45e082c17ad17 b/test/de_fuzz/corpus/4b6c865558d9c7fd9c97a99885c45e082c17ad17 deleted file mode 100644 index 2f6486ea0..000000000 Binary files a/test/de_fuzz/corpus/4b6c865558d9c7fd9c97a99885c45e082c17ad17 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b6ccc4e378fca7f5ef53ff5ced6a820283971b6 b/test/de_fuzz/corpus/4b6ccc4e378fca7f5ef53ff5ced6a820283971b6 deleted file mode 100644 index 92a97c68d..000000000 Binary files a/test/de_fuzz/corpus/4b6ccc4e378fca7f5ef53ff5ced6a820283971b6 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b81524f7cab697a2d21bb74118c6ef556446480 b/test/de_fuzz/corpus/4b81524f7cab697a2d21bb74118c6ef556446480 deleted file mode 100644 index 141d9b4bf..000000000 Binary files a/test/de_fuzz/corpus/4b81524f7cab697a2d21bb74118c6ef556446480 and /dev/null differ diff --git a/test/de_fuzz/corpus/4b90067d416da49cb3276f6fbcdbe5d336d69f11 b/test/de_fuzz/corpus/4b90067d416da49cb3276f6fbcdbe5d336d69f11 deleted file mode 100644 index 335989bdf..000000000 Binary files a/test/de_fuzz/corpus/4b90067d416da49cb3276f6fbcdbe5d336d69f11 and /dev/null differ diff --git a/test/de_fuzz/corpus/4ba4a9c2d4434148c3239a5b84dea262e211b143 b/test/de_fuzz/corpus/4ba4a9c2d4434148c3239a5b84dea262e211b143 deleted file mode 100644 index 25bb92123..000000000 Binary files a/test/de_fuzz/corpus/4ba4a9c2d4434148c3239a5b84dea262e211b143 and /dev/null differ diff --git a/test/de_fuzz/corpus/4bba70ff0935880d8f05489c0582f9fcdf29dd6a b/test/de_fuzz/corpus/4bba70ff0935880d8f05489c0582f9fcdf29dd6a deleted file mode 100644 index 78c09021a..000000000 Binary files a/test/de_fuzz/corpus/4bba70ff0935880d8f05489c0582f9fcdf29dd6a and /dev/null differ diff --git a/test/de_fuzz/corpus/4bbc8b068a8c78379e09c6cb90c9d296b04d1232 b/test/de_fuzz/corpus/4bbc8b068a8c78379e09c6cb90c9d296b04d1232 deleted file mode 100644 index 574c713e8..000000000 Binary files a/test/de_fuzz/corpus/4bbc8b068a8c78379e09c6cb90c9d296b04d1232 and /dev/null differ diff --git a/test/de_fuzz/corpus/4bdd8c7fc715940d9a6a4d2216b68ea6ce2d29b5 b/test/de_fuzz/corpus/4bdd8c7fc715940d9a6a4d2216b68ea6ce2d29b5 deleted file mode 100644 index 5ad38ca52..000000000 Binary files a/test/de_fuzz/corpus/4bdd8c7fc715940d9a6a4d2216b68ea6ce2d29b5 and /dev/null differ diff --git a/test/de_fuzz/corpus/4bf35e958ea148060b1e28ffaba8fd58144ec13d b/test/de_fuzz/corpus/4bf35e958ea148060b1e28ffaba8fd58144ec13d deleted file mode 100644 index ee58720f8..000000000 Binary files a/test/de_fuzz/corpus/4bf35e958ea148060b1e28ffaba8fd58144ec13d and /dev/null differ diff --git a/test/de_fuzz/corpus/4c07bce306be9c6a00c3a1c6a48a066c03cbbcb8 b/test/de_fuzz/corpus/4c07bce306be9c6a00c3a1c6a48a066c03cbbcb8 deleted file mode 100644 index 8f0c36145..000000000 Binary files a/test/de_fuzz/corpus/4c07bce306be9c6a00c3a1c6a48a066c03cbbcb8 and /dev/null differ diff --git a/test/de_fuzz/corpus/4c15781e5e573886c4a02f13f7b348e2f50ef2a4 b/test/de_fuzz/corpus/4c15781e5e573886c4a02f13f7b348e2f50ef2a4 deleted file mode 100644 index ef3d245c7..000000000 --- a/test/de_fuzz/corpus/4c15781e5e573886c4a02f13f7b348e2f50ef2a4 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x-80\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quKte... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/4c3837515d900a8ed92b9a69b04c3f4b8eabdf49 b/test/de_fuzz/corpus/4c3837515d900a8ed92b9a69b04c3f4b8eabdf49 deleted file mode 100644 index f562809c5..000000000 Binary files a/test/de_fuzz/corpus/4c3837515d900a8ed92b9a69b04c3f4b8eabdf49 and /dev/null differ diff --git a/test/de_fuzz/corpus/4c3e6bbf27639a2189d08872442733726a82ef18 b/test/de_fuzz/corpus/4c3e6bbf27639a2189d08872442733726a82ef18 deleted file mode 100644 index 453cc4c8f..000000000 Binary files a/test/de_fuzz/corpus/4c3e6bbf27639a2189d08872442733726a82ef18 and /dev/null differ diff --git a/test/de_fuzz/corpus/4c4843d4b2878dfc444e81511c8a07db7e3d67e1 b/test/de_fuzz/corpus/4c4843d4b2878dfc444e81511c8a07db7e3d67e1 deleted file mode 100644 index 48abe9611..000000000 Binary files a/test/de_fuzz/corpus/4c4843d4b2878dfc444e81511c8a07db7e3d67e1 and /dev/null differ diff --git a/test/de_fuzz/corpus/4c64b59cd992fc6fb30951b88b5ccaabe029eeea b/test/de_fuzz/corpus/4c64b59cd992fc6fb30951b88b5ccaabe029eeea deleted file mode 100644 index 2d41d955d..000000000 Binary files a/test/de_fuzz/corpus/4c64b59cd992fc6fb30951b88b5ccaabe029eeea and /dev/null differ diff --git a/test/de_fuzz/corpus/4ca38c1d1d6215fdd7444442a074ef965c8eb938 b/test/de_fuzz/corpus/4ca38c1d1d6215fdd7444442a074ef965c8eb938 deleted file mode 100644 index 8d3e662c1..000000000 Binary files a/test/de_fuzz/corpus/4ca38c1d1d6215fdd7444442a074ef965c8eb938 and /dev/null differ diff --git a/test/de_fuzz/corpus/4cbfef63f80d7d2e48fada8084004158c09fc20c b/test/de_fuzz/corpus/4cbfef63f80d7d2e48fada8084004158c09fc20c deleted file mode 100644 index d0b4aab49..000000000 Binary files a/test/de_fuzz/corpus/4cbfef63f80d7d2e48fada8084004158c09fc20c and /dev/null differ diff --git a/test/de_fuzz/corpus/4cf4d09f7ba77473cbb879922099c0522bd5a2ca b/test/de_fuzz/corpus/4cf4d09f7ba77473cbb879922099c0522bd5a2ca deleted file mode 100644 index c01e3487c..000000000 Binary files a/test/de_fuzz/corpus/4cf4d09f7ba77473cbb879922099c0522bd5a2ca and /dev/null differ diff --git a/test/de_fuzz/corpus/4d3085ea5b7776070fe46911b1e25e29a8217b16 b/test/de_fuzz/corpus/4d3085ea5b7776070fe46911b1e25e29a8217b16 deleted file mode 100644 index e127c0db4..000000000 Binary files a/test/de_fuzz/corpus/4d3085ea5b7776070fe46911b1e25e29a8217b16 and /dev/null differ diff --git a/test/de_fuzz/corpus/4d3daaa2d95490c04de3fcf52189389300066fa7 b/test/de_fuzz/corpus/4d3daaa2d95490c04de3fcf52189389300066fa7 deleted file mode 100644 index f87db9760..000000000 Binary files a/test/de_fuzz/corpus/4d3daaa2d95490c04de3fcf52189389300066fa7 and /dev/null differ diff --git a/test/de_fuzz/corpus/4d5708826a418c4c60a72fb71d850b6a7540c589 b/test/de_fuzz/corpus/4d5708826a418c4c60a72fb71d850b6a7540c589 deleted file mode 100644 index 70f24eaa1..000000000 Binary files a/test/de_fuzz/corpus/4d5708826a418c4c60a72fb71d850b6a7540c589 and /dev/null differ diff --git a/test/de_fuzz/corpus/4d60a4099782c383637f38811b630fb45d25f08e b/test/de_fuzz/corpus/4d60a4099782c383637f38811b630fb45d25f08e deleted file mode 100644 index 71f5da201..000000000 Binary files a/test/de_fuzz/corpus/4d60a4099782c383637f38811b630fb45d25f08e and /dev/null differ diff --git a/test/de_fuzz/corpus/4d73a434fcb5d942fbbf46977352029c5252f970 b/test/de_fuzz/corpus/4d73a434fcb5d942fbbf46977352029c5252f970 deleted file mode 100644 index c165977f9..000000000 Binary files a/test/de_fuzz/corpus/4d73a434fcb5d942fbbf46977352029c5252f970 and /dev/null differ diff --git a/test/de_fuzz/corpus/4d76216c957eff61a17c0d0ea0cd56394b4893e3 b/test/de_fuzz/corpus/4d76216c957eff61a17c0d0ea0cd56394b4893e3 deleted file mode 100644 index 6e44a031d..000000000 Binary files a/test/de_fuzz/corpus/4d76216c957eff61a17c0d0ea0cd56394b4893e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/4d779f97f6e4de55dac696136edce3d98377265d b/test/de_fuzz/corpus/4d779f97f6e4de55dac696136edce3d98377265d deleted file mode 100644 index ac08707ce..000000000 Binary files a/test/de_fuzz/corpus/4d779f97f6e4de55dac696136edce3d98377265d and /dev/null differ diff --git a/test/de_fuzz/corpus/4da550bdb2900e5798b0edccc3486085b77c3237 b/test/de_fuzz/corpus/4da550bdb2900e5798b0edccc3486085b77c3237 deleted file mode 100644 index bd2b3054c..000000000 Binary files a/test/de_fuzz/corpus/4da550bdb2900e5798b0edccc3486085b77c3237 and /dev/null differ diff --git a/test/de_fuzz/corpus/4db46c5e2d47696e681fb685ce344345c4e5a918 b/test/de_fuzz/corpus/4db46c5e2d47696e681fb685ce344345c4e5a918 deleted file mode 100644 index d5c87f759..000000000 Binary files a/test/de_fuzz/corpus/4db46c5e2d47696e681fb685ce344345c4e5a918 and /dev/null differ diff --git a/test/de_fuzz/corpus/4db8ecb28fd10624cb2024ec5c80fe801f15be82 b/test/de_fuzz/corpus/4db8ecb28fd10624cb2024ec5c80fe801f15be82 deleted file mode 100644 index 8127cf3c6..000000000 Binary files a/test/de_fuzz/corpus/4db8ecb28fd10624cb2024ec5c80fe801f15be82 and /dev/null differ diff --git a/test/de_fuzz/corpus/4dc8745bac021e358a9f5475289fd7bcf1c1ef97 b/test/de_fuzz/corpus/4dc8745bac021e358a9f5475289fd7bcf1c1ef97 deleted file mode 100644 index ffae2fb68..000000000 Binary files a/test/de_fuzz/corpus/4dc8745bac021e358a9f5475289fd7bcf1c1ef97 and /dev/null differ diff --git a/test/de_fuzz/corpus/4df5419a03ef0b4738a6a7774d8968af1c86496d b/test/de_fuzz/corpus/4df5419a03ef0b4738a6a7774d8968af1c86496d deleted file mode 100644 index de94baa87..000000000 Binary files a/test/de_fuzz/corpus/4df5419a03ef0b4738a6a7774d8968af1c86496d and /dev/null differ diff --git a/test/de_fuzz/corpus/4e07c3372265ecf54bece8e01ab1bcaa42ee6820 b/test/de_fuzz/corpus/4e07c3372265ecf54bece8e01ab1bcaa42ee6820 deleted file mode 100644 index e8999f63e..000000000 Binary files a/test/de_fuzz/corpus/4e07c3372265ecf54bece8e01ab1bcaa42ee6820 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e4a273ee5ef1e5e9c328124b9e643ffe0e19694 b/test/de_fuzz/corpus/4e4a273ee5ef1e5e9c328124b9e643ffe0e19694 deleted file mode 100644 index 78dc17c13..000000000 Binary files a/test/de_fuzz/corpus/4e4a273ee5ef1e5e9c328124b9e643ffe0e19694 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e4eac5ea923a7df4651c80fbc30b684f44dbce7 b/test/de_fuzz/corpus/4e4eac5ea923a7df4651c80fbc30b684f44dbce7 deleted file mode 100644 index c2d40173d..000000000 Binary files a/test/de_fuzz/corpus/4e4eac5ea923a7df4651c80fbc30b684f44dbce7 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e53e9d440043d93a85db56e0c69d70c64da9eab b/test/de_fuzz/corpus/4e53e9d440043d93a85db56e0c69d70c64da9eab deleted file mode 100644 index 766f1d04c..000000000 Binary files a/test/de_fuzz/corpus/4e53e9d440043d93a85db56e0c69d70c64da9eab and /dev/null differ diff --git a/test/de_fuzz/corpus/4e568d97f0d11ac1289f1449a86033e31ee27e56 b/test/de_fuzz/corpus/4e568d97f0d11ac1289f1449a86033e31ee27e56 deleted file mode 100644 index 4c6434c41..000000000 Binary files a/test/de_fuzz/corpus/4e568d97f0d11ac1289f1449a86033e31ee27e56 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e610c30f11191156dacc9c143f457686365c468 b/test/de_fuzz/corpus/4e610c30f11191156dacc9c143f457686365c468 deleted file mode 100644 index 778553bdc..000000000 Binary files a/test/de_fuzz/corpus/4e610c30f11191156dacc9c143f457686365c468 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e749f064bcdb52f31b7994cacb0ddfd742850c8 b/test/de_fuzz/corpus/4e749f064bcdb52f31b7994cacb0ddfd742850c8 deleted file mode 100644 index 317bb5c19..000000000 Binary files a/test/de_fuzz/corpus/4e749f064bcdb52f31b7994cacb0ddfd742850c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/4e942e5b6db525e1e2eebeab9300a0565aea2fb2 b/test/de_fuzz/corpus/4e942e5b6db525e1e2eebeab9300a0565aea2fb2 deleted file mode 100644 index 7e771ee18..000000000 Binary files a/test/de_fuzz/corpus/4e942e5b6db525e1e2eebeab9300a0565aea2fb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/4ebd0c58ef52c6dbca20400d6e61bd31c1a95242 b/test/de_fuzz/corpus/4ebd0c58ef52c6dbca20400d6e61bd31c1a95242 deleted file mode 100644 index 0476138dd..000000000 Binary files a/test/de_fuzz/corpus/4ebd0c58ef52c6dbca20400d6e61bd31c1a95242 and /dev/null differ diff --git a/test/de_fuzz/corpus/4eca0c0033c40699309048c7de278ad4f7527c35 b/test/de_fuzz/corpus/4eca0c0033c40699309048c7de278ad4f7527c35 deleted file mode 100644 index b6471b18e..000000000 --- a/test/de_fuzz/corpus/4eca0c0033c40699309048c7de278ad4f7527c35 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y((((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((?(DEFINE)(((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((:(((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((('a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((('a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/4ed034ae0dfee66bdfb79d65a3591f76958be9b6 b/test/de_fuzz/corpus/4ed034ae0dfee66bdfb79d65a3591f76958be9b6 deleted file mode 100644 index 1041c909b..000000000 Binary files a/test/de_fuzz/corpus/4ed034ae0dfee66bdfb79d65a3591f76958be9b6 and /dev/null differ diff --git a/test/de_fuzz/corpus/4eec96bfb8ef3ae17f85c0bb307c72243b963abe b/test/de_fuzz/corpus/4eec96bfb8ef3ae17f85c0bb307c72243b963abe deleted file mode 100644 index 9cb747563..000000000 Binary files a/test/de_fuzz/corpus/4eec96bfb8ef3ae17f85c0bb307c72243b963abe and /dev/null differ diff --git a/test/de_fuzz/corpus/4f2f2bbd12b6f9cd3e838337c71fa1478e5be08b b/test/de_fuzz/corpus/4f2f2bbd12b6f9cd3e838337c71fa1478e5be08b deleted file mode 100644 index ce4cf5b5f..000000000 Binary files a/test/de_fuzz/corpus/4f2f2bbd12b6f9cd3e838337c71fa1478e5be08b and /dev/null differ diff --git a/test/de_fuzz/corpus/4f5a1ed5038489f8343fe70febd2ab059d98a9a1 b/test/de_fuzz/corpus/4f5a1ed5038489f8343fe70febd2ab059d98a9a1 deleted file mode 100644 index 2cf119485..000000000 Binary files a/test/de_fuzz/corpus/4f5a1ed5038489f8343fe70febd2ab059d98a9a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/4f60aad000a14c2b2b2d4b43251f5899aee17dae b/test/de_fuzz/corpus/4f60aad000a14c2b2b2d4b43251f5899aee17dae deleted file mode 100644 index 7b8f5bb6d..000000000 Binary files a/test/de_fuzz/corpus/4f60aad000a14c2b2b2d4b43251f5899aee17dae and /dev/null differ diff --git a/test/de_fuzz/corpus/4f8a778bec576db5cb67e2d993d638748ce1944a b/test/de_fuzz/corpus/4f8a778bec576db5cb67e2d993d638748ce1944a deleted file mode 100644 index bc3f6c2e5..000000000 Binary files a/test/de_fuzz/corpus/4f8a778bec576db5cb67e2d993d638748ce1944a and /dev/null differ diff --git a/test/de_fuzz/corpus/4fafc88be3b0a25137f6d8626b2c083bdae53b35 b/test/de_fuzz/corpus/4fafc88be3b0a25137f6d8626b2c083bdae53b35 deleted file mode 100644 index aea3aba68..000000000 Binary files a/test/de_fuzz/corpus/4fafc88be3b0a25137f6d8626b2c083bdae53b35 and /dev/null differ diff --git a/test/de_fuzz/corpus/4fbb18b3925aa4d1d8d551f0e00adfe5f0e70f16 b/test/de_fuzz/corpus/4fbb18b3925aa4d1d8d551f0e00adfe5f0e70f16 deleted file mode 100644 index 24b2bfaa9..000000000 Binary files a/test/de_fuzz/corpus/4fbb18b3925aa4d1d8d551f0e00adfe5f0e70f16 and /dev/null differ diff --git a/test/de_fuzz/corpus/4fe92f796e5224738870f10c86c073ddfd19f689 b/test/de_fuzz/corpus/4fe92f796e5224738870f10c86c073ddfd19f689 deleted file mode 100644 index f274c3331..000000000 Binary files a/test/de_fuzz/corpus/4fe92f796e5224738870f10c86c073ddfd19f689 and /dev/null differ diff --git a/test/de_fuzz/corpus/5029bd79b308bd9184f9d4ba2a72a54abd78b829 b/test/de_fuzz/corpus/5029bd79b308bd9184f9d4ba2a72a54abd78b829 deleted file mode 100644 index 740f41be6..000000000 Binary files a/test/de_fuzz/corpus/5029bd79b308bd9184f9d4ba2a72a54abd78b829 and /dev/null differ diff --git a/test/de_fuzz/corpus/50b4acf8b24bad27e3f06455c075a182db0b6c6d b/test/de_fuzz/corpus/50b4acf8b24bad27e3f06455c075a182db0b6c6d deleted file mode 100644 index 0bbdcb67d..000000000 Binary files a/test/de_fuzz/corpus/50b4acf8b24bad27e3f06455c075a182db0b6c6d and /dev/null differ diff --git a/test/de_fuzz/corpus/50c0a2bd85e9c4b6eda34b4fed669468e3a5c918 b/test/de_fuzz/corpus/50c0a2bd85e9c4b6eda34b4fed669468e3a5c918 deleted file mode 100644 index 662f95492..000000000 Binary files a/test/de_fuzz/corpus/50c0a2bd85e9c4b6eda34b4fed669468e3a5c918 and /dev/null differ diff --git a/test/de_fuzz/corpus/50ce6dd4e00747c2b2004b6578739b7c76d8d1d3 b/test/de_fuzz/corpus/50ce6dd4e00747c2b2004b6578739b7c76d8d1d3 deleted file mode 100644 index 03763f2d7..000000000 Binary files a/test/de_fuzz/corpus/50ce6dd4e00747c2b2004b6578739b7c76d8d1d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/50e1d296690aafa415d9347940dfed151104e614 b/test/de_fuzz/corpus/50e1d296690aafa415d9347940dfed151104e614 deleted file mode 100644 index 9b297d04e..000000000 Binary files a/test/de_fuzz/corpus/50e1d296690aafa415d9347940dfed151104e614 and /dev/null differ diff --git a/test/de_fuzz/corpus/50fb2f1bda260fefb5fbfb087083d00bf16f04a7 b/test/de_fuzz/corpus/50fb2f1bda260fefb5fbfb087083d00bf16f04a7 deleted file mode 100644 index 969d3b562..000000000 Binary files a/test/de_fuzz/corpus/50fb2f1bda260fefb5fbfb087083d00bf16f04a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/50fdf4f93ec6352a67a61661a1a7721ce8512e12 b/test/de_fuzz/corpus/50fdf4f93ec6352a67a61661a1a7721ce8512e12 deleted file mode 100644 index 9c5a98aa5..000000000 Binary files a/test/de_fuzz/corpus/50fdf4f93ec6352a67a61661a1a7721ce8512e12 and /dev/null differ diff --git a/test/de_fuzz/corpus/510108f4b0c4e652407e5afd337da5bcb4eb7dfb b/test/de_fuzz/corpus/510108f4b0c4e652407e5afd337da5bcb4eb7dfb deleted file mode 100644 index c2fed6453..000000000 Binary files a/test/de_fuzz/corpus/510108f4b0c4e652407e5afd337da5bcb4eb7dfb and /dev/null differ diff --git a/test/de_fuzz/corpus/5105be76ee07c4ac286b047ff86efffe691f597a b/test/de_fuzz/corpus/5105be76ee07c4ac286b047ff86efffe691f597a deleted file mode 100644 index 929c39a36..000000000 Binary files a/test/de_fuzz/corpus/5105be76ee07c4ac286b047ff86efffe691f597a and /dev/null differ diff --git a/test/de_fuzz/corpus/510a04584dacf067b37f1465f61765c8c4f5c3f8 b/test/de_fuzz/corpus/510a04584dacf067b37f1465f61765c8c4f5c3f8 deleted file mode 100644 index a28891f86..000000000 Binary files a/test/de_fuzz/corpus/510a04584dacf067b37f1465f61765c8c4f5c3f8 and /dev/null differ diff --git a/test/de_fuzz/corpus/5114c61da2d4192659867bbd57c24b4c7d7e790a b/test/de_fuzz/corpus/5114c61da2d4192659867bbd57c24b4c7d7e790a deleted file mode 100644 index 0ede4624f..000000000 Binary files a/test/de_fuzz/corpus/5114c61da2d4192659867bbd57c24b4c7d7e790a and /dev/null differ diff --git a/test/de_fuzz/corpus/5119ad0cdc5269a1ec186bf6859b64538331a415 b/test/de_fuzz/corpus/5119ad0cdc5269a1ec186bf6859b64538331a415 deleted file mode 100644 index 8dd72dcbb..000000000 --- a/test/de_fuzz/corpus/5119ad0cdc5269a1ec186bf6859b64538331a415 +++ /dev/null @@ -1,2 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ - \ No newline at end of file diff --git a/test/de_fuzz/corpus/513e4fd04606fb87a937be531fb068fad76e59ab b/test/de_fuzz/corpus/513e4fd04606fb87a937be531fb068fad76e59ab deleted file mode 100644 index 8411ae070..000000000 Binary files a/test/de_fuzz/corpus/513e4fd04606fb87a937be531fb068fad76e59ab and /dev/null differ diff --git a/test/de_fuzz/corpus/5144764b2609997c07767bf42e1ff41cdd9fd791 b/test/de_fuzz/corpus/5144764b2609997c07767bf42e1ff41cdd9fd791 deleted file mode 100644 index 6e789b749..000000000 Binary files a/test/de_fuzz/corpus/5144764b2609997c07767bf42e1ff41cdd9fd791 and /dev/null differ diff --git a/test/de_fuzz/corpus/5149fc74c1b871e372bb50ef9410a73f053459b9 b/test/de_fuzz/corpus/5149fc74c1b871e372bb50ef9410a73f053459b9 deleted file mode 100644 index 8ac0e9001..000000000 Binary files a/test/de_fuzz/corpus/5149fc74c1b871e372bb50ef9410a73f053459b9 and /dev/null differ diff --git a/test/de_fuzz/corpus/51a8264d59b38368dea844b8e84b3e925695a551 b/test/de_fuzz/corpus/51a8264d59b38368dea844b8e84b3e925695a551 deleted file mode 100644 index b2defb0e9..000000000 Binary files a/test/de_fuzz/corpus/51a8264d59b38368dea844b8e84b3e925695a551 and /dev/null differ diff --git a/test/de_fuzz/corpus/51c43d7ca883200f5c03de198d8e4d0b661fdd9d b/test/de_fuzz/corpus/51c43d7ca883200f5c03de198d8e4d0b661fdd9d deleted file mode 100644 index 83cca9e9b..000000000 Binary files a/test/de_fuzz/corpus/51c43d7ca883200f5c03de198d8e4d0b661fdd9d and /dev/null differ diff --git a/test/de_fuzz/corpus/51c9b83b166827e49bf4fd6f8035b08b4da524b7 b/test/de_fuzz/corpus/51c9b83b166827e49bf4fd6f8035b08b4da524b7 deleted file mode 100644 index 60409070b..000000000 Binary files a/test/de_fuzz/corpus/51c9b83b166827e49bf4fd6f8035b08b4da524b7 and /dev/null differ diff --git a/test/de_fuzz/corpus/51e6b9b80bbdb436e999cf5cb7b4232d04ad7f51 b/test/de_fuzz/corpus/51e6b9b80bbdb436e999cf5cb7b4232d04ad7f51 deleted file mode 100644 index 04bb7f400..000000000 Binary files a/test/de_fuzz/corpus/51e6b9b80bbdb436e999cf5cb7b4232d04ad7f51 and /dev/null differ diff --git a/test/de_fuzz/corpus/522c33896984191d1818ab08e6b33a1bc64b19cb b/test/de_fuzz/corpus/522c33896984191d1818ab08e6b33a1bc64b19cb deleted file mode 100644 index dbc934496..000000000 Binary files a/test/de_fuzz/corpus/522c33896984191d1818ab08e6b33a1bc64b19cb and /dev/null differ diff --git a/test/de_fuzz/corpus/5275279978b413b5ae68560bbfd98047412953c6 b/test/de_fuzz/corpus/5275279978b413b5ae68560bbfd98047412953c6 deleted file mode 100644 index 77f1aeefd..000000000 Binary files a/test/de_fuzz/corpus/5275279978b413b5ae68560bbfd98047412953c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/52791612d5528269899e00b8c9d80eeba8277eec b/test/de_fuzz/corpus/52791612d5528269899e00b8c9d80eeba8277eec deleted file mode 100644 index 07de2bb27..000000000 Binary files a/test/de_fuzz/corpus/52791612d5528269899e00b8c9d80eeba8277eec and /dev/null differ diff --git a/test/de_fuzz/corpus/5290ebc1ce72fc327b27932c87ad1eb43abc401b b/test/de_fuzz/corpus/5290ebc1ce72fc327b27932c87ad1eb43abc401b deleted file mode 100644 index b274e045e..000000000 Binary files a/test/de_fuzz/corpus/5290ebc1ce72fc327b27932c87ad1eb43abc401b and /dev/null differ diff --git a/test/de_fuzz/corpus/52b97378649b4e434d4cf1c749d48bd3709a436d b/test/de_fuzz/corpus/52b97378649b4e434d4cf1c749d48bd3709a436d deleted file mode 100644 index 692c33aab..000000000 Binary files a/test/de_fuzz/corpus/52b97378649b4e434d4cf1c749d48bd3709a436d and /dev/null differ diff --git a/test/de_fuzz/corpus/52fb03b1e39c7cca71354d0ae1a99bf1a08b66e0 b/test/de_fuzz/corpus/52fb03b1e39c7cca71354d0ae1a99bf1a08b66e0 deleted file mode 100644 index 057c64996..000000000 Binary files a/test/de_fuzz/corpus/52fb03b1e39c7cca71354d0ae1a99bf1a08b66e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/53509167b48d5e6dda9b466c40dbe89589c6fff0 b/test/de_fuzz/corpus/53509167b48d5e6dda9b466c40dbe89589c6fff0 deleted file mode 100644 index 7ca395639..000000000 Binary files a/test/de_fuzz/corpus/53509167b48d5e6dda9b466c40dbe89589c6fff0 and /dev/null differ diff --git a/test/de_fuzz/corpus/536e203dabfaf83faf13d24feb2a9c8b318afaed b/test/de_fuzz/corpus/536e203dabfaf83faf13d24feb2a9c8b318afaed deleted file mode 100644 index f0acb51a8..000000000 Binary files a/test/de_fuzz/corpus/536e203dabfaf83faf13d24feb2a9c8b318afaed and /dev/null differ diff --git a/test/de_fuzz/corpus/5397275b10c5aa9cd23d0d99f75978ba7be24f98 b/test/de_fuzz/corpus/5397275b10c5aa9cd23d0d99f75978ba7be24f98 deleted file mode 100644 index 2563d25c9..000000000 Binary files a/test/de_fuzz/corpus/5397275b10c5aa9cd23d0d99f75978ba7be24f98 and /dev/null differ diff --git a/test/de_fuzz/corpus/53a0b7972b964ba863fb3ce391ae5c4c346fc404 b/test/de_fuzz/corpus/53a0b7972b964ba863fb3ce391ae5c4c346fc404 deleted file mode 100644 index fa313880c..000000000 Binary files a/test/de_fuzz/corpus/53a0b7972b964ba863fb3ce391ae5c4c346fc404 and /dev/null differ diff --git a/test/de_fuzz/corpus/53a0f768aade124eb8cae2f1969ec5ea3c8b1612 b/test/de_fuzz/corpus/53a0f768aade124eb8cae2f1969ec5ea3c8b1612 deleted file mode 100644 index a3d6a2f3c..000000000 Binary files a/test/de_fuzz/corpus/53a0f768aade124eb8cae2f1969ec5ea3c8b1612 and /dev/null differ diff --git a/test/de_fuzz/corpus/53f33697da5f1555534445ad6587cc56d309f10f b/test/de_fuzz/corpus/53f33697da5f1555534445ad6587cc56d309f10f deleted file mode 100644 index c41150246..000000000 Binary files a/test/de_fuzz/corpus/53f33697da5f1555534445ad6587cc56d309f10f and /dev/null differ diff --git a/test/de_fuzz/corpus/542e4abcd003a90583e44b818652786834e486c8 b/test/de_fuzz/corpus/542e4abcd003a90583e44b818652786834e486c8 deleted file mode 100644 index cbff22aca..000000000 Binary files a/test/de_fuzz/corpus/542e4abcd003a90583e44b818652786834e486c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/54aa02ad34e12d88b1c841fd0dc1310fc7c2b418 b/test/de_fuzz/corpus/54aa02ad34e12d88b1c841fd0dc1310fc7c2b418 deleted file mode 100644 index e68eaf6f6..000000000 Binary files a/test/de_fuzz/corpus/54aa02ad34e12d88b1c841fd0dc1310fc7c2b418 and /dev/null differ diff --git a/test/de_fuzz/corpus/54dc119c94f76c391f13d0ee5f42025984c46b82 b/test/de_fuzz/corpus/54dc119c94f76c391f13d0ee5f42025984c46b82 deleted file mode 100644 index 81fd7d424..000000000 Binary files a/test/de_fuzz/corpus/54dc119c94f76c391f13d0ee5f42025984c46b82 and /dev/null differ diff --git a/test/de_fuzz/corpus/54e76cfc7944b192d54dc3617db25af6009b69bd b/test/de_fuzz/corpus/54e76cfc7944b192d54dc3617db25af6009b69bd deleted file mode 100644 index 1fe69d291..000000000 --- a/test/de_fuzz/corpus/54e76cfc7944b192d54dc3617db25af6009b69bd +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)++)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|!a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/54f21afd9856985428c9fd1f71ddefd99cc13632 b/test/de_fuzz/corpus/54f21afd9856985428c9fd1f71ddefd99cc13632 deleted file mode 100644 index bbae99104..000000000 Binary files a/test/de_fuzz/corpus/54f21afd9856985428c9fd1f71ddefd99cc13632 and /dev/null differ diff --git a/test/de_fuzz/corpus/54f47f36ff658e5990366bf383f1815d44590027 b/test/de_fuzz/corpus/54f47f36ff658e5990366bf383f1815d44590027 deleted file mode 100644 index 30d8c8067..000000000 Binary files a/test/de_fuzz/corpus/54f47f36ff658e5990366bf383f1815d44590027 and /dev/null differ diff --git a/test/de_fuzz/corpus/54fe79606193fb90794c4915f0c8f4e9e0c59ed3 b/test/de_fuzz/corpus/54fe79606193fb90794c4915f0c8f4e9e0c59ed3 deleted file mode 100644 index 17745088b..000000000 Binary files a/test/de_fuzz/corpus/54fe79606193fb90794c4915f0c8f4e9e0c59ed3 and /dev/null differ diff --git a/test/de_fuzz/corpus/550ba64d8a00a5c705be1e27fe92ebf2d40e6834 b/test/de_fuzz/corpus/550ba64d8a00a5c705be1e27fe92ebf2d40e6834 deleted file mode 100644 index 4b37ff9bf..000000000 Binary files a/test/de_fuzz/corpus/550ba64d8a00a5c705be1e27fe92ebf2d40e6834 and /dev/null differ diff --git a/test/de_fuzz/corpus/5525b17b16476958a805a4183b22957b1d9af642 b/test/de_fuzz/corpus/5525b17b16476958a805a4183b22957b1d9af642 deleted file mode 100644 index 90a546da2..000000000 Binary files a/test/de_fuzz/corpus/5525b17b16476958a805a4183b22957b1d9af642 and /dev/null differ diff --git a/test/de_fuzz/corpus/552d1fed48bf843cb2f8bea8e540040c5965e2cd b/test/de_fuzz/corpus/552d1fed48bf843cb2f8bea8e540040c5965e2cd deleted file mode 100644 index eafa7904e..000000000 Binary files a/test/de_fuzz/corpus/552d1fed48bf843cb2f8bea8e540040c5965e2cd and /dev/null differ diff --git a/test/de_fuzz/corpus/553b174f5e1767e0c0626ec26c5fc8f89a63b950 b/test/de_fuzz/corpus/553b174f5e1767e0c0626ec26c5fc8f89a63b950 deleted file mode 100644 index 803b09cc5..000000000 Binary files a/test/de_fuzz/corpus/553b174f5e1767e0c0626ec26c5fc8f89a63b950 and /dev/null differ diff --git a/test/de_fuzz/corpus/55458480cd74abaf7b24d76caa7230955f082e7a b/test/de_fuzz/corpus/55458480cd74abaf7b24d76caa7230955f082e7a deleted file mode 100644 index 23c5a0fc2..000000000 Binary files a/test/de_fuzz/corpus/55458480cd74abaf7b24d76caa7230955f082e7a and /dev/null differ diff --git a/test/de_fuzz/corpus/555b76b4e05ec98602f729d535043596ced5dc24 b/test/de_fuzz/corpus/555b76b4e05ec98602f729d535043596ced5dc24 deleted file mode 100644 index 2b712bbbf..000000000 Binary files a/test/de_fuzz/corpus/555b76b4e05ec98602f729d535043596ced5dc24 and /dev/null differ diff --git a/test/de_fuzz/corpus/55829f61b65b2acd08fef3a6703ffcb99df41a0c b/test/de_fuzz/corpus/55829f61b65b2acd08fef3a6703ffcb99df41a0c deleted file mode 100644 index 31bbefe08..000000000 --- a/test/de_fuzz/corpus/55829f61b65b2acd08fef3a6703ffcb99df41a0c +++ /dev/null @@ -1,184 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -"ept backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/55ca55fbb3328bfb4bc78482195daa6a2f868823 b/test/de_fuzz/corpus/55ca55fbb3328bfb4bc78482195daa6a2f868823 deleted file mode 100644 index 925b3dbd0..000000000 Binary files a/test/de_fuzz/corpus/55ca55fbb3328bfb4bc78482195daa6a2f868823 and /dev/null differ diff --git a/test/de_fuzz/corpus/55d7ba58f07f5d4c3f2da5e2d6a2ff282740c523 b/test/de_fuzz/corpus/55d7ba58f07f5d4c3f2da5e2d6a2ff282740c523 deleted file mode 100644 index e1586a7c9..000000000 Binary files a/test/de_fuzz/corpus/55d7ba58f07f5d4c3f2da5e2d6a2ff282740c523 and /dev/null differ diff --git a/test/de_fuzz/corpus/55f98a4b9a4d02c5ab4b46378b6f7f327e795e33 b/test/de_fuzz/corpus/55f98a4b9a4d02c5ab4b46378b6f7f327e795e33 deleted file mode 100644 index 6f31f15d0..000000000 Binary files a/test/de_fuzz/corpus/55f98a4b9a4d02c5ab4b46378b6f7f327e795e33 and /dev/null differ diff --git a/test/de_fuzz/corpus/560e7ffb46295a2c17d25b15ba76c4d9b5747b68 b/test/de_fuzz/corpus/560e7ffb46295a2c17d25b15ba76c4d9b5747b68 deleted file mode 100644 index f82d094d4..000000000 Binary files a/test/de_fuzz/corpus/560e7ffb46295a2c17d25b15ba76c4d9b5747b68 and /dev/null differ diff --git a/test/de_fuzz/corpus/56118adfd960ae816c24846abb70662b6e561491 b/test/de_fuzz/corpus/56118adfd960ae816c24846abb70662b6e561491 deleted file mode 100644 index 46ca58ec1..000000000 Binary files a/test/de_fuzz/corpus/56118adfd960ae816c24846abb70662b6e561491 and /dev/null differ diff --git a/test/de_fuzz/corpus/562b4b049f2742b83ef52766da847ae695753df5 b/test/de_fuzz/corpus/562b4b049f2742b83ef52766da847ae695753df5 deleted file mode 100644 index 715e01eef..000000000 Binary files a/test/de_fuzz/corpus/562b4b049f2742b83ef52766da847ae695753df5 and /dev/null differ diff --git a/test/de_fuzz/corpus/563d778847b9f9a2c09b67d246115350093b8b5a b/test/de_fuzz/corpus/563d778847b9f9a2c09b67d246115350093b8b5a deleted file mode 100644 index 2a05e89f6..000000000 Binary files a/test/de_fuzz/corpus/563d778847b9f9a2c09b67d246115350093b8b5a and /dev/null differ diff --git a/test/de_fuzz/corpus/567c8143f42a568bf2df66883883e1782d274c2e b/test/de_fuzz/corpus/567c8143f42a568bf2df66883883e1782d274c2e deleted file mode 100644 index cda209c63..000000000 Binary files a/test/de_fuzz/corpus/567c8143f42a568bf2df66883883e1782d274c2e and /dev/null differ diff --git a/test/de_fuzz/corpus/56aba4f43cb78bbc703467d20c02dc31650c9ae4 b/test/de_fuzz/corpus/56aba4f43cb78bbc703467d20c02dc31650c9ae4 deleted file mode 100644 index 5818c8796..000000000 Binary files a/test/de_fuzz/corpus/56aba4f43cb78bbc703467d20c02dc31650c9ae4 and /dev/null differ diff --git a/test/de_fuzz/corpus/56e69dfeb370a5a05c11a4559bf0dcd4598e0650 b/test/de_fuzz/corpus/56e69dfeb370a5a05c11a4559bf0dcd4598e0650 deleted file mode 100644 index d01814c6f..000000000 Binary files a/test/de_fuzz/corpus/56e69dfeb370a5a05c11a4559bf0dcd4598e0650 and /dev/null differ diff --git a/test/de_fuzz/corpus/573005c34c0179762545897a991951aead390c4c b/test/de_fuzz/corpus/573005c34c0179762545897a991951aead390c4c deleted file mode 100644 index 8be592b27..000000000 Binary files a/test/de_fuzz/corpus/573005c34c0179762545897a991951aead390c4c and /dev/null differ diff --git a/test/de_fuzz/corpus/573bd42834c0210cdbc25cee88c76eb12c9e45d9 b/test/de_fuzz/corpus/573bd42834c0210cdbc25cee88c76eb12c9e45d9 deleted file mode 100644 index 367801344..000000000 Binary files a/test/de_fuzz/corpus/573bd42834c0210cdbc25cee88c76eb12c9e45d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/578fa5ad8bafd11638a71b432d98d2b0d8eeab7a b/test/de_fuzz/corpus/578fa5ad8bafd11638a71b432d98d2b0d8eeab7a deleted file mode 100644 index 4a7c075e5..000000000 Binary files a/test/de_fuzz/corpus/578fa5ad8bafd11638a71b432d98d2b0d8eeab7a and /dev/null differ diff --git a/test/de_fuzz/corpus/57c9657442e03de4450352cc362a4ed6d97ea461 b/test/de_fuzz/corpus/57c9657442e03de4450352cc362a4ed6d97ea461 deleted file mode 100644 index 880f8b1f9..000000000 Binary files a/test/de_fuzz/corpus/57c9657442e03de4450352cc362a4ed6d97ea461 and /dev/null differ diff --git a/test/de_fuzz/corpus/57cc47e975512d665a8cbf2e6074f32efb7d97ee b/test/de_fuzz/corpus/57cc47e975512d665a8cbf2e6074f32efb7d97ee deleted file mode 100644 index 9141b4b99..000000000 Binary files a/test/de_fuzz/corpus/57cc47e975512d665a8cbf2e6074f32efb7d97ee and /dev/null differ diff --git a/test/de_fuzz/corpus/57dab76a8772133350907774eb43d4567617f01b b/test/de_fuzz/corpus/57dab76a8772133350907774eb43d4567617f01b deleted file mode 100644 index faa0572f1..000000000 Binary files a/test/de_fuzz/corpus/57dab76a8772133350907774eb43d4567617f01b and /dev/null differ diff --git a/test/de_fuzz/corpus/57f81583bdc1fa691807f6726dae29fac2585f75 b/test/de_fuzz/corpus/57f81583bdc1fa691807f6726dae29fac2585f75 deleted file mode 100644 index b12711d9d..000000000 Binary files a/test/de_fuzz/corpus/57f81583bdc1fa691807f6726dae29fac2585f75 and /dev/null differ diff --git a/test/de_fuzz/corpus/583698f305b868e2abc97aaf3322aaad61af3a73 b/test/de_fuzz/corpus/583698f305b868e2abc97aaf3322aaad61af3a73 deleted file mode 100644 index 32b59dbb9..000000000 Binary files a/test/de_fuzz/corpus/583698f305b868e2abc97aaf3322aaad61af3a73 and /dev/null differ diff --git a/test/de_fuzz/corpus/583e252b4a3a0e2585fd552b04f01a5305e10c9f b/test/de_fuzz/corpus/583e252b4a3a0e2585fd552b04f01a5305e10c9f deleted file mode 100644 index 35eb15e48..000000000 Binary files a/test/de_fuzz/corpus/583e252b4a3a0e2585fd552b04f01a5305e10c9f and /dev/null differ diff --git a/test/de_fuzz/corpus/5840e33fc90fea61d4cadde94b0a383522d39dd2 b/test/de_fuzz/corpus/5840e33fc90fea61d4cadde94b0a383522d39dd2 deleted file mode 100644 index d23616aae..000000000 Binary files a/test/de_fuzz/corpus/5840e33fc90fea61d4cadde94b0a383522d39dd2 and /dev/null differ diff --git a/test/de_fuzz/corpus/5858d447bec40700d8a851e5314c99c667b82f59 b/test/de_fuzz/corpus/5858d447bec40700d8a851e5314c99c667b82f59 deleted file mode 100644 index c30b8e5e6..000000000 Binary files a/test/de_fuzz/corpus/5858d447bec40700d8a851e5314c99c667b82f59 and /dev/null differ diff --git a/test/de_fuzz/corpus/58736e930d9c5d906c54a392939b00a73d275ef8 b/test/de_fuzz/corpus/58736e930d9c5d906c54a392939b00a73d275ef8 deleted file mode 100644 index 4baef7ab8..000000000 Binary files a/test/de_fuzz/corpus/58736e930d9c5d906c54a392939b00a73d275ef8 and /dev/null differ diff --git a/test/de_fuzz/corpus/588155675031548fa926aa51c5f7a398697c316d b/test/de_fuzz/corpus/588155675031548fa926aa51c5f7a398697c316d deleted file mode 100644 index c21a70161..000000000 Binary files a/test/de_fuzz/corpus/588155675031548fa926aa51c5f7a398697c316d and /dev/null differ diff --git a/test/de_fuzz/corpus/58c21590c05290e05b321f97426783ac01b345fa b/test/de_fuzz/corpus/58c21590c05290e05b321f97426783ac01b345fa deleted file mode 100644 index bd5fdfeda..000000000 Binary files a/test/de_fuzz/corpus/58c21590c05290e05b321f97426783ac01b345fa and /dev/null differ diff --git a/test/de_fuzz/corpus/58e4b8b29b3618790daca4b70728970167954e77 b/test/de_fuzz/corpus/58e4b8b29b3618790daca4b70728970167954e77 deleted file mode 100644 index 54e1fe10f..000000000 Binary files a/test/de_fuzz/corpus/58e4b8b29b3618790daca4b70728970167954e77 and /dev/null differ diff --git a/test/de_fuzz/corpus/58eabbd760519ca578c85f4005ab31842c9eff0e b/test/de_fuzz/corpus/58eabbd760519ca578c85f4005ab31842c9eff0e deleted file mode 100644 index 03979ecd1..000000000 Binary files a/test/de_fuzz/corpus/58eabbd760519ca578c85f4005ab31842c9eff0e and /dev/null differ diff --git a/test/de_fuzz/corpus/58f0a89fc8775161206d61ab9bcdbf596e04dc48 b/test/de_fuzz/corpus/58f0a89fc8775161206d61ab9bcdbf596e04dc48 deleted file mode 100644 index 9867c2879..000000000 Binary files a/test/de_fuzz/corpus/58f0a89fc8775161206d61ab9bcdbf596e04dc48 and /dev/null differ diff --git a/test/de_fuzz/corpus/58f4943dbd29b45d680638224b900365b57466ae b/test/de_fuzz/corpus/58f4943dbd29b45d680638224b900365b57466ae deleted file mode 100644 index 363f0684c..000000000 Binary files a/test/de_fuzz/corpus/58f4943dbd29b45d680638224b900365b57466ae and /dev/null differ diff --git a/test/de_fuzz/corpus/58ff5b9e7b544f257fb014e8a0cce115e2894c8a b/test/de_fuzz/corpus/58ff5b9e7b544f257fb014e8a0cce115e2894c8a deleted file mode 100644 index a92a70944..000000000 Binary files a/test/de_fuzz/corpus/58ff5b9e7b544f257fb014e8a0cce115e2894c8a and /dev/null differ diff --git a/test/de_fuzz/corpus/59009b5e9d36c4ea8863243f66184b6a63fd7207 b/test/de_fuzz/corpus/59009b5e9d36c4ea8863243f66184b6a63fd7207 deleted file mode 100644 index a77d6f693..000000000 Binary files a/test/de_fuzz/corpus/59009b5e9d36c4ea8863243f66184b6a63fd7207 and /dev/null differ diff --git a/test/de_fuzz/corpus/592690e6b7d8057844f785a2369a4dec5dd074c4 b/test/de_fuzz/corpus/592690e6b7d8057844f785a2369a4dec5dd074c4 deleted file mode 100644 index 5724bfd2d..000000000 Binary files a/test/de_fuzz/corpus/592690e6b7d8057844f785a2369a4dec5dd074c4 and /dev/null differ diff --git a/test/de_fuzz/corpus/592a956943ba9eab75710064b1243eed26152352 b/test/de_fuzz/corpus/592a956943ba9eab75710064b1243eed26152352 deleted file mode 100644 index 06bd1de06..000000000 Binary files a/test/de_fuzz/corpus/592a956943ba9eab75710064b1243eed26152352 and /dev/null differ diff --git a/test/de_fuzz/corpus/5968b4acb561ac0a3a82135eecd9341939d671b3 b/test/de_fuzz/corpus/5968b4acb561ac0a3a82135eecd9341939d671b3 deleted file mode 100644 index d50587712..000000000 Binary files a/test/de_fuzz/corpus/5968b4acb561ac0a3a82135eecd9341939d671b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/597104a58b33b5a96ecdc0a0a50a467dddd0cf03 b/test/de_fuzz/corpus/597104a58b33b5a96ecdc0a0a50a467dddd0cf03 deleted file mode 100644 index 862c241ad..000000000 Binary files a/test/de_fuzz/corpus/597104a58b33b5a96ecdc0a0a50a467dddd0cf03 and /dev/null differ diff --git a/test/de_fuzz/corpus/599403fc970cda57f11b8659068c6cfdadf7214a b/test/de_fuzz/corpus/599403fc970cda57f11b8659068c6cfdadf7214a deleted file mode 100644 index 2471ae4bf..000000000 Binary files a/test/de_fuzz/corpus/599403fc970cda57f11b8659068c6cfdadf7214a and /dev/null differ diff --git a/test/de_fuzz/corpus/59b4a311128a74e54921a093f3c442f518102a6c b/test/de_fuzz/corpus/59b4a311128a74e54921a093f3c442f518102a6c deleted file mode 100644 index d0f7cf03b..000000000 Binary files a/test/de_fuzz/corpus/59b4a311128a74e54921a093f3c442f518102a6c and /dev/null differ diff --git a/test/de_fuzz/corpus/59c7527d1a5ac20cdf13dc0b0c8f47e3ac074b48 b/test/de_fuzz/corpus/59c7527d1a5ac20cdf13dc0b0c8f47e3ac074b48 deleted file mode 100644 index 0e97c9889..000000000 Binary files a/test/de_fuzz/corpus/59c7527d1a5ac20cdf13dc0b0c8f47e3ac074b48 and /dev/null differ diff --git a/test/de_fuzz/corpus/59ef8072957e78d88e83fd7ab533e46f942e3c9a b/test/de_fuzz/corpus/59ef8072957e78d88e83fd7ab533e46f942e3c9a deleted file mode 100644 index 1d7b69128..000000000 Binary files a/test/de_fuzz/corpus/59ef8072957e78d88e83fd7ab533e46f942e3c9a and /dev/null differ diff --git a/test/de_fuzz/corpus/5a22e7066a187ca2a2805907e7136e8c56840876 b/test/de_fuzz/corpus/5a22e7066a187ca2a2805907e7136e8c56840876 deleted file mode 100644 index 129f41ca9..000000000 Binary files a/test/de_fuzz/corpus/5a22e7066a187ca2a2805907e7136e8c56840876 and /dev/null differ diff --git a/test/de_fuzz/corpus/5a323b2e01e70797f62991dc220cc28b99a3dca6 b/test/de_fuzz/corpus/5a323b2e01e70797f62991dc220cc28b99a3dca6 deleted file mode 100644 index 0bde2bba0..000000000 --- a/test/de_fuzz/corpus/5a323b2e01e70797f62991dc220cc28b99a3dca6 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/5af17ab1bdac8824a220b84fde30843e15247942 b/test/de_fuzz/corpus/5af17ab1bdac8824a220b84fde30843e15247942 deleted file mode 100644 index 9f988c981..000000000 Binary files a/test/de_fuzz/corpus/5af17ab1bdac8824a220b84fde30843e15247942 and /dev/null differ diff --git a/test/de_fuzz/corpus/5b0ac12db2a353b10159d894e222a09fe4ff49e4 b/test/de_fuzz/corpus/5b0ac12db2a353b10159d894e222a09fe4ff49e4 deleted file mode 100644 index 51cc9970e..000000000 Binary files a/test/de_fuzz/corpus/5b0ac12db2a353b10159d894e222a09fe4ff49e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/5b12d3a5eb96387520e2c4e547b3d48a435dff77 b/test/de_fuzz/corpus/5b12d3a5eb96387520e2c4e547b3d48a435dff77 deleted file mode 100644 index 9632d542a..000000000 Binary files a/test/de_fuzz/corpus/5b12d3a5eb96387520e2c4e547b3d48a435dff77 and /dev/null differ diff --git a/test/de_fuzz/corpus/5b27a3c53e3b8454c4c508553b7ad583f9b5ad1e b/test/de_fuzz/corpus/5b27a3c53e3b8454c4c508553b7ad583f9b5ad1e deleted file mode 100644 index e1df18e05..000000000 Binary files a/test/de_fuzz/corpus/5b27a3c53e3b8454c4c508553b7ad583f9b5ad1e and /dev/null differ diff --git a/test/de_fuzz/corpus/5b642f8f20ff1da1101287c5df7e77b6a56e485d b/test/de_fuzz/corpus/5b642f8f20ff1da1101287c5df7e77b6a56e485d deleted file mode 100644 index 0dbc02aa5..000000000 Binary files a/test/de_fuzz/corpus/5b642f8f20ff1da1101287c5df7e77b6a56e485d and /dev/null differ diff --git a/test/de_fuzz/corpus/5b72447f2a62ffcde00ca91214cebe57bc0fec07 b/test/de_fuzz/corpus/5b72447f2a62ffcde00ca91214cebe57bc0fec07 deleted file mode 100644 index d1df1eed0..000000000 Binary files a/test/de_fuzz/corpus/5b72447f2a62ffcde00ca91214cebe57bc0fec07 and /dev/null differ diff --git a/test/de_fuzz/corpus/5b8ba2788cdac90c6cf1fbeb7eae1c5f7b923b9e b/test/de_fuzz/corpus/5b8ba2788cdac90c6cf1fbeb7eae1c5f7b923b9e deleted file mode 100644 index 22c77a688..000000000 Binary files a/test/de_fuzz/corpus/5b8ba2788cdac90c6cf1fbeb7eae1c5f7b923b9e and /dev/null differ diff --git a/test/de_fuzz/corpus/5bd7ad1ad352565fd133cb004dd12f8da9c6fdcc b/test/de_fuzz/corpus/5bd7ad1ad352565fd133cb004dd12f8da9c6fdcc deleted file mode 100644 index 02ecf6fd0..000000000 Binary files a/test/de_fuzz/corpus/5bd7ad1ad352565fd133cb004dd12f8da9c6fdcc and /dev/null differ diff --git a/test/de_fuzz/corpus/5bda73b555b77d483230ae592b20e06bca0b814e b/test/de_fuzz/corpus/5bda73b555b77d483230ae592b20e06bca0b814e deleted file mode 100644 index f16c06691..000000000 Binary files a/test/de_fuzz/corpus/5bda73b555b77d483230ae592b20e06bca0b814e and /dev/null differ diff --git a/test/de_fuzz/corpus/5c5dc0b778c7d75a605e183b5f65f44f27082078 b/test/de_fuzz/corpus/5c5dc0b778c7d75a605e183b5f65f44f27082078 deleted file mode 100644 index 38447168b..000000000 --- a/test/de_fuzz/corpus/5c5dc0b778c7d75a605e183b5f65f44f27082078 +++ /dev/null @@ -1 +0,0 @@ -\RZ(((((((a+)+)-)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a(((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+(a+)+)+)+)+)+)+)+(|W((((((a+)+)+)+)++)+)i+)+)+|V(((((((a+)+(a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/5c68ea958737035cedc539cb778ccafb25532610 b/test/de_fuzz/corpus/5c68ea958737035cedc539cb778ccafb25532610 deleted file mode 100644 index 0c0e23dfc..000000000 Binary files a/test/de_fuzz/corpus/5c68ea958737035cedc539cb778ccafb25532610 and /dev/null differ diff --git a/test/de_fuzz/corpus/5c8de7c96becbf6d8209849e64f04200f3148ed8 b/test/de_fuzz/corpus/5c8de7c96becbf6d8209849e64f04200f3148ed8 deleted file mode 100644 index 17cc6a652..000000000 --- a/test/de_fuzz/corpus/5c8de7c96becbf6d8209849e64f04200f3148ed8 +++ /dev/null @@ -1,130 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/5c91a68e2bad54796410669f6e80af3744eb5f29 b/test/de_fuzz/corpus/5c91a68e2bad54796410669f6e80af3744eb5f29 deleted file mode 100644 index 1574a5951..000000000 Binary files a/test/de_fuzz/corpus/5c91a68e2bad54796410669f6e80af3744eb5f29 and /dev/null differ diff --git a/test/de_fuzz/corpus/5caedd71f1abc40b75755b0291f2add3706a6c52 b/test/de_fuzz/corpus/5caedd71f1abc40b75755b0291f2add3706a6c52 deleted file mode 100644 index 50c816600..000000000 Binary files a/test/de_fuzz/corpus/5caedd71f1abc40b75755b0291f2add3706a6c52 and /dev/null differ diff --git a/test/de_fuzz/corpus/5cb4ddd6fb9152166458eb960b9eeb885a47def9 b/test/de_fuzz/corpus/5cb4ddd6fb9152166458eb960b9eeb885a47def9 deleted file mode 100644 index c0da2d01e..000000000 Binary files a/test/de_fuzz/corpus/5cb4ddd6fb9152166458eb960b9eeb885a47def9 and /dev/null differ diff --git a/test/de_fuzz/corpus/5cbe509e8ed3c23529a4a8c35635126c4c8d58fb b/test/de_fuzz/corpus/5cbe509e8ed3c23529a4a8c35635126c4c8d58fb deleted file mode 100644 index 0aa77f6d9..000000000 Binary files a/test/de_fuzz/corpus/5cbe509e8ed3c23529a4a8c35635126c4c8d58fb and /dev/null differ diff --git a/test/de_fuzz/corpus/5d097b75cb1827e240fe0e94a54a48a24c64fdc6 b/test/de_fuzz/corpus/5d097b75cb1827e240fe0e94a54a48a24c64fdc6 deleted file mode 100644 index 22a79305a..000000000 Binary files a/test/de_fuzz/corpus/5d097b75cb1827e240fe0e94a54a48a24c64fdc6 and /dev/null differ diff --git a/test/de_fuzz/corpus/5d1bec280cc83d1f7c692c6bf91f10c7dd4a87e1 b/test/de_fuzz/corpus/5d1bec280cc83d1f7c692c6bf91f10c7dd4a87e1 deleted file mode 100644 index 146103b69..000000000 Binary files a/test/de_fuzz/corpus/5d1bec280cc83d1f7c692c6bf91f10c7dd4a87e1 and /dev/null differ diff --git a/test/de_fuzz/corpus/5d444806a2867d340aa0b1f712896fe48065d2aa b/test/de_fuzz/corpus/5d444806a2867d340aa0b1f712896fe48065d2aa deleted file mode 100644 index ff9150da9..000000000 Binary files a/test/de_fuzz/corpus/5d444806a2867d340aa0b1f712896fe48065d2aa and /dev/null differ diff --git a/test/de_fuzz/corpus/5d71464c6ee960833623a3daf974e1f9e7974c4b b/test/de_fuzz/corpus/5d71464c6ee960833623a3daf974e1f9e7974c4b deleted file mode 100644 index 2a4f0378c..000000000 Binary files a/test/de_fuzz/corpus/5d71464c6ee960833623a3daf974e1f9e7974c4b and /dev/null differ diff --git a/test/de_fuzz/corpus/5d7edbd07317010b38dcf87738d22585a4ba468f b/test/de_fuzz/corpus/5d7edbd07317010b38dcf87738d22585a4ba468f deleted file mode 100644 index ad474a8a7..000000000 Binary files a/test/de_fuzz/corpus/5d7edbd07317010b38dcf87738d22585a4ba468f and /dev/null differ diff --git a/test/de_fuzz/corpus/5d9f951d6020969f7c7a1b00e548e6d7554be2ee b/test/de_fuzz/corpus/5d9f951d6020969f7c7a1b00e548e6d7554be2ee deleted file mode 100644 index eff05a87f..000000000 Binary files a/test/de_fuzz/corpus/5d9f951d6020969f7c7a1b00e548e6d7554be2ee and /dev/null differ diff --git a/test/de_fuzz/corpus/5db4da4033b0883e8f4988caccf1d2cb785414e0 b/test/de_fuzz/corpus/5db4da4033b0883e8f4988caccf1d2cb785414e0 deleted file mode 100644 index a4c26977b..000000000 Binary files a/test/de_fuzz/corpus/5db4da4033b0883e8f4988caccf1d2cb785414e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/5df95c1c2c677346ae668539a636137cf2d57b80 b/test/de_fuzz/corpus/5df95c1c2c677346ae668539a636137cf2d57b80 deleted file mode 100644 index 43828de8d..000000000 Binary files a/test/de_fuzz/corpus/5df95c1c2c677346ae668539a636137cf2d57b80 and /dev/null differ diff --git a/test/de_fuzz/corpus/5e19656cdee243684a7a445051ea08dcb1234dae b/test/de_fuzz/corpus/5e19656cdee243684a7a445051ea08dcb1234dae deleted file mode 100644 index f9064772d..000000000 Binary files a/test/de_fuzz/corpus/5e19656cdee243684a7a445051ea08dcb1234dae and /dev/null differ diff --git a/test/de_fuzz/corpus/5e3ee16c6009f38c0ddfcca7be1c763791effd12 b/test/de_fuzz/corpus/5e3ee16c6009f38c0ddfcca7be1c763791effd12 deleted file mode 100644 index bc18a5464..000000000 Binary files a/test/de_fuzz/corpus/5e3ee16c6009f38c0ddfcca7be1c763791effd12 and /dev/null differ diff --git a/test/de_fuzz/corpus/5e450655253477c5a65e16366a818d22fb903c81 b/test/de_fuzz/corpus/5e450655253477c5a65e16366a818d22fb903c81 deleted file mode 100644 index 9bb009522..000000000 Binary files a/test/de_fuzz/corpus/5e450655253477c5a65e16366a818d22fb903c81 and /dev/null differ diff --git a/test/de_fuzz/corpus/5e57da62c347fd43a2e4d07437041b7380e5bc4b b/test/de_fuzz/corpus/5e57da62c347fd43a2e4d07437041b7380e5bc4b deleted file mode 100644 index ecc8f6a3e..000000000 Binary files a/test/de_fuzz/corpus/5e57da62c347fd43a2e4d07437041b7380e5bc4b and /dev/null differ diff --git a/test/de_fuzz/corpus/5e77b3b1aa38c214f5f3b19002efe94067cd60ad b/test/de_fuzz/corpus/5e77b3b1aa38c214f5f3b19002efe94067cd60ad deleted file mode 100644 index 000032937..000000000 Binary files a/test/de_fuzz/corpus/5e77b3b1aa38c214f5f3b19002efe94067cd60ad and /dev/null differ diff --git a/test/de_fuzz/corpus/5e8c46401dd56a49a9d6f48f0e7fabb894f1a29f b/test/de_fuzz/corpus/5e8c46401dd56a49a9d6f48f0e7fabb894f1a29f deleted file mode 100644 index 6992cb312..000000000 Binary files a/test/de_fuzz/corpus/5e8c46401dd56a49a9d6f48f0e7fabb894f1a29f and /dev/null differ diff --git a/test/de_fuzz/corpus/5e9745a7c3cd099da145056d2b7a7c6ca414a716 b/test/de_fuzz/corpus/5e9745a7c3cd099da145056d2b7a7c6ca414a716 deleted file mode 100644 index 094ab1a06..000000000 Binary files a/test/de_fuzz/corpus/5e9745a7c3cd099da145056d2b7a7c6ca414a716 and /dev/null differ diff --git a/test/de_fuzz/corpus/5e9c24d30272eeafd08cf251741f07fba33cd3a3 b/test/de_fuzz/corpus/5e9c24d30272eeafd08cf251741f07fba33cd3a3 deleted file mode 100644 index 21046a671..000000000 Binary files a/test/de_fuzz/corpus/5e9c24d30272eeafd08cf251741f07fba33cd3a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/5ee15a2502c86fdd30e79d7d039c7a79de86f0a5 b/test/de_fuzz/corpus/5ee15a2502c86fdd30e79d7d039c7a79de86f0a5 deleted file mode 100644 index 114652552..000000000 --- a/test/de_fuzz/corpus/5ee15a2502c86fdd30e79d7d039c7a79de86f0a5 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((((()+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|(*FAIL)((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/5f24c8466b95a76151c872f75bb9a15b585a2221 b/test/de_fuzz/corpus/5f24c8466b95a76151c872f75bb9a15b585a2221 deleted file mode 100644 index a5a6ce448..000000000 Binary files a/test/de_fuzz/corpus/5f24c8466b95a76151c872f75bb9a15b585a2221 and /dev/null differ diff --git a/test/de_fuzz/corpus/5f4dca766887e795005fb8c135e55cb6272cce36 b/test/de_fuzz/corpus/5f4dca766887e795005fb8c135e55cb6272cce36 deleted file mode 100644 index 7c0d9c18c..000000000 Binary files a/test/de_fuzz/corpus/5f4dca766887e795005fb8c135e55cb6272cce36 and /dev/null differ diff --git a/test/de_fuzz/corpus/5fa4750f7065e0354f38ecfe8ddc9fa3420d28ad b/test/de_fuzz/corpus/5fa4750f7065e0354f38ecfe8ddc9fa3420d28ad deleted file mode 100644 index 91b5783b1..000000000 --- a/test/de_fuzz/corpus/5fa4750f7065e0354f38ecfe8ddc9fa3420d28ad +++ /dev/null @@ -1,183 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] [| \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped somthing (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped somthing (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/5fdc3476128838b07a11bcef07565ba601db7973 b/test/de_fuzz/corpus/5fdc3476128838b07a11bcef07565ba601db7973 deleted file mode 100644 index 037fb17fd..000000000 Binary files a/test/de_fuzz/corpus/5fdc3476128838b07a11bcef07565ba601db7973 and /dev/null differ diff --git a/test/de_fuzz/corpus/6032400ea563ba1af1cf8263ebfd325856354c0b b/test/de_fuzz/corpus/6032400ea563ba1af1cf8263ebfd325856354c0b deleted file mode 100644 index 9a55f48ba..000000000 Binary files a/test/de_fuzz/corpus/6032400ea563ba1af1cf8263ebfd325856354c0b and /dev/null differ diff --git a/test/de_fuzz/corpus/603dff163c7316931a2edb7a2cb96e9a230a75e2 b/test/de_fuzz/corpus/603dff163c7316931a2edb7a2cb96e9a230a75e2 deleted file mode 100644 index 5726299e9..000000000 Binary files a/test/de_fuzz/corpus/603dff163c7316931a2edb7a2cb96e9a230a75e2 and /dev/null differ diff --git a/test/de_fuzz/corpus/608c4438596392488f42142d62ca16a96e03d8eb b/test/de_fuzz/corpus/608c4438596392488f42142d62ca16a96e03d8eb deleted file mode 100644 index 17246024e..000000000 Binary files a/test/de_fuzz/corpus/608c4438596392488f42142d62ca16a96e03d8eb and /dev/null differ diff --git a/test/de_fuzz/corpus/60af12410d8a60e2c419ac5b43e316202caa0e8b b/test/de_fuzz/corpus/60af12410d8a60e2c419ac5b43e316202caa0e8b deleted file mode 100644 index 9b6d41f36..000000000 Binary files a/test/de_fuzz/corpus/60af12410d8a60e2c419ac5b43e316202caa0e8b and /dev/null differ diff --git a/test/de_fuzz/corpus/60e60bad7551cf54d7bcbf0b4e6208c8e3cd95bf b/test/de_fuzz/corpus/60e60bad7551cf54d7bcbf0b4e6208c8e3cd95bf deleted file mode 100644 index 8bb2c98cc..000000000 Binary files a/test/de_fuzz/corpus/60e60bad7551cf54d7bcbf0b4e6208c8e3cd95bf and /dev/null differ diff --git a/test/de_fuzz/corpus/610a0a2164c4c322140c0c0d98181fc2e9d107b8 b/test/de_fuzz/corpus/610a0a2164c4c322140c0c0d98181fc2e9d107b8 deleted file mode 100644 index 94dc59b4f..000000000 Binary files a/test/de_fuzz/corpus/610a0a2164c4c322140c0c0d98181fc2e9d107b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/6121974068cf1da853b1d3632488285bc35926e6 b/test/de_fuzz/corpus/6121974068cf1da853b1d3632488285bc35926e6 deleted file mode 100644 index 71408e144..000000000 Binary files a/test/de_fuzz/corpus/6121974068cf1da853b1d3632488285bc35926e6 and /dev/null differ diff --git a/test/de_fuzz/corpus/613674cc162cfe6fb41ed0a3893d4b69c7a9e687 b/test/de_fuzz/corpus/613674cc162cfe6fb41ed0a3893d4b69c7a9e687 deleted file mode 100644 index 889cb723e..000000000 Binary files a/test/de_fuzz/corpus/613674cc162cfe6fb41ed0a3893d4b69c7a9e687 and /dev/null differ diff --git a/test/de_fuzz/corpus/618e412cb1c64ee007e4efa6109984f306bcc918 b/test/de_fuzz/corpus/618e412cb1c64ee007e4efa6109984f306bcc918 deleted file mode 100644 index 7727a3dca..000000000 Binary files a/test/de_fuzz/corpus/618e412cb1c64ee007e4efa6109984f306bcc918 and /dev/null differ diff --git a/test/de_fuzz/corpus/61d32f483502a96edc73f6f6aa8aa246c14b1280 b/test/de_fuzz/corpus/61d32f483502a96edc73f6f6aa8aa246c14b1280 deleted file mode 100644 index 8bf39f089..000000000 Binary files a/test/de_fuzz/corpus/61d32f483502a96edc73f6f6aa8aa246c14b1280 and /dev/null differ diff --git a/test/de_fuzz/corpus/61d4ee5d4089f3df358c733791ce3eb26c711a9f b/test/de_fuzz/corpus/61d4ee5d4089f3df358c733791ce3eb26c711a9f deleted file mode 100644 index aabcfcbe5..000000000 Binary files a/test/de_fuzz/corpus/61d4ee5d4089f3df358c733791ce3eb26c711a9f and /dev/null differ diff --git a/test/de_fuzz/corpus/61e8f09f5081de54e2abe19ed91ed696978456a2 b/test/de_fuzz/corpus/61e8f09f5081de54e2abe19ed91ed696978456a2 deleted file mode 100644 index 97c863f50..000000000 Binary files a/test/de_fuzz/corpus/61e8f09f5081de54e2abe19ed91ed696978456a2 and /dev/null differ diff --git a/test/de_fuzz/corpus/62011bf15a5b6333c3ac3f297f5768cffb60a670 b/test/de_fuzz/corpus/62011bf15a5b6333c3ac3f297f5768cffb60a670 deleted file mode 100644 index 10a99b361..000000000 Binary files a/test/de_fuzz/corpus/62011bf15a5b6333c3ac3f297f5768cffb60a670 and /dev/null differ diff --git a/test/de_fuzz/corpus/621455bb4b1d7370ff602b5b331d8b97c5d47655 b/test/de_fuzz/corpus/621455bb4b1d7370ff602b5b331d8b97c5d47655 deleted file mode 100644 index 99159bf0f..000000000 Binary files a/test/de_fuzz/corpus/621455bb4b1d7370ff602b5b331d8b97c5d47655 and /dev/null differ diff --git a/test/de_fuzz/corpus/6224f346787955479b4d399d2af5dd242c360487 b/test/de_fuzz/corpus/6224f346787955479b4d399d2af5dd242c360487 deleted file mode 100644 index 9056d9150..000000000 Binary files a/test/de_fuzz/corpus/6224f346787955479b4d399d2af5dd242c360487 and /dev/null differ diff --git a/test/de_fuzz/corpus/6232af1e02d66be4dfab5af05741f9a07c6bc57b b/test/de_fuzz/corpus/6232af1e02d66be4dfab5af05741f9a07c6bc57b deleted file mode 100644 index c63d151c1..000000000 Binary files a/test/de_fuzz/corpus/6232af1e02d66be4dfab5af05741f9a07c6bc57b and /dev/null differ diff --git a/test/de_fuzz/corpus/62a7c6296754c52074f61f754e82c64644de7e08 b/test/de_fuzz/corpus/62a7c6296754c52074f61f754e82c64644de7e08 deleted file mode 100644 index d01a9c72e..000000000 Binary files a/test/de_fuzz/corpus/62a7c6296754c52074f61f754e82c64644de7e08 and /dev/null differ diff --git a/test/de_fuzz/corpus/62a891466e34276e82b89c9bdb2b63930a6bcac4 b/test/de_fuzz/corpus/62a891466e34276e82b89c9bdb2b63930a6bcac4 deleted file mode 100644 index 4f58753e5..000000000 Binary files a/test/de_fuzz/corpus/62a891466e34276e82b89c9bdb2b63930a6bcac4 and /dev/null differ diff --git a/test/de_fuzz/corpus/62c4cf02a54072e055d151a61d0c42428d0e6eb2 b/test/de_fuzz/corpus/62c4cf02a54072e055d151a61d0c42428d0e6eb2 deleted file mode 100644 index a83ecf051..000000000 Binary files a/test/de_fuzz/corpus/62c4cf02a54072e055d151a61d0c42428d0e6eb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/633eaa03201454ce1cfee4b10dc6d2e60e633433 b/test/de_fuzz/corpus/633eaa03201454ce1cfee4b10dc6d2e60e633433 deleted file mode 100644 index 8b8e2b213..000000000 Binary files a/test/de_fuzz/corpus/633eaa03201454ce1cfee4b10dc6d2e60e633433 and /dev/null differ diff --git a/test/de_fuzz/corpus/63800aa9768bbe03e46210b8dbb3766d843edb6c b/test/de_fuzz/corpus/63800aa9768bbe03e46210b8dbb3766d843edb6c deleted file mode 100644 index 70df2346f..000000000 Binary files a/test/de_fuzz/corpus/63800aa9768bbe03e46210b8dbb3766d843edb6c and /dev/null differ diff --git a/test/de_fuzz/corpus/63a01673a84b8f3b3ba7ef9348571319d4098985 b/test/de_fuzz/corpus/63a01673a84b8f3b3ba7ef9348571319d4098985 deleted file mode 100644 index e0951468e..000000000 Binary files a/test/de_fuzz/corpus/63a01673a84b8f3b3ba7ef9348571319d4098985 and /dev/null differ diff --git a/test/de_fuzz/corpus/63a303714038e2f7f5ec176c0c402f1cc4cbbc61 b/test/de_fuzz/corpus/63a303714038e2f7f5ec176c0c402f1cc4cbbc61 deleted file mode 100644 index db8ef2d08..000000000 Binary files a/test/de_fuzz/corpus/63a303714038e2f7f5ec176c0c402f1cc4cbbc61 and /dev/null differ diff --git a/test/de_fuzz/corpus/63b45521dd3f0247140a49243df694a5ff6a34fa b/test/de_fuzz/corpus/63b45521dd3f0247140a49243df694a5ff6a34fa deleted file mode 100644 index 3808b1850..000000000 Binary files a/test/de_fuzz/corpus/63b45521dd3f0247140a49243df694a5ff6a34fa and /dev/null differ diff --git a/test/de_fuzz/corpus/64181fd35d0b9f1ab680b3d2fbb08d188fe1ed02 b/test/de_fuzz/corpus/64181fd35d0b9f1ab680b3d2fbb08d188fe1ed02 deleted file mode 100644 index c24adcf71..000000000 Binary files a/test/de_fuzz/corpus/64181fd35d0b9f1ab680b3d2fbb08d188fe1ed02 and /dev/null differ diff --git a/test/de_fuzz/corpus/643e67d4f4833dd1b0241307f5f9693baa5a6299 b/test/de_fuzz/corpus/643e67d4f4833dd1b0241307f5f9693baa5a6299 deleted file mode 100644 index b546fbe07..000000000 Binary files a/test/de_fuzz/corpus/643e67d4f4833dd1b0241307f5f9693baa5a6299 and /dev/null differ diff --git a/test/de_fuzz/corpus/64537835d1e141bc6eb9fe92afa53a6249fdcdf0 b/test/de_fuzz/corpus/64537835d1e141bc6eb9fe92afa53a6249fdcdf0 deleted file mode 100644 index 734c0cca7..000000000 Binary files a/test/de_fuzz/corpus/64537835d1e141bc6eb9fe92afa53a6249fdcdf0 and /dev/null differ diff --git a/test/de_fuzz/corpus/648ef1be77aec4dbc6db27fd9acd214999fa5e7d b/test/de_fuzz/corpus/648ef1be77aec4dbc6db27fd9acd214999fa5e7d deleted file mode 100644 index f05f85df0..000000000 Binary files a/test/de_fuzz/corpus/648ef1be77aec4dbc6db27fd9acd214999fa5e7d and /dev/null differ diff --git a/test/de_fuzz/corpus/64920261ed859ada4c36f7c8539aa780ce59be06 b/test/de_fuzz/corpus/64920261ed859ada4c36f7c8539aa780ce59be06 deleted file mode 100644 index f747002a9..000000000 Binary files a/test/de_fuzz/corpus/64920261ed859ada4c36f7c8539aa780ce59be06 and /dev/null differ diff --git a/test/de_fuzz/corpus/64cef82c22b8af0f38e29c5e18546eec1091db1c b/test/de_fuzz/corpus/64cef82c22b8af0f38e29c5e18546eec1091db1c deleted file mode 100644 index 1217ba012..000000000 Binary files a/test/de_fuzz/corpus/64cef82c22b8af0f38e29c5e18546eec1091db1c and /dev/null differ diff --git a/test/de_fuzz/corpus/64d2d2ff57f35ddfaf939d1d75db673aa76c612a b/test/de_fuzz/corpus/64d2d2ff57f35ddfaf939d1d75db673aa76c612a deleted file mode 100644 index 7b0631d5e..000000000 Binary files a/test/de_fuzz/corpus/64d2d2ff57f35ddfaf939d1d75db673aa76c612a and /dev/null differ diff --git a/test/de_fuzz/corpus/6506871c167dcecd9fe0e4fe5a7930bdeb070c14 b/test/de_fuzz/corpus/6506871c167dcecd9fe0e4fe5a7930bdeb070c14 deleted file mode 100644 index 6eb7f996e..000000000 Binary files a/test/de_fuzz/corpus/6506871c167dcecd9fe0e4fe5a7930bdeb070c14 and /dev/null differ diff --git a/test/de_fuzz/corpus/656d3a7c6b4efcb5ebf05c77d4d94433082aaab0 b/test/de_fuzz/corpus/656d3a7c6b4efcb5ebf05c77d4d94433082aaab0 deleted file mode 100644 index 51531009e..000000000 Binary files a/test/de_fuzz/corpus/656d3a7c6b4efcb5ebf05c77d4d94433082aaab0 and /dev/null differ diff --git a/test/de_fuzz/corpus/6587cc08900e1ed6c020fae4fd0c87cf3729f396 b/test/de_fuzz/corpus/6587cc08900e1ed6c020fae4fd0c87cf3729f396 deleted file mode 100644 index e1551716d..000000000 Binary files a/test/de_fuzz/corpus/6587cc08900e1ed6c020fae4fd0c87cf3729f396 and /dev/null differ diff --git a/test/de_fuzz/corpus/658cbf06c04cdbb21d461fa282bf95053a348850 b/test/de_fuzz/corpus/658cbf06c04cdbb21d461fa282bf95053a348850 deleted file mode 100644 index 47b70317b..000000000 Binary files a/test/de_fuzz/corpus/658cbf06c04cdbb21d461fa282bf95053a348850 and /dev/null differ diff --git a/test/de_fuzz/corpus/65b59841f68a00c71f4d493765f06bede21e1285 b/test/de_fuzz/corpus/65b59841f68a00c71f4d493765f06bede21e1285 deleted file mode 100644 index fc546b77e..000000000 Binary files a/test/de_fuzz/corpus/65b59841f68a00c71f4d493765f06bede21e1285 and /dev/null differ diff --git a/test/de_fuzz/corpus/65b981c618b09c4d26113b6fa3c97adfb2af1ea1 b/test/de_fuzz/corpus/65b981c618b09c4d26113b6fa3c97adfb2af1ea1 deleted file mode 100644 index f0a0c7744..000000000 Binary files a/test/de_fuzz/corpus/65b981c618b09c4d26113b6fa3c97adfb2af1ea1 and /dev/null differ diff --git a/test/de_fuzz/corpus/65ba381913154595fa1e3e8b4b8e2967c83dda4f b/test/de_fuzz/corpus/65ba381913154595fa1e3e8b4b8e2967c83dda4f deleted file mode 100644 index 9e6503cb3..000000000 Binary files a/test/de_fuzz/corpus/65ba381913154595fa1e3e8b4b8e2967c83dda4f and /dev/null differ diff --git a/test/de_fuzz/corpus/65baf7df8f964388abba2c374eec80c68d7f02cd b/test/de_fuzz/corpus/65baf7df8f964388abba2c374eec80c68d7f02cd deleted file mode 100644 index b28e5c9b6..000000000 Binary files a/test/de_fuzz/corpus/65baf7df8f964388abba2c374eec80c68d7f02cd and /dev/null differ diff --git a/test/de_fuzz/corpus/65bdb59e8d1f5da8e38c973ef98dcdda95a54606 b/test/de_fuzz/corpus/65bdb59e8d1f5da8e38c973ef98dcdda95a54606 deleted file mode 100644 index 25de3cbc6..000000000 Binary files a/test/de_fuzz/corpus/65bdb59e8d1f5da8e38c973ef98dcdda95a54606 and /dev/null differ diff --git a/test/de_fuzz/corpus/65cd7b925cafc17c7c74d33186d02bfbb78a575a b/test/de_fuzz/corpus/65cd7b925cafc17c7c74d33186d02bfbb78a575a deleted file mode 100644 index f9d5a3311..000000000 Binary files a/test/de_fuzz/corpus/65cd7b925cafc17c7c74d33186d02bfbb78a575a and /dev/null differ diff --git a/test/de_fuzz/corpus/65d1873369b9ab7fb4f733da76a1109c525a9263 b/test/de_fuzz/corpus/65d1873369b9ab7fb4f733da76a1109c525a9263 deleted file mode 100644 index d28c01e58..000000000 Binary files a/test/de_fuzz/corpus/65d1873369b9ab7fb4f733da76a1109c525a9263 and /dev/null differ diff --git a/test/de_fuzz/corpus/65edc6bf16adaaca57faa99455e138142cdc7e6f b/test/de_fuzz/corpus/65edc6bf16adaaca57faa99455e138142cdc7e6f deleted file mode 100644 index 2353a8e1d..000000000 --- a/test/de_fuzz/corpus/65edc6bf16adaaca57faa99455e138142cdc7e6f +++ /dev/null @@ -1 +0,0 @@ -AE.\ZB]auuuuu|uuuuuu.uuuuuuu[[.AE.]-B]auuuuuuuuuuuuuuuuuuuuuuuu \ No newline at end of file diff --git a/test/de_fuzz/corpus/65efd5b9b0142226126731f34aa5fd8903993a02 b/test/de_fuzz/corpus/65efd5b9b0142226126731f34aa5fd8903993a02 deleted file mode 100644 index 7eb44034d..000000000 Binary files a/test/de_fuzz/corpus/65efd5b9b0142226126731f34aa5fd8903993a02 and /dev/null differ diff --git a/test/de_fuzz/corpus/66019600b18f2cb85322ca950e3791492a94ae65 b/test/de_fuzz/corpus/66019600b18f2cb85322ca950e3791492a94ae65 deleted file mode 100644 index 75505867c..000000000 Binary files a/test/de_fuzz/corpus/66019600b18f2cb85322ca950e3791492a94ae65 and /dev/null differ diff --git a/test/de_fuzz/corpus/6620554619709d876f9c683bbfa476cebcc502ab b/test/de_fuzz/corpus/6620554619709d876f9c683bbfa476cebcc502ab deleted file mode 100644 index 8acc0d8d3..000000000 Binary files a/test/de_fuzz/corpus/6620554619709d876f9c683bbfa476cebcc502ab and /dev/null differ diff --git a/test/de_fuzz/corpus/66235a491548ed3f78d9678a9d03a343534ecb09 b/test/de_fuzz/corpus/66235a491548ed3f78d9678a9d03a343534ecb09 deleted file mode 100644 index 71964aa13..000000000 Binary files a/test/de_fuzz/corpus/66235a491548ed3f78d9678a9d03a343534ecb09 and /dev/null differ diff --git a/test/de_fuzz/corpus/66703ca343e6efdd55fe13dd06e8d0b58cec719b b/test/de_fuzz/corpus/66703ca343e6efdd55fe13dd06e8d0b58cec719b deleted file mode 100644 index 0f3c79d76..000000000 Binary files a/test/de_fuzz/corpus/66703ca343e6efdd55fe13dd06e8d0b58cec719b and /dev/null differ diff --git a/test/de_fuzz/corpus/6679ef7df39422157f8f7c532486535639591896 b/test/de_fuzz/corpus/6679ef7df39422157f8f7c532486535639591896 deleted file mode 100644 index b08d13611..000000000 Binary files a/test/de_fuzz/corpus/6679ef7df39422157f8f7c532486535639591896 and /dev/null differ diff --git a/test/de_fuzz/corpus/667e933f4b5fcf6add80e9f33e1625a9b9e4144d b/test/de_fuzz/corpus/667e933f4b5fcf6add80e9f33e1625a9b9e4144d deleted file mode 100644 index 36406a41e..000000000 Binary files a/test/de_fuzz/corpus/667e933f4b5fcf6add80e9f33e1625a9b9e4144d and /dev/null differ diff --git a/test/de_fuzz/corpus/667fbb39a2b29ec968384f46d96470dcb80dc47b b/test/de_fuzz/corpus/667fbb39a2b29ec968384f46d96470dcb80dc47b deleted file mode 100644 index ede7524a2..000000000 Binary files a/test/de_fuzz/corpus/667fbb39a2b29ec968384f46d96470dcb80dc47b and /dev/null differ diff --git a/test/de_fuzz/corpus/669ce41f2afb50bb1221d4cb14c0078cfcef688b b/test/de_fuzz/corpus/669ce41f2afb50bb1221d4cb14c0078cfcef688b deleted file mode 100644 index 4628378fe..000000000 Binary files a/test/de_fuzz/corpus/669ce41f2afb50bb1221d4cb14c0078cfcef688b and /dev/null differ diff --git a/test/de_fuzz/corpus/66a667ba2446649d1cda39792dfbbbb006778c5a b/test/de_fuzz/corpus/66a667ba2446649d1cda39792dfbbbb006778c5a deleted file mode 100644 index 9eaaeadd4..000000000 Binary files a/test/de_fuzz/corpus/66a667ba2446649d1cda39792dfbbbb006778c5a and /dev/null differ diff --git a/test/de_fuzz/corpus/66abe32444220e95729d83e7d3d5c0d251fcb665 b/test/de_fuzz/corpus/66abe32444220e95729d83e7d3d5c0d251fcb665 deleted file mode 100644 index 8c74c4e19..000000000 Binary files a/test/de_fuzz/corpus/66abe32444220e95729d83e7d3d5c0d251fcb665 and /dev/null differ diff --git a/test/de_fuzz/corpus/66d097bbd8512acaf4a568ca340692b02e76d2bd b/test/de_fuzz/corpus/66d097bbd8512acaf4a568ca340692b02e76d2bd deleted file mode 100644 index 7f4484032..000000000 --- a/test/de_fuzz/corpus/66d097bbd8512acaf4a568ca340692b02e76d2bd +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V((((((#a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/6707139121109dc3ca066ee40816a65b39fb3cfb b/test/de_fuzz/corpus/6707139121109dc3ca066ee40816a65b39fb3cfb deleted file mode 100644 index dbb3f285f..000000000 Binary files a/test/de_fuzz/corpus/6707139121109dc3ca066ee40816a65b39fb3cfb and /dev/null differ diff --git a/test/de_fuzz/corpus/6709244f3fc581e23b255e058968f30da774afb8 b/test/de_fuzz/corpus/6709244f3fc581e23b255e058968f30da774afb8 deleted file mode 100644 index 0da760b8f..000000000 Binary files a/test/de_fuzz/corpus/6709244f3fc581e23b255e058968f30da774afb8 and /dev/null differ diff --git a/test/de_fuzz/corpus/670b480d9769fd76c612dda31a1fa8f59398e167 b/test/de_fuzz/corpus/670b480d9769fd76c612dda31a1fa8f59398e167 deleted file mode 100644 index 3948c5295..000000000 Binary files a/test/de_fuzz/corpus/670b480d9769fd76c612dda31a1fa8f59398e167 and /dev/null differ diff --git a/test/de_fuzz/corpus/6744738ea9bc54fcc48a54fd271e5a52da1af3d8 b/test/de_fuzz/corpus/6744738ea9bc54fcc48a54fd271e5a52da1af3d8 deleted file mode 100644 index 7a2937bfa..000000000 Binary files a/test/de_fuzz/corpus/6744738ea9bc54fcc48a54fd271e5a52da1af3d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/67599bb1b5d22c1332cbcee8035bd405d425f887 b/test/de_fuzz/corpus/67599bb1b5d22c1332cbcee8035bd405d425f887 deleted file mode 100644 index 41b97bcdb..000000000 Binary files a/test/de_fuzz/corpus/67599bb1b5d22c1332cbcee8035bd405d425f887 and /dev/null differ diff --git a/test/de_fuzz/corpus/679a80bd6c8c3224500183bb942a2a45319936bc b/test/de_fuzz/corpus/679a80bd6c8c3224500183bb942a2a45319936bc deleted file mode 100644 index e3d62dcdb..000000000 Binary files a/test/de_fuzz/corpus/679a80bd6c8c3224500183bb942a2a45319936bc and /dev/null differ diff --git a/test/de_fuzz/corpus/679b6d01b17d3da42623f57c9d943eb7192759a7 b/test/de_fuzz/corpus/679b6d01b17d3da42623f57c9d943eb7192759a7 deleted file mode 100644 index 75736d97f..000000000 Binary files a/test/de_fuzz/corpus/679b6d01b17d3da42623f57c9d943eb7192759a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/67cfaf5a2cb59592d300c6d4347eee5c96c223d2 b/test/de_fuzz/corpus/67cfaf5a2cb59592d300c6d4347eee5c96c223d2 deleted file mode 100644 index 5a0b992d9..000000000 Binary files a/test/de_fuzz/corpus/67cfaf5a2cb59592d300c6d4347eee5c96c223d2 and /dev/null differ diff --git a/test/de_fuzz/corpus/67e5d8eaeeec12c806cc984be6ea681ffbcc394d b/test/de_fuzz/corpus/67e5d8eaeeec12c806cc984be6ea681ffbcc394d deleted file mode 100644 index 5558e45d2..000000000 Binary files a/test/de_fuzz/corpus/67e5d8eaeeec12c806cc984be6ea681ffbcc394d and /dev/null differ diff --git a/test/de_fuzz/corpus/67ed9364677de31b1bdd21f16b7dd520df8266a1 b/test/de_fuzz/corpus/67ed9364677de31b1bdd21f16b7dd520df8266a1 deleted file mode 100644 index 248e0049b..000000000 Binary files a/test/de_fuzz/corpus/67ed9364677de31b1bdd21f16b7dd520df8266a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/68287669e0f7ea2093a6b30c9b992adc3a56993e b/test/de_fuzz/corpus/68287669e0f7ea2093a6b30c9b992adc3a56993e deleted file mode 100644 index 8e930dd8f..000000000 Binary files a/test/de_fuzz/corpus/68287669e0f7ea2093a6b30c9b992adc3a56993e and /dev/null differ diff --git a/test/de_fuzz/corpus/68610159d6713d61ed943bf6871cd23d3bd51f03 b/test/de_fuzz/corpus/68610159d6713d61ed943bf6871cd23d3bd51f03 deleted file mode 100644 index be6edb936..000000000 Binary files a/test/de_fuzz/corpus/68610159d6713d61ed943bf6871cd23d3bd51f03 and /dev/null differ diff --git a/test/de_fuzz/corpus/6863fa1e25bb3727c26d69a4758fe5a914c50e03 b/test/de_fuzz/corpus/6863fa1e25bb3727c26d69a4758fe5a914c50e03 deleted file mode 100644 index 32b63f435..000000000 Binary files a/test/de_fuzz/corpus/6863fa1e25bb3727c26d69a4758fe5a914c50e03 and /dev/null differ diff --git a/test/de_fuzz/corpus/6894938ff7014f086198583911a2af56cb80021d b/test/de_fuzz/corpus/6894938ff7014f086198583911a2af56cb80021d deleted file mode 100644 index 53a0c1c8c..000000000 --- a/test/de_fuzz/corpus/6894938ff7014f086198583911a2af56cb80021d +++ /dev/null @@ -1,192 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xf\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t[[:word:]]: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/68a48417e4b5fa1648c2e742de21fb3f1ce12279 b/test/de_fuzz/corpus/68a48417e4b5fa1648c2e742de21fb3f1ce12279 deleted file mode 100644 index f469a0f55..000000000 Binary files a/test/de_fuzz/corpus/68a48417e4b5fa1648c2e742de21fb3f1ce12279 and /dev/null differ diff --git a/test/de_fuzz/corpus/68b8ee9000de7a615e1ea582be5fd41c794bb1d2 b/test/de_fuzz/corpus/68b8ee9000de7a615e1ea582be5fd41c794bb1d2 deleted file mode 100644 index 5dba80af2..000000000 Binary files a/test/de_fuzz/corpus/68b8ee9000de7a615e1ea582be5fd41c794bb1d2 and /dev/null differ diff --git a/test/de_fuzz/corpus/68ddbe83130a38ec3ba12e2e4604ff698b4b9b91 b/test/de_fuzz/corpus/68ddbe83130a38ec3ba12e2e4604ff698b4b9b91 deleted file mode 100644 index 2e42f76fd..000000000 Binary files a/test/de_fuzz/corpus/68ddbe83130a38ec3ba12e2e4604ff698b4b9b91 and /dev/null differ diff --git a/test/de_fuzz/corpus/68dee236d0154ccf4a38e9c3889bd606aa686114 b/test/de_fuzz/corpus/68dee236d0154ccf4a38e9c3889bd606aa686114 deleted file mode 100644 index 9e9b31140..000000000 Binary files a/test/de_fuzz/corpus/68dee236d0154ccf4a38e9c3889bd606aa686114 and /dev/null differ diff --git a/test/de_fuzz/corpus/6954e4cc3de166f6f5ee515af964329686e43dab b/test/de_fuzz/corpus/6954e4cc3de166f6f5ee515af964329686e43dab deleted file mode 100644 index 38b87696d..000000000 Binary files a/test/de_fuzz/corpus/6954e4cc3de166f6f5ee515af964329686e43dab and /dev/null differ diff --git a/test/de_fuzz/corpus/6958352e639f6fafa502428e0844192817eee60f b/test/de_fuzz/corpus/6958352e639f6fafa502428e0844192817eee60f deleted file mode 100644 index 2e8aa49b2..000000000 Binary files a/test/de_fuzz/corpus/6958352e639f6fafa502428e0844192817eee60f and /dev/null differ diff --git a/test/de_fuzz/corpus/6973235fb788ac88c905a3c24fe529da144cc6b3 b/test/de_fuzz/corpus/6973235fb788ac88c905a3c24fe529da144cc6b3 deleted file mode 100644 index 7335fa23c..000000000 Binary files a/test/de_fuzz/corpus/6973235fb788ac88c905a3c24fe529da144cc6b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/69753d23e78cd1bd765ad94095105766227d7c25 b/test/de_fuzz/corpus/69753d23e78cd1bd765ad94095105766227d7c25 deleted file mode 100644 index b25896c7b..000000000 --- a/test/de_fuzz/corpus/69753d23e78cd1bd765ad94095105766227d7c25 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)++)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++i+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/699e32363380d46f883826e8ec41678923b91d03 b/test/de_fuzz/corpus/699e32363380d46f883826e8ec41678923b91d03 deleted file mode 100644 index 1348dad43..000000000 Binary files a/test/de_fuzz/corpus/699e32363380d46f883826e8ec41678923b91d03 and /dev/null differ diff --git a/test/de_fuzz/corpus/69a69db2785c489cf18b0149a9ad1093ad58aa50 b/test/de_fuzz/corpus/69a69db2785c489cf18b0149a9ad1093ad58aa50 deleted file mode 100644 index 9248c51b4..000000000 Binary files a/test/de_fuzz/corpus/69a69db2785c489cf18b0149a9ad1093ad58aa50 and /dev/null differ diff --git a/test/de_fuzz/corpus/69d17fe113ad14aa55990b9baa6b897f5819ca81 b/test/de_fuzz/corpus/69d17fe113ad14aa55990b9baa6b897f5819ca81 deleted file mode 100644 index 70e69e17f..000000000 Binary files a/test/de_fuzz/corpus/69d17fe113ad14aa55990b9baa6b897f5819ca81 and /dev/null differ diff --git a/test/de_fuzz/corpus/69d73bccf3484f611b852f5d66c05d373efbd3aa b/test/de_fuzz/corpus/69d73bccf3484f611b852f5d66c05d373efbd3aa deleted file mode 100644 index 85c4f2dc5..000000000 Binary files a/test/de_fuzz/corpus/69d73bccf3484f611b852f5d66c05d373efbd3aa and /dev/null differ diff --git a/test/de_fuzz/corpus/6a500e40cfc24272d329e7369f4fce66e9f3c718 b/test/de_fuzz/corpus/6a500e40cfc24272d329e7369f4fce66e9f3c718 deleted file mode 100644 index 29be196b8..000000000 Binary files a/test/de_fuzz/corpus/6a500e40cfc24272d329e7369f4fce66e9f3c718 and /dev/null differ diff --git a/test/de_fuzz/corpus/6ae3a1701a948916d59ad8ee0d19fbd16306e9cc b/test/de_fuzz/corpus/6ae3a1701a948916d59ad8ee0d19fbd16306e9cc deleted file mode 100644 index 3f79d60a6..000000000 Binary files a/test/de_fuzz/corpus/6ae3a1701a948916d59ad8ee0d19fbd16306e9cc and /dev/null differ diff --git a/test/de_fuzz/corpus/6af75b4602882338e434538f167d3201eafba95e b/test/de_fuzz/corpus/6af75b4602882338e434538f167d3201eafba95e deleted file mode 100644 index 609f6a768..000000000 Binary files a/test/de_fuzz/corpus/6af75b4602882338e434538f167d3201eafba95e and /dev/null differ diff --git a/test/de_fuzz/corpus/6b34fc53176725380880a6df9fef6069ecfcfca5 b/test/de_fuzz/corpus/6b34fc53176725380880a6df9fef6069ecfcfca5 deleted file mode 100644 index 918300525..000000000 Binary files a/test/de_fuzz/corpus/6b34fc53176725380880a6df9fef6069ecfcfca5 and /dev/null differ diff --git a/test/de_fuzz/corpus/6b3bcbb5bf8549e039213d7bdcae3a95749442cb b/test/de_fuzz/corpus/6b3bcbb5bf8549e039213d7bdcae3a95749442cb deleted file mode 100644 index 5f647e862..000000000 Binary files a/test/de_fuzz/corpus/6b3bcbb5bf8549e039213d7bdcae3a95749442cb and /dev/null differ diff --git a/test/de_fuzz/corpus/6b594a8ab963dfa6b9004a0dd93015ef962da907 b/test/de_fuzz/corpus/6b594a8ab963dfa6b9004a0dd93015ef962da907 deleted file mode 100644 index afe436312..000000000 Binary files a/test/de_fuzz/corpus/6b594a8ab963dfa6b9004a0dd93015ef962da907 and /dev/null differ diff --git a/test/de_fuzz/corpus/6b5d38bc0274251af80dec820a2500ba484689d2 b/test/de_fuzz/corpus/6b5d38bc0274251af80dec820a2500ba484689d2 deleted file mode 100644 index 5edca6365..000000000 Binary files a/test/de_fuzz/corpus/6b5d38bc0274251af80dec820a2500ba484689d2 and /dev/null differ diff --git a/test/de_fuzz/corpus/6b638cc87a2d6d5abd2e5c6ccb91861a1612e1fd b/test/de_fuzz/corpus/6b638cc87a2d6d5abd2e5c6ccb91861a1612e1fd deleted file mode 100644 index ffa21d111..000000000 Binary files a/test/de_fuzz/corpus/6b638cc87a2d6d5abd2e5c6ccb91861a1612e1fd and /dev/null differ diff --git a/test/de_fuzz/corpus/6b767dd6867820d842009a98f09faa948a5a8cfc b/test/de_fuzz/corpus/6b767dd6867820d842009a98f09faa948a5a8cfc deleted file mode 100644 index b65f05f04..000000000 Binary files a/test/de_fuzz/corpus/6b767dd6867820d842009a98f09faa948a5a8cfc and /dev/null differ diff --git a/test/de_fuzz/corpus/6bdc206fa58a906067700040c79516cb33a01360 b/test/de_fuzz/corpus/6bdc206fa58a906067700040c79516cb33a01360 deleted file mode 100644 index 89aff5810..000000000 Binary files a/test/de_fuzz/corpus/6bdc206fa58a906067700040c79516cb33a01360 and /dev/null differ diff --git a/test/de_fuzz/corpus/6be865c8ce0a1a9e905840d49e4bbd28b10ae00b b/test/de_fuzz/corpus/6be865c8ce0a1a9e905840d49e4bbd28b10ae00b deleted file mode 100644 index b6b4a4b9d..000000000 Binary files a/test/de_fuzz/corpus/6be865c8ce0a1a9e905840d49e4bbd28b10ae00b and /dev/null differ diff --git a/test/de_fuzz/corpus/6c2029e93527a6eb6dde810f4bd3114df9bd9c88 b/test/de_fuzz/corpus/6c2029e93527a6eb6dde810f4bd3114df9bd9c88 deleted file mode 100644 index 0492d9686..000000000 Binary files a/test/de_fuzz/corpus/6c2029e93527a6eb6dde810f4bd3114df9bd9c88 and /dev/null differ diff --git a/test/de_fuzz/corpus/6c21d898c804cf8b0d36bd93a874a3932885cf65 b/test/de_fuzz/corpus/6c21d898c804cf8b0d36bd93a874a3932885cf65 deleted file mode 100644 index 45338bf6f..000000000 Binary files a/test/de_fuzz/corpus/6c21d898c804cf8b0d36bd93a874a3932885cf65 and /dev/null differ diff --git a/test/de_fuzz/corpus/6c2b72fa79fed47549592af2efcae6ad8bb21a26 b/test/de_fuzz/corpus/6c2b72fa79fed47549592af2efcae6ad8bb21a26 deleted file mode 100644 index 65786999d..000000000 Binary files a/test/de_fuzz/corpus/6c2b72fa79fed47549592af2efcae6ad8bb21a26 and /dev/null differ diff --git a/test/de_fuzz/corpus/6c5696d782383cfc2a311270af9c46917461357e b/test/de_fuzz/corpus/6c5696d782383cfc2a311270af9c46917461357e deleted file mode 100644 index 2431f79ec..000000000 Binary files a/test/de_fuzz/corpus/6c5696d782383cfc2a311270af9c46917461357e and /dev/null differ diff --git a/test/de_fuzz/corpus/6c6ad0b44502bdf0f62e5f5ea879c7a903f6aaab b/test/de_fuzz/corpus/6c6ad0b44502bdf0f62e5f5ea879c7a903f6aaab deleted file mode 100644 index c93cd0576..000000000 Binary files a/test/de_fuzz/corpus/6c6ad0b44502bdf0f62e5f5ea879c7a903f6aaab and /dev/null differ diff --git a/test/de_fuzz/corpus/6c72c96b96f686c8b16c04ac0859b73e1226cecb b/test/de_fuzz/corpus/6c72c96b96f686c8b16c04ac0859b73e1226cecb deleted file mode 100644 index b040821f5..000000000 Binary files a/test/de_fuzz/corpus/6c72c96b96f686c8b16c04ac0859b73e1226cecb and /dev/null differ diff --git a/test/de_fuzz/corpus/6ca2a2716cd00de85faf4aff861f47b3e56d2f5a b/test/de_fuzz/corpus/6ca2a2716cd00de85faf4aff861f47b3e56d2f5a deleted file mode 100644 index ccdee1752..000000000 Binary files a/test/de_fuzz/corpus/6ca2a2716cd00de85faf4aff861f47b3e56d2f5a and /dev/null differ diff --git a/test/de_fuzz/corpus/6cad89c77b4046edb5871712fc697c5e864464d3 b/test/de_fuzz/corpus/6cad89c77b4046edb5871712fc697c5e864464d3 deleted file mode 100644 index bffbf6060..000000000 Binary files a/test/de_fuzz/corpus/6cad89c77b4046edb5871712fc697c5e864464d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/6cb782024616742aa54654ccbd251cbec9e0f96d b/test/de_fuzz/corpus/6cb782024616742aa54654ccbd251cbec9e0f96d deleted file mode 100644 index 8cbef2616..000000000 Binary files a/test/de_fuzz/corpus/6cb782024616742aa54654ccbd251cbec9e0f96d and /dev/null differ diff --git a/test/de_fuzz/corpus/6cb88b1debfc4dc3488e1329ee9085f9d1132bd2 b/test/de_fuzz/corpus/6cb88b1debfc4dc3488e1329ee9085f9d1132bd2 deleted file mode 100644 index 14f90f5f9..000000000 Binary files a/test/de_fuzz/corpus/6cb88b1debfc4dc3488e1329ee9085f9d1132bd2 and /dev/null differ diff --git a/test/de_fuzz/corpus/6cd04ac0e253bdef5d78b5f2593c25c8b00a77f7 b/test/de_fuzz/corpus/6cd04ac0e253bdef5d78b5f2593c25c8b00a77f7 deleted file mode 100644 index 575c804d9..000000000 Binary files a/test/de_fuzz/corpus/6cd04ac0e253bdef5d78b5f2593c25c8b00a77f7 and /dev/null differ diff --git a/test/de_fuzz/corpus/6ce405c33bd60d0fd0e946e99589322529cebda3 b/test/de_fuzz/corpus/6ce405c33bd60d0fd0e946e99589322529cebda3 deleted file mode 100644 index e756d5a0a..000000000 Binary files a/test/de_fuzz/corpus/6ce405c33bd60d0fd0e946e99589322529cebda3 and /dev/null differ diff --git a/test/de_fuzz/corpus/6d3d0981d7e58e8935e4067fd97e0d8b3d7bf018 b/test/de_fuzz/corpus/6d3d0981d7e58e8935e4067fd97e0d8b3d7bf018 deleted file mode 100644 index a9f336678..000000000 Binary files a/test/de_fuzz/corpus/6d3d0981d7e58e8935e4067fd97e0d8b3d7bf018 and /dev/null differ diff --git a/test/de_fuzz/corpus/6d88806555bc4ef16e6510a68f4fd266a0da67f6 b/test/de_fuzz/corpus/6d88806555bc4ef16e6510a68f4fd266a0da67f6 deleted file mode 100644 index 4bb86ebdc..000000000 Binary files a/test/de_fuzz/corpus/6d88806555bc4ef16e6510a68f4fd266a0da67f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/6d8e00f4a147641256510915961441b096c3a94d b/test/de_fuzz/corpus/6d8e00f4a147641256510915961441b096c3a94d deleted file mode 100644 index 76846fbe5..000000000 Binary files a/test/de_fuzz/corpus/6d8e00f4a147641256510915961441b096c3a94d and /dev/null differ diff --git a/test/de_fuzz/corpus/6da55f49620d0b040e5718a3031951c7b598e5cd b/test/de_fuzz/corpus/6da55f49620d0b040e5718a3031951c7b598e5cd deleted file mode 100644 index 097c73630..000000000 --- a/test/de_fuzz/corpus/6da55f49620d0b040e5718a3031951c7b598e5cd +++ /dev/null @@ -1,184 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,);:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -"ept backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/6de339ce3250fe5d226a5e949449740a7a99af4a b/test/de_fuzz/corpus/6de339ce3250fe5d226a5e949449740a7a99af4a deleted file mode 100644 index 17f617f66..000000000 Binary files a/test/de_fuzz/corpus/6de339ce3250fe5d226a5e949449740a7a99af4a and /dev/null differ diff --git a/test/de_fuzz/corpus/6de64576c38decc0ea4681cc20a692028033390a b/test/de_fuzz/corpus/6de64576c38decc0ea4681cc20a692028033390a deleted file mode 100644 index cee232c26..000000000 Binary files a/test/de_fuzz/corpus/6de64576c38decc0ea4681cc20a692028033390a and /dev/null differ diff --git a/test/de_fuzz/corpus/6df1758229b22c0a8ddca8b4db4cce893cd9c9af b/test/de_fuzz/corpus/6df1758229b22c0a8ddca8b4db4cce893cd9c9af deleted file mode 100644 index 9947b3ef2..000000000 Binary files a/test/de_fuzz/corpus/6df1758229b22c0a8ddca8b4db4cce893cd9c9af and /dev/null differ diff --git a/test/de_fuzz/corpus/6e123eb627afa92d10a36e91704088ac5f9c232c b/test/de_fuzz/corpus/6e123eb627afa92d10a36e91704088ac5f9c232c deleted file mode 100644 index 2ff7e5490..000000000 Binary files a/test/de_fuzz/corpus/6e123eb627afa92d10a36e91704088ac5f9c232c and /dev/null differ diff --git a/test/de_fuzz/corpus/6e2239c4ff2573a3922a06fd978ecd69fb6b6447 b/test/de_fuzz/corpus/6e2239c4ff2573a3922a06fd978ecd69fb6b6447 deleted file mode 100644 index a71dd2026..000000000 Binary files a/test/de_fuzz/corpus/6e2239c4ff2573a3922a06fd978ecd69fb6b6447 and /dev/null differ diff --git a/test/de_fuzz/corpus/6e2bc2a75710ba6d01eb5cfe23c471bbec696359 b/test/de_fuzz/corpus/6e2bc2a75710ba6d01eb5cfe23c471bbec696359 deleted file mode 100644 index a1cb036e4..000000000 Binary files a/test/de_fuzz/corpus/6e2bc2a75710ba6d01eb5cfe23c471bbec696359 and /dev/null differ diff --git a/test/de_fuzz/corpus/6e31e0750292a1715c52fc8a37336a8ec746814f b/test/de_fuzz/corpus/6e31e0750292a1715c52fc8a37336a8ec746814f deleted file mode 100644 index 3f37f9b81..000000000 Binary files a/test/de_fuzz/corpus/6e31e0750292a1715c52fc8a37336a8ec746814f and /dev/null differ diff --git a/test/de_fuzz/corpus/6e3689788ed813faa155728c802e7dd45b37f268 b/test/de_fuzz/corpus/6e3689788ed813faa155728c802e7dd45b37f268 deleted file mode 100644 index 4cb8e3a0b..000000000 Binary files a/test/de_fuzz/corpus/6e3689788ed813faa155728c802e7dd45b37f268 and /dev/null differ diff --git a/test/de_fuzz/corpus/6e63ce41e4cfb94cee2d58f000927d6bc1df9a2f b/test/de_fuzz/corpus/6e63ce41e4cfb94cee2d58f000927d6bc1df9a2f deleted file mode 100644 index 6263af497..000000000 Binary files a/test/de_fuzz/corpus/6e63ce41e4cfb94cee2d58f000927d6bc1df9a2f and /dev/null differ diff --git a/test/de_fuzz/corpus/6e733952e21efe892c364085e86417440f99ccf5 b/test/de_fuzz/corpus/6e733952e21efe892c364085e86417440f99ccf5 deleted file mode 100644 index 1925af018..000000000 Binary files a/test/de_fuzz/corpus/6e733952e21efe892c364085e86417440f99ccf5 and /dev/null differ diff --git a/test/de_fuzz/corpus/6e860203c67069688b4e00bba111a597d7cf95de b/test/de_fuzz/corpus/6e860203c67069688b4e00bba111a597d7cf95de deleted file mode 100644 index 819a6b774..000000000 Binary files a/test/de_fuzz/corpus/6e860203c67069688b4e00bba111a597d7cf95de and /dev/null differ diff --git a/test/de_fuzz/corpus/6e9be3632e9ae607bfc7223c47e0d5fff806f589 b/test/de_fuzz/corpus/6e9be3632e9ae607bfc7223c47e0d5fff806f589 deleted file mode 100644 index 8fd372273..000000000 Binary files a/test/de_fuzz/corpus/6e9be3632e9ae607bfc7223c47e0d5fff806f589 and /dev/null differ diff --git a/test/de_fuzz/corpus/6ede25a84321f27b731a02800ecc8f3ea5c4c5e6 b/test/de_fuzz/corpus/6ede25a84321f27b731a02800ecc8f3ea5c4c5e6 deleted file mode 100644 index fa87a68d3..000000000 --- a/test/de_fuzz/corpus/6ede25a84321f27b731a02800ecc8f3ea5c4c5e6 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)'+)+)!)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a1)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/6f12dd37fe05524803e3651c8a41cec17a0bf3b2 b/test/de_fuzz/corpus/6f12dd37fe05524803e3651c8a41cec17a0bf3b2 deleted file mode 100644 index 4656f4e47..000000000 Binary files a/test/de_fuzz/corpus/6f12dd37fe05524803e3651c8a41cec17a0bf3b2 and /dev/null differ diff --git a/test/de_fuzz/corpus/6f233ae4efd1b8ea13c829c33efdc6d86845d4d3 b/test/de_fuzz/corpus/6f233ae4efd1b8ea13c829c33efdc6d86845d4d3 deleted file mode 100644 index 48868138b..000000000 Binary files a/test/de_fuzz/corpus/6f233ae4efd1b8ea13c829c33efdc6d86845d4d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/6f31d35f8c37639e82357a57a0c1907f7cd48cc3 b/test/de_fuzz/corpus/6f31d35f8c37639e82357a57a0c1907f7cd48cc3 deleted file mode 100644 index a795b6056..000000000 Binary files a/test/de_fuzz/corpus/6f31d35f8c37639e82357a57a0c1907f7cd48cc3 and /dev/null differ diff --git a/test/de_fuzz/corpus/6fbb6ca70d8a2ee81582cec54ae071c9802a1663 b/test/de_fuzz/corpus/6fbb6ca70d8a2ee81582cec54ae071c9802a1663 deleted file mode 100644 index a6e42c1f1..000000000 Binary files a/test/de_fuzz/corpus/6fbb6ca70d8a2ee81582cec54ae071c9802a1663 and /dev/null differ diff --git a/test/de_fuzz/corpus/6fc31db258676abcab36a066b8708654d56c4d86 b/test/de_fuzz/corpus/6fc31db258676abcab36a066b8708654d56c4d86 deleted file mode 100644 index 1d58c0a94..000000000 Binary files a/test/de_fuzz/corpus/6fc31db258676abcab36a066b8708654d56c4d86 and /dev/null differ diff --git a/test/de_fuzz/corpus/700bd68c8f04680e065067ed6bc9b75c52263573 b/test/de_fuzz/corpus/700bd68c8f04680e065067ed6bc9b75c52263573 deleted file mode 100644 index 5335fa763..000000000 Binary files a/test/de_fuzz/corpus/700bd68c8f04680e065067ed6bc9b75c52263573 and /dev/null differ diff --git a/test/de_fuzz/corpus/703a1e49ea1092352af8bf705d5d0c1e78412a96 b/test/de_fuzz/corpus/703a1e49ea1092352af8bf705d5d0c1e78412a96 deleted file mode 100644 index 26b1b0292..000000000 Binary files a/test/de_fuzz/corpus/703a1e49ea1092352af8bf705d5d0c1e78412a96 and /dev/null differ diff --git a/test/de_fuzz/corpus/7067b05446790894a921eae8e0aef96b47e367e8 b/test/de_fuzz/corpus/7067b05446790894a921eae8e0aef96b47e367e8 deleted file mode 100644 index e697693ce..000000000 Binary files a/test/de_fuzz/corpus/7067b05446790894a921eae8e0aef96b47e367e8 and /dev/null differ diff --git a/test/de_fuzz/corpus/70779067fc1dfdcdbede542fe46686e354e877b5 b/test/de_fuzz/corpus/70779067fc1dfdcdbede542fe46686e354e877b5 deleted file mode 100644 index 19213a248..000000000 Binary files a/test/de_fuzz/corpus/70779067fc1dfdcdbede542fe46686e354e877b5 and /dev/null differ diff --git a/test/de_fuzz/corpus/707cf9ae24137c5d451ba7eb38156d98b081616b b/test/de_fuzz/corpus/707cf9ae24137c5d451ba7eb38156d98b081616b deleted file mode 100644 index db5bad558..000000000 Binary files a/test/de_fuzz/corpus/707cf9ae24137c5d451ba7eb38156d98b081616b and /dev/null differ diff --git a/test/de_fuzz/corpus/709a87f148311095502a1478c8ace29b39a1d96d b/test/de_fuzz/corpus/709a87f148311095502a1478c8ace29b39a1d96d deleted file mode 100644 index ce52e6880..000000000 Binary files a/test/de_fuzz/corpus/709a87f148311095502a1478c8ace29b39a1d96d and /dev/null differ diff --git a/test/de_fuzz/corpus/70aa4bb8becefebba710ec419150e2c048f95901 b/test/de_fuzz/corpus/70aa4bb8becefebba710ec419150e2c048f95901 deleted file mode 100644 index 56bfe7135..000000000 Binary files a/test/de_fuzz/corpus/70aa4bb8becefebba710ec419150e2c048f95901 and /dev/null differ diff --git a/test/de_fuzz/corpus/70cb0692492eb4325811f9da3612a717a3e1a654 b/test/de_fuzz/corpus/70cb0692492eb4325811f9da3612a717a3e1a654 deleted file mode 100644 index 7d9a43ea5..000000000 Binary files a/test/de_fuzz/corpus/70cb0692492eb4325811f9da3612a717a3e1a654 and /dev/null differ diff --git a/test/de_fuzz/corpus/70d85990bc7700d7247c0513383dc3559dd4b78e b/test/de_fuzz/corpus/70d85990bc7700d7247c0513383dc3559dd4b78e deleted file mode 100644 index 7122432f8..000000000 Binary files a/test/de_fuzz/corpus/70d85990bc7700d7247c0513383dc3559dd4b78e and /dev/null differ diff --git a/test/de_fuzz/corpus/70d8af0bba6886a163fe77483379942a2a5b587d b/test/de_fuzz/corpus/70d8af0bba6886a163fe77483379942a2a5b587d deleted file mode 100644 index 789703eaf..000000000 Binary files a/test/de_fuzz/corpus/70d8af0bba6886a163fe77483379942a2a5b587d and /dev/null differ diff --git a/test/de_fuzz/corpus/70d94410b443b46c0f686fc1fa082f9bad42071c b/test/de_fuzz/corpus/70d94410b443b46c0f686fc1fa082f9bad42071c deleted file mode 100644 index 93b4cf704..000000000 Binary files a/test/de_fuzz/corpus/70d94410b443b46c0f686fc1fa082f9bad42071c and /dev/null differ diff --git a/test/de_fuzz/corpus/70e3b198b0380529480e2bbf57523598cd505898 b/test/de_fuzz/corpus/70e3b198b0380529480e2bbf57523598cd505898 deleted file mode 100644 index 2a8d2af90..000000000 Binary files a/test/de_fuzz/corpus/70e3b198b0380529480e2bbf57523598cd505898 and /dev/null differ diff --git a/test/de_fuzz/corpus/70fd221eb0e932fe59b698bc81eaaac9d6203bb4 b/test/de_fuzz/corpus/70fd221eb0e932fe59b698bc81eaaac9d6203bb4 deleted file mode 100644 index 0d8beab03..000000000 Binary files a/test/de_fuzz/corpus/70fd221eb0e932fe59b698bc81eaaac9d6203bb4 and /dev/null differ diff --git a/test/de_fuzz/corpus/710f9a3e40b5d8a536edbf0196b120d8a41c8612 b/test/de_fuzz/corpus/710f9a3e40b5d8a536edbf0196b120d8a41c8612 deleted file mode 100644 index ea139e3ad..000000000 Binary files a/test/de_fuzz/corpus/710f9a3e40b5d8a536edbf0196b120d8a41c8612 and /dev/null differ diff --git a/test/de_fuzz/corpus/71366389e318189258fa853008a7f4c708f8f852 b/test/de_fuzz/corpus/71366389e318189258fa853008a7f4c708f8f852 deleted file mode 100644 index 652e3400b..000000000 Binary files a/test/de_fuzz/corpus/71366389e318189258fa853008a7f4c708f8f852 and /dev/null differ diff --git a/test/de_fuzz/corpus/715f59e37be7c682ca879d0d29c9981369774f28 b/test/de_fuzz/corpus/715f59e37be7c682ca879d0d29c9981369774f28 deleted file mode 100644 index 7d88206c7..000000000 Binary files a/test/de_fuzz/corpus/715f59e37be7c682ca879d0d29c9981369774f28 and /dev/null differ diff --git a/test/de_fuzz/corpus/7199377d73ef4eec73a81fee954e85251fe8a9a6 b/test/de_fuzz/corpus/7199377d73ef4eec73a81fee954e85251fe8a9a6 deleted file mode 100644 index 7c59a0eeb..000000000 Binary files a/test/de_fuzz/corpus/7199377d73ef4eec73a81fee954e85251fe8a9a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/71eb7ce48a88395325d5ce37491407bc60303d4f b/test/de_fuzz/corpus/71eb7ce48a88395325d5ce37491407bc60303d4f deleted file mode 100644 index 18e10f3cd..000000000 Binary files a/test/de_fuzz/corpus/71eb7ce48a88395325d5ce37491407bc60303d4f and /dev/null differ diff --git a/test/de_fuzz/corpus/72635d5f0c642b92fc451624aefa07ff6d1e79ae b/test/de_fuzz/corpus/72635d5f0c642b92fc451624aefa07ff6d1e79ae deleted file mode 100644 index c40eaf4c1..000000000 Binary files a/test/de_fuzz/corpus/72635d5f0c642b92fc451624aefa07ff6d1e79ae and /dev/null differ diff --git a/test/de_fuzz/corpus/72ea0d1eb4c3591690a32cf895ae439d86c91f42 b/test/de_fuzz/corpus/72ea0d1eb4c3591690a32cf895ae439d86c91f42 deleted file mode 100644 index 6e6b5ffce..000000000 Binary files a/test/de_fuzz/corpus/72ea0d1eb4c3591690a32cf895ae439d86c91f42 and /dev/null differ diff --git a/test/de_fuzz/corpus/734229abb5c99e233a2f0c03b91f00c8d650ad14 b/test/de_fuzz/corpus/734229abb5c99e233a2f0c03b91f00c8d650ad14 deleted file mode 100644 index f4efc2d23..000000000 Binary files a/test/de_fuzz/corpus/734229abb5c99e233a2f0c03b91f00c8d650ad14 and /dev/null differ diff --git a/test/de_fuzz/corpus/7345a5f3c29966e3cb94090a3c9c446f9b87d525 b/test/de_fuzz/corpus/7345a5f3c29966e3cb94090a3c9c446f9b87d525 deleted file mode 100644 index cd04fb23b..000000000 Binary files a/test/de_fuzz/corpus/7345a5f3c29966e3cb94090a3c9c446f9b87d525 and /dev/null differ diff --git a/test/de_fuzz/corpus/734814176c9b849b282e1ef85b09b5f15dd8dcd6 b/test/de_fuzz/corpus/734814176c9b849b282e1ef85b09b5f15dd8dcd6 deleted file mode 100644 index aa7533b32..000000000 Binary files a/test/de_fuzz/corpus/734814176c9b849b282e1ef85b09b5f15dd8dcd6 and /dev/null differ diff --git a/test/de_fuzz/corpus/735fc6f158c2738061860bd29342984d1ab5d176 b/test/de_fuzz/corpus/735fc6f158c2738061860bd29342984d1ab5d176 deleted file mode 100644 index 28efcd5e0..000000000 Binary files a/test/de_fuzz/corpus/735fc6f158c2738061860bd29342984d1ab5d176 and /dev/null differ diff --git a/test/de_fuzz/corpus/737b6f4335b3c916e56a879f7b8925cd653d859e b/test/de_fuzz/corpus/737b6f4335b3c916e56a879f7b8925cd653d859e deleted file mode 100644 index aa97f0a3a..000000000 Binary files a/test/de_fuzz/corpus/737b6f4335b3c916e56a879f7b8925cd653d859e and /dev/null differ diff --git a/test/de_fuzz/corpus/738bdcf9e050016d7e94421a976141bcf337ec09 b/test/de_fuzz/corpus/738bdcf9e050016d7e94421a976141bcf337ec09 deleted file mode 100644 index 0b27c78a3..000000000 Binary files a/test/de_fuzz/corpus/738bdcf9e050016d7e94421a976141bcf337ec09 and /dev/null differ diff --git a/test/de_fuzz/corpus/7394217f8d9bd1f706e3154ae9ed47055fca3397 b/test/de_fuzz/corpus/7394217f8d9bd1f706e3154ae9ed47055fca3397 deleted file mode 100644 index ecbd949a9..000000000 Binary files a/test/de_fuzz/corpus/7394217f8d9bd1f706e3154ae9ed47055fca3397 and /dev/null differ diff --git a/test/de_fuzz/corpus/73a3c16c1beec7ba73e18ab6efae5a59a6b458cd b/test/de_fuzz/corpus/73a3c16c1beec7ba73e18ab6efae5a59a6b458cd deleted file mode 100644 index 9c6b1ebb2..000000000 Binary files a/test/de_fuzz/corpus/73a3c16c1beec7ba73e18ab6efae5a59a6b458cd and /dev/null differ diff --git a/test/de_fuzz/corpus/73c4629dc5c75509e999fd647f51e9b19ea32824 b/test/de_fuzz/corpus/73c4629dc5c75509e999fd647f51e9b19ea32824 deleted file mode 100644 index ab410f8f5..000000000 Binary files a/test/de_fuzz/corpus/73c4629dc5c75509e999fd647f51e9b19ea32824 and /dev/null differ diff --git a/test/de_fuzz/corpus/73cb6c8064aaab69ed3b8c25e7a994ebbfe9379c b/test/de_fuzz/corpus/73cb6c8064aaab69ed3b8c25e7a994ebbfe9379c deleted file mode 100644 index 9eda3ef5c..000000000 Binary files a/test/de_fuzz/corpus/73cb6c8064aaab69ed3b8c25e7a994ebbfe9379c and /dev/null differ diff --git a/test/de_fuzz/corpus/73cbd15cfd29d5d9b07aae2f85cf9d9bc9677fa4 b/test/de_fuzz/corpus/73cbd15cfd29d5d9b07aae2f85cf9d9bc9677fa4 deleted file mode 100644 index 646c3e9de..000000000 --- a/test/de_fuzz/corpus/73cbd15cfd29d5d9b07aae2f85cf9d9bc9677fa4 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*((.)\W)*(?3)\W*\4|\WM*))\W*$T\W*(?3)\W*\4|\W)ox \x{13} \x{13} \ No newline at end of file diff --git a/test/de_fuzz/corpus/73dd63468f6f36999b53b8cf24a1044d51d3d31c b/test/de_fuzz/corpus/73dd63468f6f36999b53b8cf24a1044d51d3d31c deleted file mode 100644 index 4d9d9ded2..000000000 Binary files a/test/de_fuzz/corpus/73dd63468f6f36999b53b8cf24a1044d51d3d31c and /dev/null differ diff --git a/test/de_fuzz/corpus/73f364054006ca5eae92feec9d8a105015f0d032 b/test/de_fuzz/corpus/73f364054006ca5eae92feec9d8a105015f0d032 deleted file mode 100644 index bf36a03f5..000000000 Binary files a/test/de_fuzz/corpus/73f364054006ca5eae92feec9d8a105015f0d032 and /dev/null differ diff --git a/test/de_fuzz/corpus/740d094789662f57665c9e8f931064e7817849c1 b/test/de_fuzz/corpus/740d094789662f57665c9e8f931064e7817849c1 deleted file mode 100644 index 566c73aa0..000000000 Binary files a/test/de_fuzz/corpus/740d094789662f57665c9e8f931064e7817849c1 and /dev/null differ diff --git a/test/de_fuzz/corpus/7421244d7e4c4984343ab8736b0d4df683112260 b/test/de_fuzz/corpus/7421244d7e4c4984343ab8736b0d4df683112260 deleted file mode 100644 index 64bad304f..000000000 Binary files a/test/de_fuzz/corpus/7421244d7e4c4984343ab8736b0d4df683112260 and /dev/null differ diff --git a/test/de_fuzz/corpus/744ca5120981fe49a2ff8bf777cb3d40aeee1e75 b/test/de_fuzz/corpus/744ca5120981fe49a2ff8bf777cb3d40aeee1e75 deleted file mode 100644 index 2664d8b89..000000000 Binary files a/test/de_fuzz/corpus/744ca5120981fe49a2ff8bf777cb3d40aeee1e75 and /dev/null differ diff --git a/test/de_fuzz/corpus/7451ec71b671a1c29833fc72d83b386015bedf46 b/test/de_fuzz/corpus/7451ec71b671a1c29833fc72d83b386015bedf46 deleted file mode 100644 index 3fdb1cc85..000000000 --- a/test/de_fuzz/corpus/7451ec71b671a1c29833fc72d83b386015bedf46 +++ /dev/null @@ -1 +0,0 @@ -[[:space:]]ef][g(\vij[g(\vij][kl][m(*THEspace:]]ef][g(\vij[g(\vij][kl][m(*THENN)ac \ No newline at end of file diff --git a/test/de_fuzz/corpus/747ddbb5284961ea9f162b5b2af6391d1f8544f9 b/test/de_fuzz/corpus/747ddbb5284961ea9f162b5b2af6391d1f8544f9 deleted file mode 100644 index 3b95f8cb3..000000000 Binary files a/test/de_fuzz/corpus/747ddbb5284961ea9f162b5b2af6391d1f8544f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/74a27679a3da7562a8f9f6b8f1e11794f99252df b/test/de_fuzz/corpus/74a27679a3da7562a8f9f6b8f1e11794f99252df deleted file mode 100644 index b0745ff6b..000000000 Binary files a/test/de_fuzz/corpus/74a27679a3da7562a8f9f6b8f1e11794f99252df and /dev/null differ diff --git a/test/de_fuzz/corpus/74aa947b500092a44d82d600826021729b59e409 b/test/de_fuzz/corpus/74aa947b500092a44d82d600826021729b59e409 deleted file mode 100644 index 53bb2460b..000000000 --- a/test/de_fuzz/corpus/74aa947b500092a44d82d600826021729b59e409 +++ /dev/null @@ -1 +0,0 @@ -\b(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W(((|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W(((|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+(((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+(((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W(((|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+3i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+ \ No newline at end of file diff --git a/test/de_fuzz/corpus/74af053a7bd59e792806e054775f9801e54b3e0d b/test/de_fuzz/corpus/74af053a7bd59e792806e054775f9801e54b3e0d deleted file mode 100644 index 113b45395..000000000 Binary files a/test/de_fuzz/corpus/74af053a7bd59e792806e054775f9801e54b3e0d and /dev/null differ diff --git a/test/de_fuzz/corpus/74b5a323ae41cb386b1596c9b81bb0b02d550c19 b/test/de_fuzz/corpus/74b5a323ae41cb386b1596c9b81bb0b02d550c19 deleted file mode 100644 index 53f8216c0..000000000 Binary files a/test/de_fuzz/corpus/74b5a323ae41cb386b1596c9b81bb0b02d550c19 and /dev/null differ diff --git a/test/de_fuzz/corpus/74b71cfa17e74cc2e6681f7460e7dad710436d13 b/test/de_fuzz/corpus/74b71cfa17e74cc2e6681f7460e7dad710436d13 deleted file mode 100644 index d0eda9e37..000000000 Binary files a/test/de_fuzz/corpus/74b71cfa17e74cc2e6681f7460e7dad710436d13 and /dev/null differ diff --git a/test/de_fuzz/corpus/750a813bb2b9813dd95e078157e7732fd56a9e3b b/test/de_fuzz/corpus/750a813bb2b9813dd95e078157e7732fd56a9e3b deleted file mode 100644 index 72002c804..000000000 Binary files a/test/de_fuzz/corpus/750a813bb2b9813dd95e078157e7732fd56a9e3b and /dev/null differ diff --git a/test/de_fuzz/corpus/7552726f9256a4ef330fd1d0bea3b4d39091f937 b/test/de_fuzz/corpus/7552726f9256a4ef330fd1d0bea3b4d39091f937 deleted file mode 100644 index 53d6de3f7..000000000 Binary files a/test/de_fuzz/corpus/7552726f9256a4ef330fd1d0bea3b4d39091f937 and /dev/null differ diff --git a/test/de_fuzz/corpus/759671a8554a9c4b3a2ce8196cc30edd0830f7c2 b/test/de_fuzz/corpus/759671a8554a9c4b3a2ce8196cc30edd0830f7c2 deleted file mode 100644 index 2509ad358..000000000 Binary files a/test/de_fuzz/corpus/759671a8554a9c4b3a2ce8196cc30edd0830f7c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/75d3412a78fe937f3bef2bd5f32969bf88956226 b/test/de_fuzz/corpus/75d3412a78fe937f3bef2bd5f32969bf88956226 deleted file mode 100644 index 3f4300462..000000000 Binary files a/test/de_fuzz/corpus/75d3412a78fe937f3bef2bd5f32969bf88956226 and /dev/null differ diff --git a/test/de_fuzz/corpus/75dc86d33ebcb2d1ee0a95ee460e9082023303ca b/test/de_fuzz/corpus/75dc86d33ebcb2d1ee0a95ee460e9082023303ca deleted file mode 100644 index 192d3be06..000000000 Binary files a/test/de_fuzz/corpus/75dc86d33ebcb2d1ee0a95ee460e9082023303ca and /dev/null differ diff --git a/test/de_fuzz/corpus/75dfe85ba570bd2eae45af9f2c99b78d44ae3450 b/test/de_fuzz/corpus/75dfe85ba570bd2eae45af9f2c99b78d44ae3450 deleted file mode 100644 index c5f810929..000000000 Binary files a/test/de_fuzz/corpus/75dfe85ba570bd2eae45af9f2c99b78d44ae3450 and /dev/null differ diff --git a/test/de_fuzz/corpus/7615e60e92c26cf5132da9abf8ff9fe8967ec598 b/test/de_fuzz/corpus/7615e60e92c26cf5132da9abf8ff9fe8967ec598 deleted file mode 100644 index 31f4c95d1..000000000 Binary files a/test/de_fuzz/corpus/7615e60e92c26cf5132da9abf8ff9fe8967ec598 and /dev/null differ diff --git a/test/de_fuzz/corpus/761afab662dee2cb4009dee7aa2a3cb26f33736a b/test/de_fuzz/corpus/761afab662dee2cb4009dee7aa2a3cb26f33736a deleted file mode 100644 index 1caae7950..000000000 Binary files a/test/de_fuzz/corpus/761afab662dee2cb4009dee7aa2a3cb26f33736a and /dev/null differ diff --git a/test/de_fuzz/corpus/7622ef0c98ccbdd0901daa3f9a66553d2e0e9087 b/test/de_fuzz/corpus/7622ef0c98ccbdd0901daa3f9a66553d2e0e9087 deleted file mode 100644 index 93515e3aa..000000000 Binary files a/test/de_fuzz/corpus/7622ef0c98ccbdd0901daa3f9a66553d2e0e9087 and /dev/null differ diff --git a/test/de_fuzz/corpus/7624262679a3cdb3dca1132045f4dcecbb58093e b/test/de_fuzz/corpus/7624262679a3cdb3dca1132045f4dcecbb58093e deleted file mode 100644 index 3083fafa3..000000000 Binary files a/test/de_fuzz/corpus/7624262679a3cdb3dca1132045f4dcecbb58093e and /dev/null differ diff --git a/test/de_fuzz/corpus/7627738cae32b5a2418ef4fa99981e6e904c90a0 b/test/de_fuzz/corpus/7627738cae32b5a2418ef4fa99981e6e904c90a0 deleted file mode 100644 index 73791df35..000000000 Binary files a/test/de_fuzz/corpus/7627738cae32b5a2418ef4fa99981e6e904c90a0 and /dev/null differ diff --git a/test/de_fuzz/corpus/764ea8276bfa1d6b423b1d8f3747372f75b0c1a3 b/test/de_fuzz/corpus/764ea8276bfa1d6b423b1d8f3747372f75b0c1a3 deleted file mode 100644 index e5780578f..000000000 Binary files a/test/de_fuzz/corpus/764ea8276bfa1d6b423b1d8f3747372f75b0c1a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/7684b875e87280014c270f4e7fd274895e42ea26 b/test/de_fuzz/corpus/7684b875e87280014c270f4e7fd274895e42ea26 deleted file mode 100644 index f4d6137d7..000000000 Binary files a/test/de_fuzz/corpus/7684b875e87280014c270f4e7fd274895e42ea26 and /dev/null differ diff --git a/test/de_fuzz/corpus/7698fb435334d33f0213566dec4cf3acad5e211f b/test/de_fuzz/corpus/7698fb435334d33f0213566dec4cf3acad5e211f deleted file mode 100644 index 24e901a88..000000000 Binary files a/test/de_fuzz/corpus/7698fb435334d33f0213566dec4cf3acad5e211f and /dev/null differ diff --git a/test/de_fuzz/corpus/76cd162250fb7923827df56f4adca7ca03297372 b/test/de_fuzz/corpus/76cd162250fb7923827df56f4adca7ca03297372 deleted file mode 100644 index a109b5211..000000000 Binary files a/test/de_fuzz/corpus/76cd162250fb7923827df56f4adca7ca03297372 and /dev/null differ diff --git a/test/de_fuzz/corpus/7722528a3278bb0d6491cfaea382a7aef7320aea b/test/de_fuzz/corpus/7722528a3278bb0d6491cfaea382a7aef7320aea deleted file mode 100644 index 78a9089b7..000000000 Binary files a/test/de_fuzz/corpus/7722528a3278bb0d6491cfaea382a7aef7320aea and /dev/null differ diff --git a/test/de_fuzz/corpus/772e7814f86562e147b36a08a942c9d01c586b22 b/test/de_fuzz/corpus/772e7814f86562e147b36a08a942c9d01c586b22 deleted file mode 100644 index 17e1735f9..000000000 Binary files a/test/de_fuzz/corpus/772e7814f86562e147b36a08a942c9d01c586b22 and /dev/null differ diff --git a/test/de_fuzz/corpus/7735167887df670c0570ee2cfb684ed0b42dbbfa b/test/de_fuzz/corpus/7735167887df670c0570ee2cfb684ed0b42dbbfa deleted file mode 100644 index 5c0075b65..000000000 Binary files a/test/de_fuzz/corpus/7735167887df670c0570ee2cfb684ed0b42dbbfa and /dev/null differ diff --git a/test/de_fuzz/corpus/774ca049b9a120f9297ba701ab92bc4f2d377695 b/test/de_fuzz/corpus/774ca049b9a120f9297ba701ab92bc4f2d377695 deleted file mode 100644 index 19146737c..000000000 Binary files a/test/de_fuzz/corpus/774ca049b9a120f9297ba701ab92bc4f2d377695 and /dev/null differ diff --git a/test/de_fuzz/corpus/7766b1ff3ec698193b01f2b8f4867d0308396a58 b/test/de_fuzz/corpus/7766b1ff3ec698193b01f2b8f4867d0308396a58 deleted file mode 100644 index 7949aaf3a..000000000 Binary files a/test/de_fuzz/corpus/7766b1ff3ec698193b01f2b8f4867d0308396a58 and /dev/null differ diff --git a/test/de_fuzz/corpus/77a5881e796dee421400416b34418b90740bb1f4 b/test/de_fuzz/corpus/77a5881e796dee421400416b34418b90740bb1f4 deleted file mode 100644 index 2a9961abe..000000000 Binary files a/test/de_fuzz/corpus/77a5881e796dee421400416b34418b90740bb1f4 and /dev/null differ diff --git a/test/de_fuzz/corpus/77cdbd9b927bdb6450fd7575f23b874279d2b712 b/test/de_fuzz/corpus/77cdbd9b927bdb6450fd7575f23b874279d2b712 deleted file mode 100644 index 6e7ffd5f4..000000000 Binary files a/test/de_fuzz/corpus/77cdbd9b927bdb6450fd7575f23b874279d2b712 and /dev/null differ diff --git a/test/de_fuzz/corpus/77e4ccf8e313a565ff7c71c523a8764138605e0f b/test/de_fuzz/corpus/77e4ccf8e313a565ff7c71c523a8764138605e0f deleted file mode 100644 index bd761b522..000000000 Binary files a/test/de_fuzz/corpus/77e4ccf8e313a565ff7c71c523a8764138605e0f and /dev/null differ diff --git a/test/de_fuzz/corpus/783d8d7df5b7a4f05b29f94d4b85ff3029e507fa b/test/de_fuzz/corpus/783d8d7df5b7a4f05b29f94d4b85ff3029e507fa deleted file mode 100644 index 095efda76..000000000 Binary files a/test/de_fuzz/corpus/783d8d7df5b7a4f05b29f94d4b85ff3029e507fa and /dev/null differ diff --git a/test/de_fuzz/corpus/7854c24f52063529e5df8650109a22714d7a06a1 b/test/de_fuzz/corpus/7854c24f52063529e5df8650109a22714d7a06a1 deleted file mode 100644 index 3ebdbc6e7..000000000 Binary files a/test/de_fuzz/corpus/7854c24f52063529e5df8650109a22714d7a06a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/78697d6d69a021f4ad0df46a9e005edb8903bdf8 b/test/de_fuzz/corpus/78697d6d69a021f4ad0df46a9e005edb8903bdf8 deleted file mode 100644 index ad3bb72e9..000000000 Binary files a/test/de_fuzz/corpus/78697d6d69a021f4ad0df46a9e005edb8903bdf8 and /dev/null differ diff --git a/test/de_fuzz/corpus/78b9c35b44a97fed9820329175e4e2824ee84f5a b/test/de_fuzz/corpus/78b9c35b44a97fed9820329175e4e2824ee84f5a deleted file mode 100644 index 66ffe2c28..000000000 Binary files a/test/de_fuzz/corpus/78b9c35b44a97fed9820329175e4e2824ee84f5a and /dev/null differ diff --git a/test/de_fuzz/corpus/78dbcd3ece14961966505ef2ab87f426eacdf043 b/test/de_fuzz/corpus/78dbcd3ece14961966505ef2ab87f426eacdf043 deleted file mode 100644 index 761603163..000000000 --- a/test/de_fuzz/corpus/78dbcd3ece14961966505ef2ab87f426eacdf043 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\*\2[abc]| |((.)\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ(?1)\*\2[abc]| |((.)\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\pdquick brown )ox \ No newline at end of file diff --git a/test/de_fuzz/corpus/78fcbce0b7e585dc4ff7f94d850e64e37431fa14 b/test/de_fuzz/corpus/78fcbce0b7e585dc4ff7f94d850e64e37431fa14 deleted file mode 100644 index a8a926529..000000000 Binary files a/test/de_fuzz/corpus/78fcbce0b7e585dc4ff7f94d850e64e37431fa14 and /dev/null differ diff --git a/test/de_fuzz/corpus/78fea3cbe1c2a5ab21e6584e911bf9c56039485f b/test/de_fuzz/corpus/78fea3cbe1c2a5ab21e6584e911bf9c56039485f deleted file mode 100644 index 878ebfe41..000000000 Binary files a/test/de_fuzz/corpus/78fea3cbe1c2a5ab21e6584e911bf9c56039485f and /dev/null differ diff --git a/test/de_fuzz/corpus/791064a9992f585cdc59f546c65861e8fdfac83f b/test/de_fuzz/corpus/791064a9992f585cdc59f546c65861e8fdfac83f deleted file mode 100644 index b114e8935..000000000 Binary files a/test/de_fuzz/corpus/791064a9992f585cdc59f546c65861e8fdfac83f and /dev/null differ diff --git a/test/de_fuzz/corpus/79125784de1eac6c53f3c12a133d1d9a111755d7 b/test/de_fuzz/corpus/79125784de1eac6c53f3c12a133d1d9a111755d7 deleted file mode 100644 index 9c4e8a29d..000000000 Binary files a/test/de_fuzz/corpus/79125784de1eac6c53f3c12a133d1d9a111755d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/79480ae7bf15c679e916854b2f53420a268a7551 b/test/de_fuzz/corpus/79480ae7bf15c679e916854b2f53420a268a7551 deleted file mode 100644 index 4edb56746..000000000 Binary files a/test/de_fuzz/corpus/79480ae7bf15c679e916854b2f53420a268a7551 and /dev/null differ diff --git a/test/de_fuzz/corpus/7950a7d1e1be5028ee59819ab3280a956e994fa5 b/test/de_fuzz/corpus/7950a7d1e1be5028ee59819ab3280a956e994fa5 deleted file mode 100644 index c501bbf02..000000000 Binary files a/test/de_fuzz/corpus/7950a7d1e1be5028ee59819ab3280a956e994fa5 and /dev/null differ diff --git a/test/de_fuzz/corpus/79537e14500c97c95ac219d1bfb2e76674960e95 b/test/de_fuzz/corpus/79537e14500c97c95ac219d1bfb2e76674960e95 deleted file mode 100644 index 8f742e4af..000000000 Binary files a/test/de_fuzz/corpus/79537e14500c97c95ac219d1bfb2e76674960e95 and /dev/null differ diff --git a/test/de_fuzz/corpus/7956b9df3582f54a9515be62dd5dc0a546766710 b/test/de_fuzz/corpus/7956b9df3582f54a9515be62dd5dc0a546766710 deleted file mode 100644 index d04be5fbf..000000000 Binary files a/test/de_fuzz/corpus/7956b9df3582f54a9515be62dd5dc0a546766710 and /dev/null differ diff --git a/test/de_fuzz/corpus/795933f53d9e4bf14c4ba1448803ee8ad34490a5 b/test/de_fuzz/corpus/795933f53d9e4bf14c4ba1448803ee8ad34490a5 deleted file mode 100644 index bbddc950c..000000000 Binary files a/test/de_fuzz/corpus/795933f53d9e4bf14c4ba1448803ee8ad34490a5 and /dev/null differ diff --git a/test/de_fuzz/corpus/797711bf799f79d6195b5595cbae54ccad5acba4 b/test/de_fuzz/corpus/797711bf799f79d6195b5595cbae54ccad5acba4 deleted file mode 100644 index d863e21e2..000000000 Binary files a/test/de_fuzz/corpus/797711bf799f79d6195b5595cbae54ccad5acba4 and /dev/null differ diff --git a/test/de_fuzz/corpus/7980a7aae8c9a0151026e6f4eb5711646e55e509 b/test/de_fuzz/corpus/7980a7aae8c9a0151026e6f4eb5711646e55e509 deleted file mode 100644 index 8644a6503..000000000 Binary files a/test/de_fuzz/corpus/7980a7aae8c9a0151026e6f4eb5711646e55e509 and /dev/null differ diff --git a/test/de_fuzz/corpus/79bca49e78077dc90d592f5a903d9b62253bbd7d b/test/de_fuzz/corpus/79bca49e78077dc90d592f5a903d9b62253bbd7d deleted file mode 100644 index 3cf328e3d..000000000 Binary files a/test/de_fuzz/corpus/79bca49e78077dc90d592f5a903d9b62253bbd7d and /dev/null differ diff --git a/test/de_fuzz/corpus/79c2467bc77f824f7b48dc7b6dbeb79a7c286f5c b/test/de_fuzz/corpus/79c2467bc77f824f7b48dc7b6dbeb79a7c286f5c deleted file mode 100644 index f81d4dbaf..000000000 Binary files a/test/de_fuzz/corpus/79c2467bc77f824f7b48dc7b6dbeb79a7c286f5c and /dev/null differ diff --git a/test/de_fuzz/corpus/79cb2eb5509040f8068f41edff4efa3ec17d5ae6 b/test/de_fuzz/corpus/79cb2eb5509040f8068f41edff4efa3ec17d5ae6 deleted file mode 100644 index 4ea573ca9..000000000 Binary files a/test/de_fuzz/corpus/79cb2eb5509040f8068f41edff4efa3ec17d5ae6 and /dev/null differ diff --git a/test/de_fuzz/corpus/7a185204c2b529fabb78c068d7c99bf893799689 b/test/de_fuzz/corpus/7a185204c2b529fabb78c068d7c99bf893799689 deleted file mode 100644 index 468dc0acf..000000000 Binary files a/test/de_fuzz/corpus/7a185204c2b529fabb78c068d7c99bf893799689 and /dev/null differ diff --git a/test/de_fuzz/corpus/7a20b8b78a2dc9d753c6b7c9569ac65043b10733 b/test/de_fuzz/corpus/7a20b8b78a2dc9d753c6b7c9569ac65043b10733 deleted file mode 100644 index 321d2bf02..000000000 Binary files a/test/de_fuzz/corpus/7a20b8b78a2dc9d753c6b7c9569ac65043b10733 and /dev/null differ diff --git a/test/de_fuzz/corpus/7a244a8cb0f5eb24db99af99d3db7840e626df7a b/test/de_fuzz/corpus/7a244a8cb0f5eb24db99af99d3db7840e626df7a deleted file mode 100644 index b4eb7cced..000000000 Binary files a/test/de_fuzz/corpus/7a244a8cb0f5eb24db99af99d3db7840e626df7a and /dev/null differ diff --git a/test/de_fuzz/corpus/7a2bb64e07cb0aa300db2a5e4b0825239894beb9 b/test/de_fuzz/corpus/7a2bb64e07cb0aa300db2a5e4b0825239894beb9 deleted file mode 100644 index 27d1326b0..000000000 Binary files a/test/de_fuzz/corpus/7a2bb64e07cb0aa300db2a5e4b0825239894beb9 and /dev/null differ diff --git a/test/de_fuzz/corpus/7a4b10d8cda40a52ad71fd6c2b6e23198e271370 b/test/de_fuzz/corpus/7a4b10d8cda40a52ad71fd6c2b6e23198e271370 deleted file mode 100644 index 44929cae1..000000000 Binary files a/test/de_fuzz/corpus/7a4b10d8cda40a52ad71fd6c2b6e23198e271370 and /dev/null differ diff --git a/test/de_fuzz/corpus/7a9c5e01da931099a5aef43fe2f7f35ea91db93c b/test/de_fuzz/corpus/7a9c5e01da931099a5aef43fe2f7f35ea91db93c deleted file mode 100644 index e459fa4ab..000000000 Binary files a/test/de_fuzz/corpus/7a9c5e01da931099a5aef43fe2f7f35ea91db93c and /dev/null differ diff --git a/test/de_fuzz/corpus/7aa094f1cda2b23c6ce5cf06b84f259575a091c0 b/test/de_fuzz/corpus/7aa094f1cda2b23c6ce5cf06b84f259575a091c0 deleted file mode 100644 index 34b11f05d..000000000 Binary files a/test/de_fuzz/corpus/7aa094f1cda2b23c6ce5cf06b84f259575a091c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/7ac3201a8989820087bbe88485e89723d866fbe1 b/test/de_fuzz/corpus/7ac3201a8989820087bbe88485e89723d866fbe1 deleted file mode 100644 index 5ca6121de..000000000 Binary files a/test/de_fuzz/corpus/7ac3201a8989820087bbe88485e89723d866fbe1 and /dev/null differ diff --git a/test/de_fuzz/corpus/7ac575245bf11d432507b8b1d1f523aabb9a95b8 b/test/de_fuzz/corpus/7ac575245bf11d432507b8b1d1f523aabb9a95b8 deleted file mode 100644 index 418f0a9ab..000000000 Binary files a/test/de_fuzz/corpus/7ac575245bf11d432507b8b1d1f523aabb9a95b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/7ae379bb953b3776eae20399b2083b472c6e684f b/test/de_fuzz/corpus/7ae379bb953b3776eae20399b2083b472c6e684f deleted file mode 100644 index 7af6c28af..000000000 Binary files a/test/de_fuzz/corpus/7ae379bb953b3776eae20399b2083b472c6e684f and /dev/null differ diff --git a/test/de_fuzz/corpus/7afb7396644fb188c0dab531b9945fc7a0ea7efe b/test/de_fuzz/corpus/7afb7396644fb188c0dab531b9945fc7a0ea7efe deleted file mode 100644 index 27e30b984..000000000 Binary files a/test/de_fuzz/corpus/7afb7396644fb188c0dab531b9945fc7a0ea7efe and /dev/null differ diff --git a/test/de_fuzz/corpus/7b00ede76226df29baaeb17a945864e772b8c579 b/test/de_fuzz/corpus/7b00ede76226df29baaeb17a945864e772b8c579 deleted file mode 100644 index e35f5399e..000000000 Binary files a/test/de_fuzz/corpus/7b00ede76226df29baaeb17a945864e772b8c579 and /dev/null differ diff --git a/test/de_fuzz/corpus/7b939cc44d48db710e0965e3d7c98db449ad6687 b/test/de_fuzz/corpus/7b939cc44d48db710e0965e3d7c98db449ad6687 deleted file mode 100644 index 03f9f5573..000000000 Binary files a/test/de_fuzz/corpus/7b939cc44d48db710e0965e3d7c98db449ad6687 and /dev/null differ diff --git a/test/de_fuzz/corpus/7b9898bfc1359d2f5064965c0c2aa442ee14ddbb b/test/de_fuzz/corpus/7b9898bfc1359d2f5064965c0c2aa442ee14ddbb deleted file mode 100644 index 886dca459..000000000 Binary files a/test/de_fuzz/corpus/7b9898bfc1359d2f5064965c0c2aa442ee14ddbb and /dev/null differ diff --git a/test/de_fuzz/corpus/7ba212bdf2e33a70b9200d8539bf74795470afe8 b/test/de_fuzz/corpus/7ba212bdf2e33a70b9200d8539bf74795470afe8 deleted file mode 100644 index 36777b54b..000000000 --- a/test/de_fuzz/corpus/7ba212bdf2e33a70b9200d8539bf74795470afe8 +++ /dev/null @@ -1,10 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -"^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment # o r -\\ [^\x80-\xff] \ No newline at end of file diff --git a/test/de_fuzz/corpus/7bcf3e44a32ed141ed9903b18bef20f7bf7d3d5a b/test/de_fuzz/corpus/7bcf3e44a32ed141ed9903b18bef20f7bf7d3d5a deleted file mode 100644 index 458a9d0cd..000000000 Binary files a/test/de_fuzz/corpus/7bcf3e44a32ed141ed9903b18bef20f7bf7d3d5a and /dev/null differ diff --git a/test/de_fuzz/corpus/7be06e465dee08978997e94de5ccc7d2c9d56c82 b/test/de_fuzz/corpus/7be06e465dee08978997e94de5ccc7d2c9d56c82 deleted file mode 100644 index 71b12ec8c..000000000 Binary files a/test/de_fuzz/corpus/7be06e465dee08978997e94de5ccc7d2c9d56c82 and /dev/null differ diff --git a/test/de_fuzz/corpus/7be07845c2e8df479b876f2a37720d673fc853c3 b/test/de_fuzz/corpus/7be07845c2e8df479b876f2a37720d673fc853c3 deleted file mode 100644 index 552b47b69..000000000 Binary files a/test/de_fuzz/corpus/7be07845c2e8df479b876f2a37720d673fc853c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/7be78b66112bffb1a76b3a6e1ec1258937d880e6 b/test/de_fuzz/corpus/7be78b66112bffb1a76b3a6e1ec1258937d880e6 deleted file mode 100644 index 826a35554..000000000 Binary files a/test/de_fuzz/corpus/7be78b66112bffb1a76b3a6e1ec1258937d880e6 and /dev/null differ diff --git a/test/de_fuzz/corpus/7c1c8f042e3a6db1c203ae8dfa7e4b95069524c3 b/test/de_fuzz/corpus/7c1c8f042e3a6db1c203ae8dfa7e4b95069524c3 deleted file mode 100644 index 9f6402e12..000000000 Binary files a/test/de_fuzz/corpus/7c1c8f042e3a6db1c203ae8dfa7e4b95069524c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/7c26aabb027dbc4149cd81bb0763f2b39eeb9e4c b/test/de_fuzz/corpus/7c26aabb027dbc4149cd81bb0763f2b39eeb9e4c deleted file mode 100644 index f08c4f9fb..000000000 Binary files a/test/de_fuzz/corpus/7c26aabb027dbc4149cd81bb0763f2b39eeb9e4c and /dev/null differ diff --git a/test/de_fuzz/corpus/7c557997d51cbd3a0764be0f4cbff4e9f69271ff b/test/de_fuzz/corpus/7c557997d51cbd3a0764be0f4cbff4e9f69271ff deleted file mode 100644 index 5ac3de19e..000000000 Binary files a/test/de_fuzz/corpus/7c557997d51cbd3a0764be0f4cbff4e9f69271ff and /dev/null differ diff --git a/test/de_fuzz/corpus/7c7b596711cec65ec039f3d291757e0655ced9b9 b/test/de_fuzz/corpus/7c7b596711cec65ec039f3d291757e0655ced9b9 deleted file mode 100644 index 26e577a3e..000000000 Binary files a/test/de_fuzz/corpus/7c7b596711cec65ec039f3d291757e0655ced9b9 and /dev/null differ diff --git a/test/de_fuzz/corpus/7c9ed41096120561644949ed46b91a93ac60ca4e b/test/de_fuzz/corpus/7c9ed41096120561644949ed46b91a93ac60ca4e deleted file mode 100644 index 35ab4212d..000000000 Binary files a/test/de_fuzz/corpus/7c9ed41096120561644949ed46b91a93ac60ca4e and /dev/null differ diff --git a/test/de_fuzz/corpus/7ce5a83848b2cdd4a3c6ddeb716aa3130f8dbc67 b/test/de_fuzz/corpus/7ce5a83848b2cdd4a3c6ddeb716aa3130f8dbc67 deleted file mode 100644 index 52bd82861..000000000 Binary files a/test/de_fuzz/corpus/7ce5a83848b2cdd4a3c6ddeb716aa3130f8dbc67 and /dev/null differ diff --git a/test/de_fuzz/corpus/7dc822d01e3390d63cd04da872adf89f579b05df b/test/de_fuzz/corpus/7dc822d01e3390d63cd04da872adf89f579b05df deleted file mode 100644 index d3cc83ad3..000000000 Binary files a/test/de_fuzz/corpus/7dc822d01e3390d63cd04da872adf89f579b05df and /dev/null differ diff --git a/test/de_fuzz/corpus/7e00ca3e940db1832b413c41cd63a8f6b7683999 b/test/de_fuzz/corpus/7e00ca3e940db1832b413c41cd63a8f6b7683999 deleted file mode 100644 index 34f1fae00..000000000 Binary files a/test/de_fuzz/corpus/7e00ca3e940db1832b413c41cd63a8f6b7683999 and /dev/null differ diff --git a/test/de_fuzz/corpus/7e56302e8d4a700ae725815e29b0f33a39e945c0 b/test/de_fuzz/corpus/7e56302e8d4a700ae725815e29b0f33a39e945c0 deleted file mode 100644 index 758518421..000000000 Binary files a/test/de_fuzz/corpus/7e56302e8d4a700ae725815e29b0f33a39e945c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/7e7543db86047442a9d12309b17df01a7ff81f77 b/test/de_fuzz/corpus/7e7543db86047442a9d12309b17df01a7ff81f77 deleted file mode 100644 index 86fd006d7..000000000 Binary files a/test/de_fuzz/corpus/7e7543db86047442a9d12309b17df01a7ff81f77 and /dev/null differ diff --git a/test/de_fuzz/corpus/7ede03cafd121bdb335c00365289b32282d22f59 b/test/de_fuzz/corpus/7ede03cafd121bdb335c00365289b32282d22f59 deleted file mode 100644 index 3536f4929..000000000 Binary files a/test/de_fuzz/corpus/7ede03cafd121bdb335c00365289b32282d22f59 and /dev/null differ diff --git a/test/de_fuzz/corpus/7ee59b995167e39ec5331b5b196cd110ca25e1c7 b/test/de_fuzz/corpus/7ee59b995167e39ec5331b5b196cd110ca25e1c7 deleted file mode 100644 index 425d194fe..000000000 Binary files a/test/de_fuzz/corpus/7ee59b995167e39ec5331b5b196cd110ca25e1c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/7f4b465212602d1a46a48fb345c830d1ac447e46 b/test/de_fuzz/corpus/7f4b465212602d1a46a48fb345c830d1ac447e46 deleted file mode 100644 index 8b24e7e68..000000000 Binary files a/test/de_fuzz/corpus/7f4b465212602d1a46a48fb345c830d1ac447e46 and /dev/null differ diff --git a/test/de_fuzz/corpus/7f5eb3a5db0704834f7db238fc08bb36a52e1f4d b/test/de_fuzz/corpus/7f5eb3a5db0704834f7db238fc08bb36a52e1f4d deleted file mode 100644 index 38702ce2d..000000000 Binary files a/test/de_fuzz/corpus/7f5eb3a5db0704834f7db238fc08bb36a52e1f4d and /dev/null differ diff --git a/test/de_fuzz/corpus/7fb85319db00559c188424f465ab80a0fa04e09c b/test/de_fuzz/corpus/7fb85319db00559c188424f465ab80a0fa04e09c deleted file mode 100644 index 32a61e7e9..000000000 Binary files a/test/de_fuzz/corpus/7fb85319db00559c188424f465ab80a0fa04e09c and /dev/null differ diff --git a/test/de_fuzz/corpus/7fd046d94b5a7ed1bc4559ddf8573d20054f1933 b/test/de_fuzz/corpus/7fd046d94b5a7ed1bc4559ddf8573d20054f1933 deleted file mode 100644 index 132c031dc..000000000 Binary files a/test/de_fuzz/corpus/7fd046d94b5a7ed1bc4559ddf8573d20054f1933 and /dev/null differ diff --git a/test/de_fuzz/corpus/7fe82f2f3f9365891f76b28899836dcbc2da4b3c b/test/de_fuzz/corpus/7fe82f2f3f9365891f76b28899836dcbc2da4b3c deleted file mode 100644 index 15a0a490d..000000000 Binary files a/test/de_fuzz/corpus/7fe82f2f3f9365891f76b28899836dcbc2da4b3c and /dev/null differ diff --git a/test/de_fuzz/corpus/802eb5be501bd78e38b95292e214fe9b2240b53b b/test/de_fuzz/corpus/802eb5be501bd78e38b95292e214fe9b2240b53b deleted file mode 100644 index e31cc6b59..000000000 Binary files a/test/de_fuzz/corpus/802eb5be501bd78e38b95292e214fe9b2240b53b and /dev/null differ diff --git a/test/de_fuzz/corpus/8049db9865975266b6fec85ff8813c71ac8dcfd8 b/test/de_fuzz/corpus/8049db9865975266b6fec85ff8813c71ac8dcfd8 deleted file mode 100644 index e9c6e2625..000000000 Binary files a/test/de_fuzz/corpus/8049db9865975266b6fec85ff8813c71ac8dcfd8 and /dev/null differ diff --git a/test/de_fuzz/corpus/80658a2bd5f83841ddf9a0c2358f6abdcea4e100 b/test/de_fuzz/corpus/80658a2bd5f83841ddf9a0c2358f6abdcea4e100 deleted file mode 100644 index 804acf073..000000000 Binary files a/test/de_fuzz/corpus/80658a2bd5f83841ddf9a0c2358f6abdcea4e100 and /dev/null differ diff --git a/test/de_fuzz/corpus/8085ce0a804210af6807654ac84b31e193af0874 b/test/de_fuzz/corpus/8085ce0a804210af6807654ac84b31e193af0874 deleted file mode 100644 index 47fb603a5..000000000 Binary files a/test/de_fuzz/corpus/8085ce0a804210af6807654ac84b31e193af0874 and /dev/null differ diff --git a/test/de_fuzz/corpus/80edf11cf7378ca21d33e9dde68bfda0771962c7 b/test/de_fuzz/corpus/80edf11cf7378ca21d33e9dde68bfda0771962c7 deleted file mode 100644 index ba6cca834..000000000 Binary files a/test/de_fuzz/corpus/80edf11cf7378ca21d33e9dde68bfda0771962c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/811c4cb2c21cf1cf8f8dad849cacd5edf5507ec4 b/test/de_fuzz/corpus/811c4cb2c21cf1cf8f8dad849cacd5edf5507ec4 deleted file mode 100644 index 595d7646f..000000000 Binary files a/test/de_fuzz/corpus/811c4cb2c21cf1cf8f8dad849cacd5edf5507ec4 and /dev/null differ diff --git a/test/de_fuzz/corpus/8121616fec40cb37fae26d13a1df2475e496babf b/test/de_fuzz/corpus/8121616fec40cb37fae26d13a1df2475e496babf deleted file mode 100644 index ab3d7fbab..000000000 Binary files a/test/de_fuzz/corpus/8121616fec40cb37fae26d13a1df2475e496babf and /dev/null differ diff --git a/test/de_fuzz/corpus/817293e7e8d8c54acdc7fdba5f1e6a9ca64fab0c b/test/de_fuzz/corpus/817293e7e8d8c54acdc7fdba5f1e6a9ca64fab0c deleted file mode 100644 index f6f6aeac3..000000000 Binary files a/test/de_fuzz/corpus/817293e7e8d8c54acdc7fdba5f1e6a9ca64fab0c and /dev/null differ diff --git a/test/de_fuzz/corpus/817c7335ab5268c9862545fe3e9dd75534d833a3 b/test/de_fuzz/corpus/817c7335ab5268c9862545fe3e9dd75534d833a3 deleted file mode 100644 index e08a37d29..000000000 Binary files a/test/de_fuzz/corpus/817c7335ab5268c9862545fe3e9dd75534d833a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/81c05356045415548eb9ea10d3b9ad3deec23233 b/test/de_fuzz/corpus/81c05356045415548eb9ea10d3b9ad3deec23233 deleted file mode 100644 index 87f7fa33a..000000000 Binary files a/test/de_fuzz/corpus/81c05356045415548eb9ea10d3b9ad3deec23233 and /dev/null differ diff --git a/test/de_fuzz/corpus/81d7595a2b823ca5a1fd62ce7be750aff8440dce b/test/de_fuzz/corpus/81d7595a2b823ca5a1fd62ce7be750aff8440dce deleted file mode 100644 index 3d2d7ade1..000000000 Binary files a/test/de_fuzz/corpus/81d7595a2b823ca5a1fd62ce7be750aff8440dce and /dev/null differ diff --git a/test/de_fuzz/corpus/8214280bbc595afc6edbd01994182098fa954670 b/test/de_fuzz/corpus/8214280bbc595afc6edbd01994182098fa954670 deleted file mode 100644 index fde09494a..000000000 Binary files a/test/de_fuzz/corpus/8214280bbc595afc6edbd01994182098fa954670 and /dev/null differ diff --git a/test/de_fuzz/corpus/821d3a724be2e62f5f557da0c0ee37a76a4d1c1e b/test/de_fuzz/corpus/821d3a724be2e62f5f557da0c0ee37a76a4d1c1e deleted file mode 100644 index 7f4f4b555..000000000 Binary files a/test/de_fuzz/corpus/821d3a724be2e62f5f557da0c0ee37a76a4d1c1e and /dev/null differ diff --git a/test/de_fuzz/corpus/822d91c53136e4ee3f8e3925262d20ddd3f53a9c b/test/de_fuzz/corpus/822d91c53136e4ee3f8e3925262d20ddd3f53a9c deleted file mode 100644 index a3ea5b9da..000000000 Binary files a/test/de_fuzz/corpus/822d91c53136e4ee3f8e3925262d20ddd3f53a9c and /dev/null differ diff --git a/test/de_fuzz/corpus/82315867aa0a028647cbaba15f351a8d34ff31d8 b/test/de_fuzz/corpus/82315867aa0a028647cbaba15f351a8d34ff31d8 deleted file mode 100644 index 749cb3d19..000000000 Binary files a/test/de_fuzz/corpus/82315867aa0a028647cbaba15f351a8d34ff31d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/824a79a9ce3f8ce435d12d15c47e88318368d60d b/test/de_fuzz/corpus/824a79a9ce3f8ce435d12d15c47e88318368d60d deleted file mode 100644 index 46e7588f7..000000000 Binary files a/test/de_fuzz/corpus/824a79a9ce3f8ce435d12d15c47e88318368d60d and /dev/null differ diff --git a/test/de_fuzz/corpus/828f182abe7a4a86583660b0c8a7e6370c36a075 b/test/de_fuzz/corpus/828f182abe7a4a86583660b0c8a7e6370c36a075 deleted file mode 100644 index f53ea1cd3..000000000 Binary files a/test/de_fuzz/corpus/828f182abe7a4a86583660b0c8a7e6370c36a075 and /dev/null differ diff --git a/test/de_fuzz/corpus/82995f99462d361d5f92afdfd25a5f956df179e3 b/test/de_fuzz/corpus/82995f99462d361d5f92afdfd25a5f956df179e3 deleted file mode 100644 index ce83f57c2..000000000 Binary files a/test/de_fuzz/corpus/82995f99462d361d5f92afdfd25a5f956df179e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/829cbc3b0f220f26f863d99fefe60e210bc340f9 b/test/de_fuzz/corpus/829cbc3b0f220f26f863d99fefe60e210bc340f9 deleted file mode 100644 index 376357df4..000000000 Binary files a/test/de_fuzz/corpus/829cbc3b0f220f26f863d99fefe60e210bc340f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/82b06c8780b1e7359cd9f2beb17c4ebd89acb72c b/test/de_fuzz/corpus/82b06c8780b1e7359cd9f2beb17c4ebd89acb72c deleted file mode 100644 index f2cd39879..000000000 Binary files a/test/de_fuzz/corpus/82b06c8780b1e7359cd9f2beb17c4ebd89acb72c and /dev/null differ diff --git a/test/de_fuzz/corpus/836ef59d31a1b7c95c5ea9b43bf7c052ad78e370 b/test/de_fuzz/corpus/836ef59d31a1b7c95c5ea9b43bf7c052ad78e370 deleted file mode 100644 index 871f9a23b..000000000 Binary files a/test/de_fuzz/corpus/836ef59d31a1b7c95c5ea9b43bf7c052ad78e370 and /dev/null differ diff --git a/test/de_fuzz/corpus/8385a343ff34aebdb3ccda18cc064cf895d07703 b/test/de_fuzz/corpus/8385a343ff34aebdb3ccda18cc064cf895d07703 deleted file mode 100644 index a50b7c404..000000000 Binary files a/test/de_fuzz/corpus/8385a343ff34aebdb3ccda18cc064cf895d07703 and /dev/null differ diff --git a/test/de_fuzz/corpus/83b348f53c7cd331c2ab53c9a978a5d27ac98a8c b/test/de_fuzz/corpus/83b348f53c7cd331c2ab53c9a978a5d27ac98a8c deleted file mode 100644 index 75b2fee6e..000000000 Binary files a/test/de_fuzz/corpus/83b348f53c7cd331c2ab53c9a978a5d27ac98a8c and /dev/null differ diff --git a/test/de_fuzz/corpus/83d3c103c7e3e336db49337f2680b9683c34ee62 b/test/de_fuzz/corpus/83d3c103c7e3e336db49337f2680b9683c34ee62 deleted file mode 100644 index 3c4150db6..000000000 Binary files a/test/de_fuzz/corpus/83d3c103c7e3e336db49337f2680b9683c34ee62 and /dev/null differ diff --git a/test/de_fuzz/corpus/840742f76a654c6df800c90791a800801b1cca9d b/test/de_fuzz/corpus/840742f76a654c6df800c90791a800801b1cca9d deleted file mode 100644 index eedd533be..000000000 Binary files a/test/de_fuzz/corpus/840742f76a654c6df800c90791a800801b1cca9d and /dev/null differ diff --git a/test/de_fuzz/corpus/84244348fe5fbafd05b6fa4284fab97039101c38 b/test/de_fuzz/corpus/84244348fe5fbafd05b6fa4284fab97039101c38 deleted file mode 100644 index 18c6093f0..000000000 Binary files a/test/de_fuzz/corpus/84244348fe5fbafd05b6fa4284fab97039101c38 and /dev/null differ diff --git a/test/de_fuzz/corpus/842de4320ff38bf213141f81666dddfa51368e33 b/test/de_fuzz/corpus/842de4320ff38bf213141f81666dddfa51368e33 deleted file mode 100644 index c564613c3..000000000 Binary files a/test/de_fuzz/corpus/842de4320ff38bf213141f81666dddfa51368e33 and /dev/null differ diff --git a/test/de_fuzz/corpus/8430a5ba96a62db57515b58ab004e1682c010160 b/test/de_fuzz/corpus/8430a5ba96a62db57515b58ab004e1682c010160 deleted file mode 100644 index eb5dbf606..000000000 Binary files a/test/de_fuzz/corpus/8430a5ba96a62db57515b58ab004e1682c010160 and /dev/null differ diff --git a/test/de_fuzz/corpus/84432e2b9396565e98762c6310b2ec560d39a9d9 b/test/de_fuzz/corpus/84432e2b9396565e98762c6310b2ec560d39a9d9 deleted file mode 100644 index a92161213..000000000 Binary files a/test/de_fuzz/corpus/84432e2b9396565e98762c6310b2ec560d39a9d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/8458f96e3af2081172acfe77a4af3d2545a5f431 b/test/de_fuzz/corpus/8458f96e3af2081172acfe77a4af3d2545a5f431 deleted file mode 100644 index 30e795465..000000000 Binary files a/test/de_fuzz/corpus/8458f96e3af2081172acfe77a4af3d2545a5f431 and /dev/null differ diff --git a/test/de_fuzz/corpus/846cf52bc02a270128c349a4cdc9841e711c16e9 b/test/de_fuzz/corpus/846cf52bc02a270128c349a4cdc9841e711c16e9 deleted file mode 100644 index 410e2a89b..000000000 Binary files a/test/de_fuzz/corpus/846cf52bc02a270128c349a4cdc9841e711c16e9 and /dev/null differ diff --git a/test/de_fuzz/corpus/848ebd18c80e6de0854deca24b569cfb470b6bab b/test/de_fuzz/corpus/848ebd18c80e6de0854deca24b569cfb470b6bab deleted file mode 100644 index 8b3a9786a..000000000 Binary files a/test/de_fuzz/corpus/848ebd18c80e6de0854deca24b569cfb470b6bab and /dev/null differ diff --git a/test/de_fuzz/corpus/84b7905c6cb3acb655bec7f799f3ad7a825ebbf7 b/test/de_fuzz/corpus/84b7905c6cb3acb655bec7f799f3ad7a825ebbf7 deleted file mode 100644 index 2b712e734..000000000 Binary files a/test/de_fuzz/corpus/84b7905c6cb3acb655bec7f799f3ad7a825ebbf7 and /dev/null differ diff --git a/test/de_fuzz/corpus/84cefd399f40a0815f1d8b1025ba7331a8153b36 b/test/de_fuzz/corpus/84cefd399f40a0815f1d8b1025ba7331a8153b36 deleted file mode 100644 index a897cabfa..000000000 Binary files a/test/de_fuzz/corpus/84cefd399f40a0815f1d8b1025ba7331a8153b36 and /dev/null differ diff --git a/test/de_fuzz/corpus/84fe19f4c978a3df840facf201ca0cf0ae22756c b/test/de_fuzz/corpus/84fe19f4c978a3df840facf201ca0cf0ae22756c deleted file mode 100644 index 9e1fee7cd..000000000 Binary files a/test/de_fuzz/corpus/84fe19f4c978a3df840facf201ca0cf0ae22756c and /dev/null differ diff --git a/test/de_fuzz/corpus/85080cd5f5454cba6be8e2384b079d380a821884 b/test/de_fuzz/corpus/85080cd5f5454cba6be8e2384b079d380a821884 deleted file mode 100644 index 66368ff1d..000000000 Binary files a/test/de_fuzz/corpus/85080cd5f5454cba6be8e2384b079d380a821884 and /dev/null differ diff --git a/test/de_fuzz/corpus/854686249f2a8c5416c12463ec5fe837b04b55fd b/test/de_fuzz/corpus/854686249f2a8c5416c12463ec5fe837b04b55fd deleted file mode 100644 index 9cd91cf71..000000000 Binary files a/test/de_fuzz/corpus/854686249f2a8c5416c12463ec5fe837b04b55fd and /dev/null differ diff --git a/test/de_fuzz/corpus/854e3abfe22ac96b5f5753c6f2effefd4985b999 b/test/de_fuzz/corpus/854e3abfe22ac96b5f5753c6f2effefd4985b999 deleted file mode 100644 index 1a1830dd4..000000000 Binary files a/test/de_fuzz/corpus/854e3abfe22ac96b5f5753c6f2effefd4985b999 and /dev/null differ diff --git a/test/de_fuzz/corpus/85577a210799b833b732c5225094f78cc53746f1 b/test/de_fuzz/corpus/85577a210799b833b732c5225094f78cc53746f1 deleted file mode 100644 index f26b560f5..000000000 Binary files a/test/de_fuzz/corpus/85577a210799b833b732c5225094f78cc53746f1 and /dev/null differ diff --git a/test/de_fuzz/corpus/85612e043f024fe8bf9b8fa2772056a8d6686f53 b/test/de_fuzz/corpus/85612e043f024fe8bf9b8fa2772056a8d6686f53 deleted file mode 100644 index 1b1a56c04..000000000 Binary files a/test/de_fuzz/corpus/85612e043f024fe8bf9b8fa2772056a8d6686f53 and /dev/null differ diff --git a/test/de_fuzz/corpus/856cd0a5371d334ca8efc3a31ebe4f7f70a8ea70 b/test/de_fuzz/corpus/856cd0a5371d334ca8efc3a31ebe4f7f70a8ea70 deleted file mode 100644 index 58ed84aab..000000000 Binary files a/test/de_fuzz/corpus/856cd0a5371d334ca8efc3a31ebe4f7f70a8ea70 and /dev/null differ diff --git a/test/de_fuzz/corpus/85de80fd9a18aa007ac98734806025d50e3f5727 b/test/de_fuzz/corpus/85de80fd9a18aa007ac98734806025d50e3f5727 deleted file mode 100644 index f9c5a3b95..000000000 Binary files a/test/de_fuzz/corpus/85de80fd9a18aa007ac98734806025d50e3f5727 and /dev/null differ diff --git a/test/de_fuzz/corpus/8614940c5f85b18a079695bacd272e6c90b06fe5 b/test/de_fuzz/corpus/8614940c5f85b18a079695bacd272e6c90b06fe5 deleted file mode 100644 index c7b3877e8..000000000 Binary files a/test/de_fuzz/corpus/8614940c5f85b18a079695bacd272e6c90b06fe5 and /dev/null differ diff --git a/test/de_fuzz/corpus/861931c3f41477369ee6dd21fd9e57a9da978487 b/test/de_fuzz/corpus/861931c3f41477369ee6dd21fd9e57a9da978487 deleted file mode 100644 index e0e9a7a12..000000000 Binary files a/test/de_fuzz/corpus/861931c3f41477369ee6dd21fd9e57a9da978487 and /dev/null differ diff --git a/test/de_fuzz/corpus/861e0a72fc2e0db8d4b89ad1c0798a5f485ad857 b/test/de_fuzz/corpus/861e0a72fc2e0db8d4b89ad1c0798a5f485ad857 deleted file mode 100644 index d3e229640..000000000 Binary files a/test/de_fuzz/corpus/861e0a72fc2e0db8d4b89ad1c0798a5f485ad857 and /dev/null differ diff --git a/test/de_fuzz/corpus/8624209825954a5f48efeae531645c49b3817ff7 b/test/de_fuzz/corpus/8624209825954a5f48efeae531645c49b3817ff7 deleted file mode 100644 index 853d0d4b6..000000000 Binary files a/test/de_fuzz/corpus/8624209825954a5f48efeae531645c49b3817ff7 and /dev/null differ diff --git a/test/de_fuzz/corpus/86c7332b3db7f2c1ebfa13e4d4ac301d65b65294 b/test/de_fuzz/corpus/86c7332b3db7f2c1ebfa13e4d4ac301d65b65294 deleted file mode 100644 index 7c0053319..000000000 Binary files a/test/de_fuzz/corpus/86c7332b3db7f2c1ebfa13e4d4ac301d65b65294 and /dev/null differ diff --git a/test/de_fuzz/corpus/86db14acaafd9bad2a5b131938a3efd1cad21e40 b/test/de_fuzz/corpus/86db14acaafd9bad2a5b131938a3efd1cad21e40 deleted file mode 100644 index ae7393170..000000000 Binary files a/test/de_fuzz/corpus/86db14acaafd9bad2a5b131938a3efd1cad21e40 and /dev/null differ diff --git a/test/de_fuzz/corpus/86e62f87e369d95ac78f90d7d08dbe133b87a817 b/test/de_fuzz/corpus/86e62f87e369d95ac78f90d7d08dbe133b87a817 deleted file mode 100644 index be007b3e9..000000000 Binary files a/test/de_fuzz/corpus/86e62f87e369d95ac78f90d7d08dbe133b87a817 and /dev/null differ diff --git a/test/de_fuzz/corpus/870ea6de6c0379da1f044390fe73cfadc49ee809 b/test/de_fuzz/corpus/870ea6de6c0379da1f044390fe73cfadc49ee809 deleted file mode 100644 index b8946f5f3..000000000 Binary files a/test/de_fuzz/corpus/870ea6de6c0379da1f044390fe73cfadc49ee809 and /dev/null differ diff --git a/test/de_fuzz/corpus/8714a322b986612a4ec49e61b747be1f3569eb13 b/test/de_fuzz/corpus/8714a322b986612a4ec49e61b747be1f3569eb13 deleted file mode 100644 index 8a17423e1..000000000 Binary files a/test/de_fuzz/corpus/8714a322b986612a4ec49e61b747be1f3569eb13 and /dev/null differ diff --git a/test/de_fuzz/corpus/8719bafa37fdffc311365c598f9ca686e2f65df0 b/test/de_fuzz/corpus/8719bafa37fdffc311365c598f9ca686e2f65df0 deleted file mode 100644 index f06a15e23..000000000 Binary files a/test/de_fuzz/corpus/8719bafa37fdffc311365c598f9ca686e2f65df0 and /dev/null differ diff --git a/test/de_fuzz/corpus/871aefda3653648e0dbcf5cd6387b8dff53692df b/test/de_fuzz/corpus/871aefda3653648e0dbcf5cd6387b8dff53692df deleted file mode 100644 index 8846e1d0d..000000000 Binary files a/test/de_fuzz/corpus/871aefda3653648e0dbcf5cd6387b8dff53692df and /dev/null differ diff --git a/test/de_fuzz/corpus/87260b4ae490030ed75e0cf3df52cfb160ac559b b/test/de_fuzz/corpus/87260b4ae490030ed75e0cf3df52cfb160ac559b deleted file mode 100644 index 3aeed0712..000000000 Binary files a/test/de_fuzz/corpus/87260b4ae490030ed75e0cf3df52cfb160ac559b and /dev/null differ diff --git a/test/de_fuzz/corpus/8781d7336a1edcae33094fb5165bbf73b4374677 b/test/de_fuzz/corpus/8781d7336a1edcae33094fb5165bbf73b4374677 deleted file mode 100644 index c037c188c..000000000 Binary files a/test/de_fuzz/corpus/8781d7336a1edcae33094fb5165bbf73b4374677 and /dev/null differ diff --git a/test/de_fuzz/corpus/87c3295ca339e378f427e56e6c87ad5e26ae020d b/test/de_fuzz/corpus/87c3295ca339e378f427e56e6c87ad5e26ae020d deleted file mode 100644 index 0d17d2b9c..000000000 Binary files a/test/de_fuzz/corpus/87c3295ca339e378f427e56e6c87ad5e26ae020d and /dev/null differ diff --git a/test/de_fuzz/corpus/87f062f6a2b909525c9a904f779add2751899fd5 b/test/de_fuzz/corpus/87f062f6a2b909525c9a904f779add2751899fd5 deleted file mode 100644 index 6422d2bab..000000000 Binary files a/test/de_fuzz/corpus/87f062f6a2b909525c9a904f779add2751899fd5 and /dev/null differ diff --git a/test/de_fuzz/corpus/87f827d558912b785059c17edae75eabc6a1305b b/test/de_fuzz/corpus/87f827d558912b785059c17edae75eabc6a1305b deleted file mode 100644 index 7293d4707..000000000 Binary files a/test/de_fuzz/corpus/87f827d558912b785059c17edae75eabc6a1305b and /dev/null differ diff --git a/test/de_fuzz/corpus/880b838fdd9293f807295b83c3ae2af0660e714f b/test/de_fuzz/corpus/880b838fdd9293f807295b83c3ae2af0660e714f deleted file mode 100644 index 7ba9bc2aa..000000000 Binary files a/test/de_fuzz/corpus/880b838fdd9293f807295b83c3ae2af0660e714f and /dev/null differ diff --git a/test/de_fuzz/corpus/881ae8551929b0833672856d2932c3918c6f3a36 b/test/de_fuzz/corpus/881ae8551929b0833672856d2932c3918c6f3a36 deleted file mode 100644 index 2ecd9d1ef..000000000 --- a/test/de_fuzz/corpus/881ae8551929b0833672856d2932c3918c6f3a36 +++ /dev/null @@ -1 +0,0 @@ -(((((Z((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/881b6586f5f95a2ca5e7a8859225a6c85057d16b b/test/de_fuzz/corpus/881b6586f5f95a2ca5e7a8859225a6c85057d16b deleted file mode 100644 index 547da2726..000000000 Binary files a/test/de_fuzz/corpus/881b6586f5f95a2ca5e7a8859225a6c85057d16b and /dev/null differ diff --git a/test/de_fuzz/corpus/881e728b265c0bae65a09e56765fe81a563e8a73 b/test/de_fuzz/corpus/881e728b265c0bae65a09e56765fe81a563e8a73 deleted file mode 100644 index b1a10fd2c..000000000 Binary files a/test/de_fuzz/corpus/881e728b265c0bae65a09e56765fe81a563e8a73 and /dev/null differ diff --git a/test/de_fuzz/corpus/884c34ec46ab1df7fb67be41cd3eac95e2a80c02 b/test/de_fuzz/corpus/884c34ec46ab1df7fb67be41cd3eac95e2a80c02 deleted file mode 100644 index 5b1d00cd2..000000000 Binary files a/test/de_fuzz/corpus/884c34ec46ab1df7fb67be41cd3eac95e2a80c02 and /dev/null differ diff --git a/test/de_fuzz/corpus/884ce3d07b601d002ea5841b169e549cb627be0a b/test/de_fuzz/corpus/884ce3d07b601d002ea5841b169e549cb627be0a deleted file mode 100644 index 2e494c253..000000000 Binary files a/test/de_fuzz/corpus/884ce3d07b601d002ea5841b169e549cb627be0a and /dev/null differ diff --git a/test/de_fuzz/corpus/88671763764682e46956f9f6d6b5be41b85e0c44 b/test/de_fuzz/corpus/88671763764682e46956f9f6d6b5be41b85e0c44 deleted file mode 100644 index 851996401..000000000 Binary files a/test/de_fuzz/corpus/88671763764682e46956f9f6d6b5be41b85e0c44 and /dev/null differ diff --git a/test/de_fuzz/corpus/88a28b5fbce34f1a37b99e5da12c16c13b8b6a6f b/test/de_fuzz/corpus/88a28b5fbce34f1a37b99e5da12c16c13b8b6a6f deleted file mode 100644 index a6b72450a..000000000 Binary files a/test/de_fuzz/corpus/88a28b5fbce34f1a37b99e5da12c16c13b8b6a6f and /dev/null differ diff --git a/test/de_fuzz/corpus/88b18d8fd36e47318848897ac09eeb5ab50585ea b/test/de_fuzz/corpus/88b18d8fd36e47318848897ac09eeb5ab50585ea deleted file mode 100644 index 91fe1a9ee..000000000 Binary files a/test/de_fuzz/corpus/88b18d8fd36e47318848897ac09eeb5ab50585ea and /dev/null differ diff --git a/test/de_fuzz/corpus/88ecbd75d380e95bd9e0ffc71a5853f374f12926 b/test/de_fuzz/corpus/88ecbd75d380e95bd9e0ffc71a5853f374f12926 deleted file mode 100644 index 2ed46a5e9..000000000 Binary files a/test/de_fuzz/corpus/88ecbd75d380e95bd9e0ffc71a5853f374f12926 and /dev/null differ diff --git a/test/de_fuzz/corpus/88f046e32fd4ad39d903e0fae3b4a7cf1082b251 b/test/de_fuzz/corpus/88f046e32fd4ad39d903e0fae3b4a7cf1082b251 deleted file mode 100644 index 5ed7b1a0b..000000000 Binary files a/test/de_fuzz/corpus/88f046e32fd4ad39d903e0fae3b4a7cf1082b251 and /dev/null differ diff --git a/test/de_fuzz/corpus/8914a489cdbaa77c7c20bcfabba9f613ad57c6d2 b/test/de_fuzz/corpus/8914a489cdbaa77c7c20bcfabba9f613ad57c6d2 deleted file mode 100644 index 3fdb9d15b..000000000 Binary files a/test/de_fuzz/corpus/8914a489cdbaa77c7c20bcfabba9f613ad57c6d2 and /dev/null differ diff --git a/test/de_fuzz/corpus/8930331f8651d0d7379a26980e8d3f14e2b1bfef b/test/de_fuzz/corpus/8930331f8651d0d7379a26980e8d3f14e2b1bfef deleted file mode 100644 index 9898a4da6..000000000 Binary files a/test/de_fuzz/corpus/8930331f8651d0d7379a26980e8d3f14e2b1bfef and /dev/null differ diff --git a/test/de_fuzz/corpus/8982191511152cffc87e967e7d39f87384b62654 b/test/de_fuzz/corpus/8982191511152cffc87e967e7d39f87384b62654 deleted file mode 100644 index 645ad4dbe..000000000 Binary files a/test/de_fuzz/corpus/8982191511152cffc87e967e7d39f87384b62654 and /dev/null differ diff --git a/test/de_fuzz/corpus/898e263b72c39c43ca91307bd6b1bf51078c6839 b/test/de_fuzz/corpus/898e263b72c39c43ca91307bd6b1bf51078c6839 deleted file mode 100644 index 07b63972b..000000000 Binary files a/test/de_fuzz/corpus/898e263b72c39c43ca91307bd6b1bf51078c6839 and /dev/null differ diff --git a/test/de_fuzz/corpus/89a98ad2967bea06449a03974503f22d3a014b4f b/test/de_fuzz/corpus/89a98ad2967bea06449a03974503f22d3a014b4f deleted file mode 100644 index 7a02dba97..000000000 Binary files a/test/de_fuzz/corpus/89a98ad2967bea06449a03974503f22d3a014b4f and /dev/null differ diff --git a/test/de_fuzz/corpus/89b75574c219b25cb6c16f434f77dae92d13bc93 b/test/de_fuzz/corpus/89b75574c219b25cb6c16f434f77dae92d13bc93 deleted file mode 100644 index 0cce56ab2..000000000 Binary files a/test/de_fuzz/corpus/89b75574c219b25cb6c16f434f77dae92d13bc93 and /dev/null differ diff --git a/test/de_fuzz/corpus/89cceb067d6f28cc57b900c63f272ce2ff0a478c b/test/de_fuzz/corpus/89cceb067d6f28cc57b900c63f272ce2ff0a478c deleted file mode 100644 index e69e4e2a8..000000000 Binary files a/test/de_fuzz/corpus/89cceb067d6f28cc57b900c63f272ce2ff0a478c and /dev/null differ diff --git a/test/de_fuzz/corpus/89cda2a6722c73499b8d5fdbb428effda4f6b222 b/test/de_fuzz/corpus/89cda2a6722c73499b8d5fdbb428effda4f6b222 deleted file mode 100644 index 0625d96b6..000000000 --- a/test/de_fuzz/corpus/89cda2a6722c73499b8d5fdbb428effda4f6b222 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/89d633a63ced4142aa246d829ea99baf894e4dd7 b/test/de_fuzz/corpus/89d633a63ced4142aa246d829ea99baf894e4dd7 deleted file mode 100644 index 0383b95ff..000000000 --- a/test/de_fuzz/corpus/89d633a63ced4142aa246d829ea99baf894e4dd7 +++ /dev/null @@ -1,5 +0,0 @@ -8^\l*(?:((.8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ - {{{{{{{{{{{{ - *?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ - {{{{{{{{{{{{ - \ No newline at end of file diff --git a/test/de_fuzz/corpus/8a0cab91fe55dd6690c9720efbb3c5771fed8a3a b/test/de_fuzz/corpus/8a0cab91fe55dd6690c9720efbb3c5771fed8a3a deleted file mode 100644 index 0c4b0376e..000000000 Binary files a/test/de_fuzz/corpus/8a0cab91fe55dd6690c9720efbb3c5771fed8a3a and /dev/null differ diff --git a/test/de_fuzz/corpus/8a1e77b6bac38c0da776ede2d3896bd8e13c240b b/test/de_fuzz/corpus/8a1e77b6bac38c0da776ede2d3896bd8e13c240b deleted file mode 100644 index ebefbada3..000000000 Binary files a/test/de_fuzz/corpus/8a1e77b6bac38c0da776ede2d3896bd8e13c240b and /dev/null differ diff --git a/test/de_fuzz/corpus/8a3c978f458e67c59bb36724ccba690d8c14abfb b/test/de_fuzz/corpus/8a3c978f458e67c59bb36724ccba690d8c14abfb deleted file mode 100644 index fdcd4bf77..000000000 Binary files a/test/de_fuzz/corpus/8a3c978f458e67c59bb36724ccba690d8c14abfb and /dev/null differ diff --git a/test/de_fuzz/corpus/8a44a82ecd73a61994b27dea7e93fca78f005a0a b/test/de_fuzz/corpus/8a44a82ecd73a61994b27dea7e93fca78f005a0a deleted file mode 100644 index 39df0d585..000000000 Binary files a/test/de_fuzz/corpus/8a44a82ecd73a61994b27dea7e93fca78f005a0a and /dev/null differ diff --git a/test/de_fuzz/corpus/8a54b289c3c08d3c94d26651d18d7191bc5279eb b/test/de_fuzz/corpus/8a54b289c3c08d3c94d26651d18d7191bc5279eb deleted file mode 100644 index f7380a4b2..000000000 Binary files a/test/de_fuzz/corpus/8a54b289c3c08d3c94d26651d18d7191bc5279eb and /dev/null differ diff --git a/test/de_fuzz/corpus/8a643925a655c74488a579723954af11509e0006 b/test/de_fuzz/corpus/8a643925a655c74488a579723954af11509e0006 deleted file mode 100644 index 50312065d..000000000 Binary files a/test/de_fuzz/corpus/8a643925a655c74488a579723954af11509e0006 and /dev/null differ diff --git a/test/de_fuzz/corpus/8a6c12012ec9c4e8b0cd23a2df396688b12a780c b/test/de_fuzz/corpus/8a6c12012ec9c4e8b0cd23a2df396688b12a780c deleted file mode 100644 index 168cd28f9..000000000 Binary files a/test/de_fuzz/corpus/8a6c12012ec9c4e8b0cd23a2df396688b12a780c and /dev/null differ diff --git a/test/de_fuzz/corpus/8a71589497132b18fc1ae8ef0c92a4a8b5630ffb b/test/de_fuzz/corpus/8a71589497132b18fc1ae8ef0c92a4a8b5630ffb deleted file mode 100644 index 74fe850d4..000000000 Binary files a/test/de_fuzz/corpus/8a71589497132b18fc1ae8ef0c92a4a8b5630ffb and /dev/null differ diff --git a/test/de_fuzz/corpus/8a93dd6964e292891f2c84082c3d29ad88134470 b/test/de_fuzz/corpus/8a93dd6964e292891f2c84082c3d29ad88134470 deleted file mode 100644 index fe3cf0437..000000000 Binary files a/test/de_fuzz/corpus/8a93dd6964e292891f2c84082c3d29ad88134470 and /dev/null differ diff --git a/test/de_fuzz/corpus/8abdd3d6502b310f62170afe83fbcbaccc53c1c4 b/test/de_fuzz/corpus/8abdd3d6502b310f62170afe83fbcbaccc53c1c4 deleted file mode 100644 index c39600f90..000000000 Binary files a/test/de_fuzz/corpus/8abdd3d6502b310f62170afe83fbcbaccc53c1c4 and /dev/null differ diff --git a/test/de_fuzz/corpus/8ac9600cf57f41e17cb8004249d738f39263fdc3 b/test/de_fuzz/corpus/8ac9600cf57f41e17cb8004249d738f39263fdc3 deleted file mode 100644 index 60cba3f43..000000000 Binary files a/test/de_fuzz/corpus/8ac9600cf57f41e17cb8004249d738f39263fdc3 and /dev/null differ diff --git a/test/de_fuzz/corpus/8acdb5aaec9273aba72507dc6deff040893c40e4 b/test/de_fuzz/corpus/8acdb5aaec9273aba72507dc6deff040893c40e4 deleted file mode 100644 index d31ef80d7..000000000 Binary files a/test/de_fuzz/corpus/8acdb5aaec9273aba72507dc6deff040893c40e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/8aea9b82db5c67f1d051014334033d02e819de2a b/test/de_fuzz/corpus/8aea9b82db5c67f1d051014334033d02e819de2a deleted file mode 100644 index 3275b5e44..000000000 Binary files a/test/de_fuzz/corpus/8aea9b82db5c67f1d051014334033d02e819de2a and /dev/null differ diff --git a/test/de_fuzz/corpus/8b13eaa5a71365fae3d8502151f1d9465e19fa55 b/test/de_fuzz/corpus/8b13eaa5a71365fae3d8502151f1d9465e19fa55 deleted file mode 100644 index e7e4840f4..000000000 Binary files a/test/de_fuzz/corpus/8b13eaa5a71365fae3d8502151f1d9465e19fa55 and /dev/null differ diff --git a/test/de_fuzz/corpus/8b6cdb7d86fe6da29a892826a9022b5369e6ff5c b/test/de_fuzz/corpus/8b6cdb7d86fe6da29a892826a9022b5369e6ff5c deleted file mode 100644 index 6570281bc..000000000 Binary files a/test/de_fuzz/corpus/8b6cdb7d86fe6da29a892826a9022b5369e6ff5c and /dev/null differ diff --git a/test/de_fuzz/corpus/8b77a150601bb8f24c3e0f74adcb590746eca563 b/test/de_fuzz/corpus/8b77a150601bb8f24c3e0f74adcb590746eca563 deleted file mode 100644 index 25f88c0a6..000000000 Binary files a/test/de_fuzz/corpus/8b77a150601bb8f24c3e0f74adcb590746eca563 and /dev/null differ diff --git a/test/de_fuzz/corpus/8b7de5617bbe0639d7fdee9c3d56cf585bb04ff2 b/test/de_fuzz/corpus/8b7de5617bbe0639d7fdee9c3d56cf585bb04ff2 deleted file mode 100644 index 000dcab45..000000000 Binary files a/test/de_fuzz/corpus/8b7de5617bbe0639d7fdee9c3d56cf585bb04ff2 and /dev/null differ diff --git a/test/de_fuzz/corpus/8bb1b99d4e2b731bc20ae508d8e0decec4311094 b/test/de_fuzz/corpus/8bb1b99d4e2b731bc20ae508d8e0decec4311094 deleted file mode 100644 index 74ecb137c..000000000 Binary files a/test/de_fuzz/corpus/8bb1b99d4e2b731bc20ae508d8e0decec4311094 and /dev/null differ diff --git a/test/de_fuzz/corpus/8bc4aaac51e8eb3d6ab5c5a054b93d8bdeca3845 b/test/de_fuzz/corpus/8bc4aaac51e8eb3d6ab5c5a054b93d8bdeca3845 deleted file mode 100644 index 50d500938..000000000 Binary files a/test/de_fuzz/corpus/8bc4aaac51e8eb3d6ab5c5a054b93d8bdeca3845 and /dev/null differ diff --git a/test/de_fuzz/corpus/8bfac694265c22d10ae5ccd669bbda8497e37141 b/test/de_fuzz/corpus/8bfac694265c22d10ae5ccd669bbda8497e37141 deleted file mode 100644 index 2141aa0e8..000000000 Binary files a/test/de_fuzz/corpus/8bfac694265c22d10ae5ccd669bbda8497e37141 and /dev/null differ diff --git a/test/de_fuzz/corpus/8c3641012d799445add3ca513c2148e9a37d429f b/test/de_fuzz/corpus/8c3641012d799445add3ca513c2148e9a37d429f deleted file mode 100644 index 636e375f4..000000000 Binary files a/test/de_fuzz/corpus/8c3641012d799445add3ca513c2148e9a37d429f and /dev/null differ diff --git a/test/de_fuzz/corpus/8c86d6defb7f94e5f41ac47f7d45cd234bffa851 b/test/de_fuzz/corpus/8c86d6defb7f94e5f41ac47f7d45cd234bffa851 deleted file mode 100644 index cc49cf6ea..000000000 Binary files a/test/de_fuzz/corpus/8c86d6defb7f94e5f41ac47f7d45cd234bffa851 and /dev/null differ diff --git a/test/de_fuzz/corpus/8c88a57828530a49a49a06cd41ea46f868d25a2f b/test/de_fuzz/corpus/8c88a57828530a49a49a06cd41ea46f868d25a2f deleted file mode 100644 index 95d78b596..000000000 Binary files a/test/de_fuzz/corpus/8c88a57828530a49a49a06cd41ea46f868d25a2f and /dev/null differ diff --git a/test/de_fuzz/corpus/8cbf330b23b7e5df5eafb2b72179c895c26f944e b/test/de_fuzz/corpus/8cbf330b23b7e5df5eafb2b72179c895c26f944e deleted file mode 100644 index 54c3c1535..000000000 Binary files a/test/de_fuzz/corpus/8cbf330b23b7e5df5eafb2b72179c895c26f944e and /dev/null differ diff --git a/test/de_fuzz/corpus/8ced000ebfdaeadb3500bd16daac362a12dce2c1 b/test/de_fuzz/corpus/8ced000ebfdaeadb3500bd16daac362a12dce2c1 deleted file mode 100644 index 76aee9be9..000000000 Binary files a/test/de_fuzz/corpus/8ced000ebfdaeadb3500bd16daac362a12dce2c1 and /dev/null differ diff --git a/test/de_fuzz/corpus/8cf32ab3b982048dfbfc21b7cb05f8fb21bb93ca b/test/de_fuzz/corpus/8cf32ab3b982048dfbfc21b7cb05f8fb21bb93ca deleted file mode 100644 index 012811de2..000000000 Binary files a/test/de_fuzz/corpus/8cf32ab3b982048dfbfc21b7cb05f8fb21bb93ca and /dev/null differ diff --git a/test/de_fuzz/corpus/8cfe478913b95d509c9bfad36b5d143bd748a44c b/test/de_fuzz/corpus/8cfe478913b95d509c9bfad36b5d143bd748a44c deleted file mode 100644 index 349a5b6b5..000000000 Binary files a/test/de_fuzz/corpus/8cfe478913b95d509c9bfad36b5d143bd748a44c and /dev/null differ diff --git a/test/de_fuzz/corpus/8d35ad200004362b46e6b0c61e75b79f2f7480e5 b/test/de_fuzz/corpus/8d35ad200004362b46e6b0c61e75b79f2f7480e5 deleted file mode 100644 index 3dbbcc6dc..000000000 Binary files a/test/de_fuzz/corpus/8d35ad200004362b46e6b0c61e75b79f2f7480e5 and /dev/null differ diff --git a/test/de_fuzz/corpus/8d406e0e3dfa191db7da78499f717de2f71cc631 b/test/de_fuzz/corpus/8d406e0e3dfa191db7da78499f717de2f71cc631 deleted file mode 100644 index 949bb8b65..000000000 Binary files a/test/de_fuzz/corpus/8d406e0e3dfa191db7da78499f717de2f71cc631 and /dev/null differ diff --git a/test/de_fuzz/corpus/8d508a8ba89408c391639b4e6deeb8a8e19c8e61 b/test/de_fuzz/corpus/8d508a8ba89408c391639b4e6deeb8a8e19c8e61 deleted file mode 100644 index e6058ff6a..000000000 Binary files a/test/de_fuzz/corpus/8d508a8ba89408c391639b4e6deeb8a8e19c8e61 and /dev/null differ diff --git a/test/de_fuzz/corpus/8d5b7eb2401ea7e1faeeefaa5bffa3e2483329a8 b/test/de_fuzz/corpus/8d5b7eb2401ea7e1faeeefaa5bffa3e2483329a8 deleted file mode 100644 index 5cb0c9093..000000000 Binary files a/test/de_fuzz/corpus/8d5b7eb2401ea7e1faeeefaa5bffa3e2483329a8 and /dev/null differ diff --git a/test/de_fuzz/corpus/8d7a85c4a16107a5bf53d50ca96d0179766455c2 b/test/de_fuzz/corpus/8d7a85c4a16107a5bf53d50ca96d0179766455c2 deleted file mode 100644 index 028b8a16b..000000000 Binary files a/test/de_fuzz/corpus/8d7a85c4a16107a5bf53d50ca96d0179766455c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/8d95ea8babebdebd2432fdccff8a8b40c8fbbc9a b/test/de_fuzz/corpus/8d95ea8babebdebd2432fdccff8a8b40c8fbbc9a deleted file mode 100644 index dd4b0b9ca..000000000 Binary files a/test/de_fuzz/corpus/8d95ea8babebdebd2432fdccff8a8b40c8fbbc9a and /dev/null differ diff --git a/test/de_fuzz/corpus/8d9eba73a42fb975df2ef1dabb2ada811d714a4c b/test/de_fuzz/corpus/8d9eba73a42fb975df2ef1dabb2ada811d714a4c deleted file mode 100644 index e9a1a3820..000000000 Binary files a/test/de_fuzz/corpus/8d9eba73a42fb975df2ef1dabb2ada811d714a4c and /dev/null differ diff --git a/test/de_fuzz/corpus/8dbde3c66eb71410a453a37207ac871f1baa91c6 b/test/de_fuzz/corpus/8dbde3c66eb71410a453a37207ac871f1baa91c6 deleted file mode 100644 index f78863d66..000000000 Binary files a/test/de_fuzz/corpus/8dbde3c66eb71410a453a37207ac871f1baa91c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/8dc830a5e6663e7b66edeafb131af4bfe7419940 b/test/de_fuzz/corpus/8dc830a5e6663e7b66edeafb131af4bfe7419940 deleted file mode 100644 index db8e07558..000000000 Binary files a/test/de_fuzz/corpus/8dc830a5e6663e7b66edeafb131af4bfe7419940 and /dev/null differ diff --git a/test/de_fuzz/corpus/8dd0c8132d1a16a89a5a8a76bd7ed36bfa44ea92 b/test/de_fuzz/corpus/8dd0c8132d1a16a89a5a8a76bd7ed36bfa44ea92 deleted file mode 100644 index 90725bdb4..000000000 Binary files a/test/de_fuzz/corpus/8dd0c8132d1a16a89a5a8a76bd7ed36bfa44ea92 and /dev/null differ diff --git a/test/de_fuzz/corpus/8e41e4a0fa2d8b1866fb283f4e176b94c16be9f2 b/test/de_fuzz/corpus/8e41e4a0fa2d8b1866fb283f4e176b94c16be9f2 deleted file mode 100644 index 9d19754fe..000000000 Binary files a/test/de_fuzz/corpus/8e41e4a0fa2d8b1866fb283f4e176b94c16be9f2 and /dev/null differ diff --git a/test/de_fuzz/corpus/8e9ca224319049c63b16d5a0837d2549d68526f9 b/test/de_fuzz/corpus/8e9ca224319049c63b16d5a0837d2549d68526f9 deleted file mode 100644 index 46b63545b..000000000 Binary files a/test/de_fuzz/corpus/8e9ca224319049c63b16d5a0837d2549d68526f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/8eaab4a599ae04b0032d7f142bff4a258ca35f6e b/test/de_fuzz/corpus/8eaab4a599ae04b0032d7f142bff4a258ca35f6e deleted file mode 100644 index 5d4fe1394..000000000 Binary files a/test/de_fuzz/corpus/8eaab4a599ae04b0032d7f142bff4a258ca35f6e and /dev/null differ diff --git a/test/de_fuzz/corpus/8ed1b883e26fd301bd114be3353b0ef8715934f4 b/test/de_fuzz/corpus/8ed1b883e26fd301bd114be3353b0ef8715934f4 deleted file mode 100644 index c56da8be5..000000000 Binary files a/test/de_fuzz/corpus/8ed1b883e26fd301bd114be3353b0ef8715934f4 and /dev/null differ diff --git a/test/de_fuzz/corpus/8eec6dd446890066f217f401a37a8a404549b7c9 b/test/de_fuzz/corpus/8eec6dd446890066f217f401a37a8a404549b7c9 deleted file mode 100644 index 1a14c2499..000000000 Binary files a/test/de_fuzz/corpus/8eec6dd446890066f217f401a37a8a404549b7c9 and /dev/null differ diff --git a/test/de_fuzz/corpus/8f5843cb5d4e8e842e8377f3e3891ee20bb4d5bd b/test/de_fuzz/corpus/8f5843cb5d4e8e842e8377f3e3891ee20bb4d5bd deleted file mode 100644 index b66adbb89..000000000 Binary files a/test/de_fuzz/corpus/8f5843cb5d4e8e842e8377f3e3891ee20bb4d5bd and /dev/null differ diff --git a/test/de_fuzz/corpus/8f761765af89d2dac91bf8814aab7cf2ad0d01f9 b/test/de_fuzz/corpus/8f761765af89d2dac91bf8814aab7cf2ad0d01f9 deleted file mode 100644 index 31b77da02..000000000 Binary files a/test/de_fuzz/corpus/8f761765af89d2dac91bf8814aab7cf2ad0d01f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/8fd0cc3edb201cc0be0a1b3813f063daf372f7a1 b/test/de_fuzz/corpus/8fd0cc3edb201cc0be0a1b3813f063daf372f7a1 deleted file mode 100644 index 7f687fc96..000000000 Binary files a/test/de_fuzz/corpus/8fd0cc3edb201cc0be0a1b3813f063daf372f7a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/9010edc8d773afedf5d21547cee74e1ad87f7610 b/test/de_fuzz/corpus/9010edc8d773afedf5d21547cee74e1ad87f7610 deleted file mode 100644 index f14b717be..000000000 Binary files a/test/de_fuzz/corpus/9010edc8d773afedf5d21547cee74e1ad87f7610 and /dev/null differ diff --git a/test/de_fuzz/corpus/9073d51e0dcce305a95b76ee86a539e4adbfdf8d b/test/de_fuzz/corpus/9073d51e0dcce305a95b76ee86a539e4adbfdf8d deleted file mode 100644 index aefe6c9d3..000000000 Binary files a/test/de_fuzz/corpus/9073d51e0dcce305a95b76ee86a539e4adbfdf8d and /dev/null differ diff --git a/test/de_fuzz/corpus/9087db17aa6709f7eef1319f16c47ad0302d46cd b/test/de_fuzz/corpus/9087db17aa6709f7eef1319f16c47ad0302d46cd deleted file mode 100644 index 50b003008..000000000 Binary files a/test/de_fuzz/corpus/9087db17aa6709f7eef1319f16c47ad0302d46cd and /dev/null differ diff --git a/test/de_fuzz/corpus/90a7e2a64d5d5f8ef4d560e1f251f978c1110c57 b/test/de_fuzz/corpus/90a7e2a64d5d5f8ef4d560e1f251f978c1110c57 deleted file mode 100644 index 4580049b4..000000000 Binary files a/test/de_fuzz/corpus/90a7e2a64d5d5f8ef4d560e1f251f978c1110c57 and /dev/null differ diff --git a/test/de_fuzz/corpus/90a881234619aa3c88a7d58dffe5bcf3bae208a6 b/test/de_fuzz/corpus/90a881234619aa3c88a7d58dffe5bcf3bae208a6 deleted file mode 100644 index c06a8b21e..000000000 Binary files a/test/de_fuzz/corpus/90a881234619aa3c88a7d58dffe5bcf3bae208a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/90c2174c9d211f9aee24eecb391a7d09216582c6 b/test/de_fuzz/corpus/90c2174c9d211f9aee24eecb391a7d09216582c6 deleted file mode 100644 index b477c07f2..000000000 Binary files a/test/de_fuzz/corpus/90c2174c9d211f9aee24eecb391a7d09216582c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/90cc8abcca37232875220b2d724b55852ff012d3 b/test/de_fuzz/corpus/90cc8abcca37232875220b2d724b55852ff012d3 deleted file mode 100644 index 7fa181998..000000000 Binary files a/test/de_fuzz/corpus/90cc8abcca37232875220b2d724b55852ff012d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/9108f56b563192c3c58b14f6d788af544fb2fdb2 b/test/de_fuzz/corpus/9108f56b563192c3c58b14f6d788af544fb2fdb2 deleted file mode 100644 index 3081dc765..000000000 Binary files a/test/de_fuzz/corpus/9108f56b563192c3c58b14f6d788af544fb2fdb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/9121a5c427b93173bba96d86feda56b7cedd4bf1 b/test/de_fuzz/corpus/9121a5c427b93173bba96d86feda56b7cedd4bf1 deleted file mode 100644 index 91845e86f..000000000 Binary files a/test/de_fuzz/corpus/9121a5c427b93173bba96d86feda56b7cedd4bf1 and /dev/null differ diff --git a/test/de_fuzz/corpus/912f19316232b1ed873b096a691fd64fcec3f159 b/test/de_fuzz/corpus/912f19316232b1ed873b096a691fd64fcec3f159 deleted file mode 100644 index 07e4a56d9..000000000 Binary files a/test/de_fuzz/corpus/912f19316232b1ed873b096a691fd64fcec3f159 and /dev/null differ diff --git a/test/de_fuzz/corpus/9157934e991731f375064b51748e31c05bb1d330 b/test/de_fuzz/corpus/9157934e991731f375064b51748e31c05bb1d330 deleted file mode 100644 index 2f437deb2..000000000 Binary files a/test/de_fuzz/corpus/9157934e991731f375064b51748e31c05bb1d330 and /dev/null differ diff --git a/test/de_fuzz/corpus/9157f47f7117cc3789de59184c16b8b166459057 b/test/de_fuzz/corpus/9157f47f7117cc3789de59184c16b8b166459057 deleted file mode 100644 index 3668136c6..000000000 Binary files a/test/de_fuzz/corpus/9157f47f7117cc3789de59184c16b8b166459057 and /dev/null differ diff --git a/test/de_fuzz/corpus/9162ccb22bc95e503a19ce9a9335e39e7b455867 b/test/de_fuzz/corpus/9162ccb22bc95e503a19ce9a9335e39e7b455867 deleted file mode 100644 index f58f6971a..000000000 Binary files a/test/de_fuzz/corpus/9162ccb22bc95e503a19ce9a9335e39e7b455867 and /dev/null differ diff --git a/test/de_fuzz/corpus/9183e7980685966e1af526fae1573d8e50dc5095 b/test/de_fuzz/corpus/9183e7980685966e1af526fae1573d8e50dc5095 deleted file mode 100644 index 88d1ebe6b..000000000 Binary files a/test/de_fuzz/corpus/9183e7980685966e1af526fae1573d8e50dc5095 and /dev/null differ diff --git a/test/de_fuzz/corpus/919bd6189714557c19695346641e3ce2fae2318e b/test/de_fuzz/corpus/919bd6189714557c19695346641e3ce2fae2318e deleted file mode 100644 index 167d4a305..000000000 Binary files a/test/de_fuzz/corpus/919bd6189714557c19695346641e3ce2fae2318e and /dev/null differ diff --git a/test/de_fuzz/corpus/919ebaa50d2e84a6ff0588a02a3e2d84bf523ca7 b/test/de_fuzz/corpus/919ebaa50d2e84a6ff0588a02a3e2d84bf523ca7 deleted file mode 100644 index db740b520..000000000 Binary files a/test/de_fuzz/corpus/919ebaa50d2e84a6ff0588a02a3e2d84bf523ca7 and /dev/null differ diff --git a/test/de_fuzz/corpus/91a91b313f95c6c4fb1af70d8fd1599e2b1f25d9 b/test/de_fuzz/corpus/91a91b313f95c6c4fb1af70d8fd1599e2b1f25d9 deleted file mode 100644 index d0155d0e3..000000000 Binary files a/test/de_fuzz/corpus/91a91b313f95c6c4fb1af70d8fd1599e2b1f25d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/91af9fc0e4c285f42b81879067b0edce60cafa70 b/test/de_fuzz/corpus/91af9fc0e4c285f42b81879067b0edce60cafa70 deleted file mode 100644 index dba701325..000000000 --- a/test/de_fuzz/corpus/91af9fc0e4c285f42b81879067b0edce60cafa70 +++ /dev/null @@ -1,105 +0,0 @@ -' (?: [\040\t](?i)\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] 2 # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/91b5485dcd5ec6920812f7c794b290b873cff5b4 b/test/de_fuzz/corpus/91b5485dcd5ec6920812f7c794b290b873cff5b4 deleted file mode 100644 index 612ea6140..000000000 Binary files a/test/de_fuzz/corpus/91b5485dcd5ec6920812f7c794b290b873cff5b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/91cdb29bfb07eba6d056f20a81060a23dcf92a7f b/test/de_fuzz/corpus/91cdb29bfb07eba6d056f20a81060a23dcf92a7f deleted file mode 100644 index a1270348d..000000000 Binary files a/test/de_fuzz/corpus/91cdb29bfb07eba6d056f20a81060a23dcf92a7f and /dev/null differ diff --git a/test/de_fuzz/corpus/91edeef90532a1ffacc52f66a72f475aebffb7da b/test/de_fuzz/corpus/91edeef90532a1ffacc52f66a72f475aebffb7da deleted file mode 100644 index c48e3d15d..000000000 Binary files a/test/de_fuzz/corpus/91edeef90532a1ffacc52f66a72f475aebffb7da and /dev/null differ diff --git a/test/de_fuzz/corpus/921b6db50d9740413e58ab74573c626a779030a7 b/test/de_fuzz/corpus/921b6db50d9740413e58ab74573c626a779030a7 deleted file mode 100644 index 99bb9178d..000000000 Binary files a/test/de_fuzz/corpus/921b6db50d9740413e58ab74573c626a779030a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/923249900551d6b49c43217748cafce9829a29bb b/test/de_fuzz/corpus/923249900551d6b49c43217748cafce9829a29bb deleted file mode 100644 index 2e63437b4..000000000 Binary files a/test/de_fuzz/corpus/923249900551d6b49c43217748cafce9829a29bb and /dev/null differ diff --git a/test/de_fuzz/corpus/9241303cba0d7cd46aa5d9e6e7ff881fcecb4010 b/test/de_fuzz/corpus/9241303cba0d7cd46aa5d9e6e7ff881fcecb4010 deleted file mode 100644 index 9356788f4..000000000 Binary files a/test/de_fuzz/corpus/9241303cba0d7cd46aa5d9e6e7ff881fcecb4010 and /dev/null differ diff --git a/test/de_fuzz/corpus/9254c2917d65dad11b79fae05327c8cc99b6f5cc b/test/de_fuzz/corpus/9254c2917d65dad11b79fae05327c8cc99b6f5cc deleted file mode 100644 index 97aa41261..000000000 Binary files a/test/de_fuzz/corpus/9254c2917d65dad11b79fae05327c8cc99b6f5cc and /dev/null differ diff --git a/test/de_fuzz/corpus/927f3dddb75ee89edf8f374b59f85370251932f4 b/test/de_fuzz/corpus/927f3dddb75ee89edf8f374b59f85370251932f4 deleted file mode 100644 index db9087e91..000000000 Binary files a/test/de_fuzz/corpus/927f3dddb75ee89edf8f374b59f85370251932f4 and /dev/null differ diff --git a/test/de_fuzz/corpus/92834e0f490cf93e21904c60eb629ffd0ae17e1f b/test/de_fuzz/corpus/92834e0f490cf93e21904c60eb629ffd0ae17e1f deleted file mode 100644 index 66df47c8d..000000000 Binary files a/test/de_fuzz/corpus/92834e0f490cf93e21904c60eb629ffd0ae17e1f and /dev/null differ diff --git a/test/de_fuzz/corpus/92cde191efd60278f511d2f2a69bfebed7f3644a b/test/de_fuzz/corpus/92cde191efd60278f511d2f2a69bfebed7f3644a deleted file mode 100644 index 691f6170d..000000000 Binary files a/test/de_fuzz/corpus/92cde191efd60278f511d2f2a69bfebed7f3644a and /dev/null differ diff --git a/test/de_fuzz/corpus/92cfad5581185abd31befdf24ed395353b76829e b/test/de_fuzz/corpus/92cfad5581185abd31befdf24ed395353b76829e deleted file mode 100644 index 573c07f07..000000000 Binary files a/test/de_fuzz/corpus/92cfad5581185abd31befdf24ed395353b76829e and /dev/null differ diff --git a/test/de_fuzz/corpus/92d34554aaef072445deb2e00d28ff6a4beb309b b/test/de_fuzz/corpus/92d34554aaef072445deb2e00d28ff6a4beb309b deleted file mode 100644 index f010906dd..000000000 Binary files a/test/de_fuzz/corpus/92d34554aaef072445deb2e00d28ff6a4beb309b and /dev/null differ diff --git a/test/de_fuzz/corpus/9356f1b2283b407bce7a9d7f59bfab0eff4331ac b/test/de_fuzz/corpus/9356f1b2283b407bce7a9d7f59bfab0eff4331ac deleted file mode 100644 index 116661bfa..000000000 Binary files a/test/de_fuzz/corpus/9356f1b2283b407bce7a9d7f59bfab0eff4331ac and /dev/null differ diff --git a/test/de_fuzz/corpus/93a62204887598972d600f65779ee1581d0b460b b/test/de_fuzz/corpus/93a62204887598972d600f65779ee1581d0b460b deleted file mode 100644 index a5ae033fc..000000000 Binary files a/test/de_fuzz/corpus/93a62204887598972d600f65779ee1581d0b460b and /dev/null differ diff --git a/test/de_fuzz/corpus/93bc46155fa01903809bfe23a96e20f94b4206e5 b/test/de_fuzz/corpus/93bc46155fa01903809bfe23a96e20f94b4206e5 deleted file mode 100644 index 09f52380c..000000000 Binary files a/test/de_fuzz/corpus/93bc46155fa01903809bfe23a96e20f94b4206e5 and /dev/null differ diff --git a/test/de_fuzz/corpus/93ee1917fd104a81e997655e3249912b037a0c63 b/test/de_fuzz/corpus/93ee1917fd104a81e997655e3249912b037a0c63 deleted file mode 100644 index 48350ba1e..000000000 Binary files a/test/de_fuzz/corpus/93ee1917fd104a81e997655e3249912b037a0c63 and /dev/null differ diff --git a/test/de_fuzz/corpus/941a948f29d304b59cd35f05a657b3223af66fec b/test/de_fuzz/corpus/941a948f29d304b59cd35f05a657b3223af66fec deleted file mode 100644 index e95cd3424..000000000 Binary files a/test/de_fuzz/corpus/941a948f29d304b59cd35f05a657b3223af66fec and /dev/null differ diff --git a/test/de_fuzz/corpus/944edc11de4405a783948b6f8a8bf7e4876d8cf0 b/test/de_fuzz/corpus/944edc11de4405a783948b6f8a8bf7e4876d8cf0 deleted file mode 100644 index 9bc12ccbd..000000000 Binary files a/test/de_fuzz/corpus/944edc11de4405a783948b6f8a8bf7e4876d8cf0 and /dev/null differ diff --git a/test/de_fuzz/corpus/9451f7b03278bc5d417a877c389fc7c447d1a6b2 b/test/de_fuzz/corpus/9451f7b03278bc5d417a877c389fc7c447d1a6b2 deleted file mode 100644 index 7b515f4cb..000000000 Binary files a/test/de_fuzz/corpus/9451f7b03278bc5d417a877c389fc7c447d1a6b2 and /dev/null differ diff --git a/test/de_fuzz/corpus/9467c64aa68232ffce07f80ce602e92eee9bc1b1 b/test/de_fuzz/corpus/9467c64aa68232ffce07f80ce602e92eee9bc1b1 deleted file mode 100644 index 7a2c4421e..000000000 --- a/test/de_fuzz/corpus/9467c64aa68232ffce07f80ce602e92eee9bc1b1 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{))\W*$The quick b{4,}rown )ox \ No newline at end of file diff --git a/test/de_fuzz/corpus/9468e536b602e4f20aee6399e62e7955b305155d b/test/de_fuzz/corpus/9468e536b602e4f20aee6399e62e7955b305155d deleted file mode 100644 index 8ed883bee..000000000 Binary files a/test/de_fuzz/corpus/9468e536b602e4f20aee6399e62e7955b305155d and /dev/null differ diff --git a/test/de_fuzz/corpus/9477ca9dbc598c472bd0b694979c228842d7eaf6 b/test/de_fuzz/corpus/9477ca9dbc598c472bd0b694979c228842d7eaf6 deleted file mode 100644 index e98eac44a..000000000 Binary files a/test/de_fuzz/corpus/9477ca9dbc598c472bd0b694979c228842d7eaf6 and /dev/null differ diff --git a/test/de_fuzz/corpus/9482e8f0749045afe42106aa589cfdd1fb468954 b/test/de_fuzz/corpus/9482e8f0749045afe42106aa589cfdd1fb468954 deleted file mode 100644 index db46042dc..000000000 Binary files a/test/de_fuzz/corpus/9482e8f0749045afe42106aa589cfdd1fb468954 and /dev/null differ diff --git a/test/de_fuzz/corpus/9496206d4cff2951bcf572a6e66087ddef6584c1 b/test/de_fuzz/corpus/9496206d4cff2951bcf572a6e66087ddef6584c1 deleted file mode 100644 index 2e4ca985d..000000000 Binary files a/test/de_fuzz/corpus/9496206d4cff2951bcf572a6e66087ddef6584c1 and /dev/null differ diff --git a/test/de_fuzz/corpus/94a7fb53f8efaa8d7d4c82fb8ae9239fbca85100 b/test/de_fuzz/corpus/94a7fb53f8efaa8d7d4c82fb8ae9239fbca85100 deleted file mode 100644 index 9e740735f..000000000 Binary files a/test/de_fuzz/corpus/94a7fb53f8efaa8d7d4c82fb8ae9239fbca85100 and /dev/null differ diff --git a/test/de_fuzz/corpus/94dd8753c45908012991e1a9a71abd88187d43f0 b/test/de_fuzz/corpus/94dd8753c45908012991e1a9a71abd88187d43f0 deleted file mode 100644 index 4f47897e8..000000000 Binary files a/test/de_fuzz/corpus/94dd8753c45908012991e1a9a71abd88187d43f0 and /dev/null differ diff --git a/test/de_fuzz/corpus/94f4074d11208a3d25fe2d8c16406e0c48689b50 b/test/de_fuzz/corpus/94f4074d11208a3d25fe2d8c16406e0c48689b50 deleted file mode 100644 index 6a32527b0..000000000 --- a/test/de_fuzz/corpus/94f4074d11208a3d25fe2d8c16406e0c48689b50 +++ /dev/null @@ -1 +0,0 @@ -*^\n*(?:((.*?)\W*(?1)\W*\΃\W*(?3)\W*\2|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZ)\W*\2| |((.)\W*(?3)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZZZZZZZZZZZ.)ZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZ.)\W*(?4)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZZZZZZZZZZ \ No newline at end of file diff --git a/test/de_fuzz/corpus/94f9b0d6d3e80a005f552154580a36c7f332d99f b/test/de_fuzz/corpus/94f9b0d6d3e80a005f552154580a36c7f332d99f deleted file mode 100644 index a40a82d4a..000000000 Binary files a/test/de_fuzz/corpus/94f9b0d6d3e80a005f552154580a36c7f332d99f and /dev/null differ diff --git a/test/de_fuzz/corpus/9511e41c14d623207a753d1f6d25148569ad9ccf b/test/de_fuzz/corpus/9511e41c14d623207a753d1f6d25148569ad9ccf deleted file mode 100644 index ac970efc3..000000000 Binary files a/test/de_fuzz/corpus/9511e41c14d623207a753d1f6d25148569ad9ccf and /dev/null differ diff --git a/test/de_fuzz/corpus/9532e23d20debea383f30c3fb80704c8560ce57c b/test/de_fuzz/corpus/9532e23d20debea383f30c3fb80704c8560ce57c deleted file mode 100644 index 4764ac2e8..000000000 Binary files a/test/de_fuzz/corpus/9532e23d20debea383f30c3fb80704c8560ce57c and /dev/null differ diff --git a/test/de_fuzz/corpus/953f5ad4ebf7cff6348aebf3e548a6df25e2d1a0 b/test/de_fuzz/corpus/953f5ad4ebf7cff6348aebf3e548a6df25e2d1a0 deleted file mode 100644 index 422bedddf..000000000 Binary files a/test/de_fuzz/corpus/953f5ad4ebf7cff6348aebf3e548a6df25e2d1a0 and /dev/null differ diff --git a/test/de_fuzz/corpus/954824291c0444533144f4ef8337f93ff5690270 b/test/de_fuzz/corpus/954824291c0444533144f4ef8337f93ff5690270 deleted file mode 100644 index e44c62b6a..000000000 Binary files a/test/de_fuzz/corpus/954824291c0444533144f4ef8337f93ff5690270 and /dev/null differ diff --git a/test/de_fuzz/corpus/9560ef2d52dd89bfe5305dbc57bdfe8007c051b6 b/test/de_fuzz/corpus/9560ef2d52dd89bfe5305dbc57bdfe8007c051b6 deleted file mode 100644 index 5cb9ed267..000000000 Binary files a/test/de_fuzz/corpus/9560ef2d52dd89bfe5305dbc57bdfe8007c051b6 and /dev/null differ diff --git a/test/de_fuzz/corpus/956720968bea982d7b00c810026920dd7f6519a5 b/test/de_fuzz/corpus/956720968bea982d7b00c810026920dd7f6519a5 deleted file mode 100644 index 25b5fff5f..000000000 Binary files a/test/de_fuzz/corpus/956720968bea982d7b00c810026920dd7f6519a5 and /dev/null differ diff --git a/test/de_fuzz/corpus/957a44a98d02d7d7a92123c18858235d60289d40 b/test/de_fuzz/corpus/957a44a98d02d7d7a92123c18858235d60289d40 deleted file mode 100644 index 6c89d63cc..000000000 Binary files a/test/de_fuzz/corpus/957a44a98d02d7d7a92123c18858235d60289d40 and /dev/null differ diff --git a/test/de_fuzz/corpus/957a662a8f98306331d003515651a2928e1d92d9 b/test/de_fuzz/corpus/957a662a8f98306331d003515651a2928e1d92d9 deleted file mode 100644 index 690d5ff2b..000000000 Binary files a/test/de_fuzz/corpus/957a662a8f98306331d003515651a2928e1d92d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/958fe52907b344eae2fcb043c2ddc3f2088c972e b/test/de_fuzz/corpus/958fe52907b344eae2fcb043c2ddc3f2088c972e deleted file mode 100644 index 5c73f25d8..000000000 Binary files a/test/de_fuzz/corpus/958fe52907b344eae2fcb043c2ddc3f2088c972e and /dev/null differ diff --git a/test/de_fuzz/corpus/95c77bc27be394e5ea2a483055f2df06ed68c2c2 b/test/de_fuzz/corpus/95c77bc27be394e5ea2a483055f2df06ed68c2c2 deleted file mode 100644 index ff841a8a5..000000000 Binary files a/test/de_fuzz/corpus/95c77bc27be394e5ea2a483055f2df06ed68c2c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/95e5c5c29856380806d789465810803705469b8a b/test/de_fuzz/corpus/95e5c5c29856380806d789465810803705469b8a deleted file mode 100644 index 1c7bfa211..000000000 Binary files a/test/de_fuzz/corpus/95e5c5c29856380806d789465810803705469b8a and /dev/null differ diff --git a/test/de_fuzz/corpus/960592812285dfad015e84e97ae0245a292e0dc8 b/test/de_fuzz/corpus/960592812285dfad015e84e97ae0245a292e0dc8 deleted file mode 100644 index fb59a8537..000000000 Binary files a/test/de_fuzz/corpus/960592812285dfad015e84e97ae0245a292e0dc8 and /dev/null differ diff --git a/test/de_fuzz/corpus/96191e7eada0162ca87df97e009f52d3e6824213 b/test/de_fuzz/corpus/96191e7eada0162ca87df97e009f52d3e6824213 deleted file mode 100644 index c7d0231fc..000000000 Binary files a/test/de_fuzz/corpus/96191e7eada0162ca87df97e009f52d3e6824213 and /dev/null differ diff --git a/test/de_fuzz/corpus/9635b18a4b7e4e72e413b0529e8d6ad285ab32ad b/test/de_fuzz/corpus/9635b18a4b7e4e72e413b0529e8d6ad285ab32ad deleted file mode 100644 index 09b8c1910..000000000 Binary files a/test/de_fuzz/corpus/9635b18a4b7e4e72e413b0529e8d6ad285ab32ad and /dev/null differ diff --git a/test/de_fuzz/corpus/964d2f554e8bdd56f5a2bf30d4bdfe2511504b43 b/test/de_fuzz/corpus/964d2f554e8bdd56f5a2bf30d4bdfe2511504b43 deleted file mode 100644 index 56925c82a..000000000 Binary files a/test/de_fuzz/corpus/964d2f554e8bdd56f5a2bf30d4bdfe2511504b43 and /dev/null differ diff --git a/test/de_fuzz/corpus/96658465820fb382d8c5a1f15342ada6ee30a4d8 b/test/de_fuzz/corpus/96658465820fb382d8c5a1f15342ada6ee30a4d8 deleted file mode 100644 index 4c1e47702..000000000 Binary files a/test/de_fuzz/corpus/96658465820fb382d8c5a1f15342ada6ee30a4d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/96be4355691f3bff412affb0f3ccfc9b1e983338 b/test/de_fuzz/corpus/96be4355691f3bff412affb0f3ccfc9b1e983338 deleted file mode 100644 index 511f2ee16..000000000 Binary files a/test/de_fuzz/corpus/96be4355691f3bff412affb0f3ccfc9b1e983338 and /dev/null differ diff --git a/test/de_fuzz/corpus/9739e828cd2ac96c9103a466406757b32c0fea84 b/test/de_fuzz/corpus/9739e828cd2ac96c9103a466406757b32c0fea84 deleted file mode 100644 index 526a6db76..000000000 Binary files a/test/de_fuzz/corpus/9739e828cd2ac96c9103a466406757b32c0fea84 and /dev/null differ diff --git a/test/de_fuzz/corpus/9746e1803a59de5d16c40f659c0409a5a0c79e3b b/test/de_fuzz/corpus/9746e1803a59de5d16c40f659c0409a5a0c79e3b deleted file mode 100644 index 68d8bd612..000000000 Binary files a/test/de_fuzz/corpus/9746e1803a59de5d16c40f659c0409a5a0c79e3b and /dev/null differ diff --git a/test/de_fuzz/corpus/978e955659df16d62ddea3addeef7e7ed3c689e5 b/test/de_fuzz/corpus/978e955659df16d62ddea3addeef7e7ed3c689e5 deleted file mode 100644 index 29b496a90..000000000 Binary files a/test/de_fuzz/corpus/978e955659df16d62ddea3addeef7e7ed3c689e5 and /dev/null differ diff --git a/test/de_fuzz/corpus/979a494c4dd3d0a85e37eada9f99b03eebdd97c2 b/test/de_fuzz/corpus/979a494c4dd3d0a85e37eada9f99b03eebdd97c2 deleted file mode 100644 index dad68174d..000000000 --- a/test/de_fuzz/corpus/979a494c4dd3d0a85e37eada9f99b03eebdd97c2 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/97c61030646737d2b74cda1208c2c55936aae52b b/test/de_fuzz/corpus/97c61030646737d2b74cda1208c2c55936aae52b deleted file mode 100644 index d8c409358..000000000 Binary files a/test/de_fuzz/corpus/97c61030646737d2b74cda1208c2c55936aae52b and /dev/null differ diff --git a/test/de_fuzz/corpus/97d04e84f4caeb8efb1edacff725cbbb06f52d8f b/test/de_fuzz/corpus/97d04e84f4caeb8efb1edacff725cbbb06f52d8f deleted file mode 100644 index 901eca181..000000000 Binary files a/test/de_fuzz/corpus/97d04e84f4caeb8efb1edacff725cbbb06f52d8f and /dev/null differ diff --git a/test/de_fuzz/corpus/97d5ea4385818cf687574b61fa4eafaf43569988 b/test/de_fuzz/corpus/97d5ea4385818cf687574b61fa4eafaf43569988 deleted file mode 100644 index 1270742b4..000000000 Binary files a/test/de_fuzz/corpus/97d5ea4385818cf687574b61fa4eafaf43569988 and /dev/null differ diff --git a/test/de_fuzz/corpus/97d6813565e1c10b6e2c8040e3002d169149d692 b/test/de_fuzz/corpus/97d6813565e1c10b6e2c8040e3002d169149d692 deleted file mode 100644 index e5dc2e0e2..000000000 Binary files a/test/de_fuzz/corpus/97d6813565e1c10b6e2c8040e3002d169149d692 and /dev/null differ diff --git a/test/de_fuzz/corpus/97df6c6ddefb76b0923bb433e7f252f98e4413c8 b/test/de_fuzz/corpus/97df6c6ddefb76b0923bb433e7f252f98e4413c8 deleted file mode 100644 index f16ae61bf..000000000 Binary files a/test/de_fuzz/corpus/97df6c6ddefb76b0923bb433e7f252f98e4413c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/981fa176b79bbd2ecb420ded2986278f4460e684 b/test/de_fuzz/corpus/981fa176b79bbd2ecb420ded2986278f4460e684 deleted file mode 100644 index 8bfa43ab2..000000000 Binary files a/test/de_fuzz/corpus/981fa176b79bbd2ecb420ded2986278f4460e684 and /dev/null differ diff --git a/test/de_fuzz/corpus/984153c3f166f7f0d8b033b3af4ecdfb1f3fa7e1 b/test/de_fuzz/corpus/984153c3f166f7f0d8b033b3af4ecdfb1f3fa7e1 deleted file mode 100644 index ecd31a74c..000000000 Binary files a/test/de_fuzz/corpus/984153c3f166f7f0d8b033b3af4ecdfb1f3fa7e1 and /dev/null differ diff --git a/test/de_fuzz/corpus/9864765fa7573cf993bcad67eaa267fe4189df61 b/test/de_fuzz/corpus/9864765fa7573cf993bcad67eaa267fe4189df61 deleted file mode 100644 index 6f9792342..000000000 Binary files a/test/de_fuzz/corpus/9864765fa7573cf993bcad67eaa267fe4189df61 and /dev/null differ diff --git a/test/de_fuzz/corpus/9873bc6b068e078e36afaf1a690cbf557a0b15f3 b/test/de_fuzz/corpus/9873bc6b068e078e36afaf1a690cbf557a0b15f3 deleted file mode 100644 index 98214f6a4..000000000 Binary files a/test/de_fuzz/corpus/9873bc6b068e078e36afaf1a690cbf557a0b15f3 and /dev/null differ diff --git a/test/de_fuzz/corpus/98a176b755ed18cbf5123328d208ba89472ca76d b/test/de_fuzz/corpus/98a176b755ed18cbf5123328d208ba89472ca76d deleted file mode 100644 index 926853bf4..000000000 Binary files a/test/de_fuzz/corpus/98a176b755ed18cbf5123328d208ba89472ca76d and /dev/null differ diff --git a/test/de_fuzz/corpus/98c9654fe4a5146648450920df5fee779d43cfb8 b/test/de_fuzz/corpus/98c9654fe4a5146648450920df5fee779d43cfb8 deleted file mode 100644 index 31ec765cc..000000000 Binary files a/test/de_fuzz/corpus/98c9654fe4a5146648450920df5fee779d43cfb8 and /dev/null differ diff --git a/test/de_fuzz/corpus/98d3e857badf680cf10f1e2917b67b388832b30a b/test/de_fuzz/corpus/98d3e857badf680cf10f1e2917b67b388832b30a deleted file mode 100644 index cbd5f2244..000000000 Binary files a/test/de_fuzz/corpus/98d3e857badf680cf10f1e2917b67b388832b30a and /dev/null differ diff --git a/test/de_fuzz/corpus/98d94be42fbd8a49c18f4f58870331631f0bf33c b/test/de_fuzz/corpus/98d94be42fbd8a49c18f4f58870331631f0bf33c deleted file mode 100644 index a902ea7a5..000000000 Binary files a/test/de_fuzz/corpus/98d94be42fbd8a49c18f4f58870331631f0bf33c and /dev/null differ diff --git a/test/de_fuzz/corpus/98e2c32043901b5b7cbfb2c9e313961537c8f51e b/test/de_fuzz/corpus/98e2c32043901b5b7cbfb2c9e313961537c8f51e deleted file mode 100644 index d69c09195..000000000 --- a/test/de_fuzz/corpus/98e2c32043901b5b7cbfb2c9e313961537c8f51e +++ /dev/null @@ -1,62 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [\^\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/98f1a1634c1b37f0c99184f5e3fba6fdb673c61c b/test/de_fuzz/corpus/98f1a1634c1b37f0c99184f5e3fba6fdb673c61c deleted file mode 100644 index 1876ad51d..000000000 Binary files a/test/de_fuzz/corpus/98f1a1634c1b37f0c99184f5e3fba6fdb673c61c and /dev/null differ diff --git a/test/de_fuzz/corpus/98f57f727819a15b01bcd426834485d223153c40 b/test/de_fuzz/corpus/98f57f727819a15b01bcd426834485d223153c40 deleted file mode 100644 index bab12cef1..000000000 Binary files a/test/de_fuzz/corpus/98f57f727819a15b01bcd426834485d223153c40 and /dev/null differ diff --git a/test/de_fuzz/corpus/99386f0d636ec10bc340c90383576c572e674813 b/test/de_fuzz/corpus/99386f0d636ec10bc340c90383576c572e674813 deleted file mode 100644 index f02491948..000000000 Binary files a/test/de_fuzz/corpus/99386f0d636ec10bc340c90383576c572e674813 and /dev/null differ diff --git a/test/de_fuzz/corpus/9951036933ae502b12ffacc9990abcec8f77aebb b/test/de_fuzz/corpus/9951036933ae502b12ffacc9990abcec8f77aebb deleted file mode 100644 index cb193d8e7..000000000 --- a/test/de_fuzz/corpus/9951036933ae502b12ffacc9990abcec8f77aebb +++ /dev/null @@ -1 +0,0 @@ -(?:ab(?i)x(-\Uy|(?!)z|b)ZZZZ \ No newline at end of file diff --git a/test/de_fuzz/corpus/9956d58c74aef40648334cae9cc5e8e7f0a67b53 b/test/de_fuzz/corpus/9956d58c74aef40648334cae9cc5e8e7f0a67b53 deleted file mode 100644 index ec3658ab2..000000000 Binary files a/test/de_fuzz/corpus/9956d58c74aef40648334cae9cc5e8e7f0a67b53 and /dev/null differ diff --git a/test/de_fuzz/corpus/995ab4509e85391141f7c61818ebf82ffe051c65 b/test/de_fuzz/corpus/995ab4509e85391141f7c61818ebf82ffe051c65 deleted file mode 100644 index 887f89b63..000000000 Binary files a/test/de_fuzz/corpus/995ab4509e85391141f7c61818ebf82ffe051c65 and /dev/null differ diff --git a/test/de_fuzz/corpus/998c93a75a6a363361e2de80866382ed2a64a046 b/test/de_fuzz/corpus/998c93a75a6a363361e2de80866382ed2a64a046 deleted file mode 100644 index beca4fe9b..000000000 Binary files a/test/de_fuzz/corpus/998c93a75a6a363361e2de80866382ed2a64a046 and /dev/null differ diff --git a/test/de_fuzz/corpus/99938e4cf18db9f702a7005245ccd4ef01315cae b/test/de_fuzz/corpus/99938e4cf18db9f702a7005245ccd4ef01315cae deleted file mode 100644 index 8bd316596..000000000 Binary files a/test/de_fuzz/corpus/99938e4cf18db9f702a7005245ccd4ef01315cae and /dev/null differ diff --git a/test/de_fuzz/corpus/9996989f7de88d1df56fbefb1c8a2592e05d308d b/test/de_fuzz/corpus/9996989f7de88d1df56fbefb1c8a2592e05d308d deleted file mode 100644 index b0f096a11..000000000 Binary files a/test/de_fuzz/corpus/9996989f7de88d1df56fbefb1c8a2592e05d308d and /dev/null differ diff --git a/test/de_fuzz/corpus/99f42371faf295b159081ffcb4d293910b3c4571 b/test/de_fuzz/corpus/99f42371faf295b159081ffcb4d293910b3c4571 deleted file mode 100644 index f3a44add1..000000000 Binary files a/test/de_fuzz/corpus/99f42371faf295b159081ffcb4d293910b3c4571 and /dev/null differ diff --git a/test/de_fuzz/corpus/9a200d2db43251d6308e6fddfcbbbea5a5cd776a b/test/de_fuzz/corpus/9a200d2db43251d6308e6fddfcbbbea5a5cd776a deleted file mode 100644 index 8311b5fbe..000000000 Binary files a/test/de_fuzz/corpus/9a200d2db43251d6308e6fddfcbbbea5a5cd776a and /dev/null differ diff --git a/test/de_fuzz/corpus/9a57a7412ddd79849b272686dc35e23ccade1f43 b/test/de_fuzz/corpus/9a57a7412ddd79849b272686dc35e23ccade1f43 deleted file mode 100644 index b09123d1f..000000000 Binary files a/test/de_fuzz/corpus/9a57a7412ddd79849b272686dc35e23ccade1f43 and /dev/null differ diff --git a/test/de_fuzz/corpus/9a5fd9637d18cea4266544257e52861a091db572 b/test/de_fuzz/corpus/9a5fd9637d18cea4266544257e52861a091db572 deleted file mode 100644 index 8db92c5ad..000000000 Binary files a/test/de_fuzz/corpus/9a5fd9637d18cea4266544257e52861a091db572 and /dev/null differ diff --git a/test/de_fuzz/corpus/9aa661b2b2dafd52cb2df5e24de46e2dd19a8f6f b/test/de_fuzz/corpus/9aa661b2b2dafd52cb2df5e24de46e2dd19a8f6f deleted file mode 100644 index 31eae9edb..000000000 --- a/test/de_fuzz/corpus/9aa661b2b2dafd52cb2df5e24de46e2dd19a8f6f +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+))++)+|Y(((((((a+)+)+)++)+)+)+|CY(((((((a+)+)+)+)+)+))+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)$)+|CV(((((((a+)+)+)+)+)+)+)+|!a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/9ab58ea4c37c2bdf199ca8104743dbc237ef1207 b/test/de_fuzz/corpus/9ab58ea4c37c2bdf199ca8104743dbc237ef1207 deleted file mode 100644 index d8f1f08f4..000000000 Binary files a/test/de_fuzz/corpus/9ab58ea4c37c2bdf199ca8104743dbc237ef1207 and /dev/null differ diff --git a/test/de_fuzz/corpus/9ad741dd37b1d496c7bb03153758d51fc6ef57de b/test/de_fuzz/corpus/9ad741dd37b1d496c7bb03153758d51fc6ef57de deleted file mode 100644 index db93e0aa0..000000000 Binary files a/test/de_fuzz/corpus/9ad741dd37b1d496c7bb03153758d51fc6ef57de and /dev/null differ diff --git a/test/de_fuzz/corpus/9b13239360bd7fba004a00c98efefe67e0c53c08 b/test/de_fuzz/corpus/9b13239360bd7fba004a00c98efefe67e0c53c08 deleted file mode 100644 index 46ba0874e..000000000 Binary files a/test/de_fuzz/corpus/9b13239360bd7fba004a00c98efefe67e0c53c08 and /dev/null differ diff --git a/test/de_fuzz/corpus/9b13d9dc8ead97661848d5d9c01bddcb762012db b/test/de_fuzz/corpus/9b13d9dc8ead97661848d5d9c01bddcb762012db deleted file mode 100644 index 87041d363..000000000 Binary files a/test/de_fuzz/corpus/9b13d9dc8ead97661848d5d9c01bddcb762012db and /dev/null differ diff --git a/test/de_fuzz/corpus/9b77ee64747d6c133fba1b6f0290f200c216b9a0 b/test/de_fuzz/corpus/9b77ee64747d6c133fba1b6f0290f200c216b9a0 deleted file mode 100644 index d60ceb640..000000000 Binary files a/test/de_fuzz/corpus/9b77ee64747d6c133fba1b6f0290f200c216b9a0 and /dev/null differ diff --git a/test/de_fuzz/corpus/9b82dae52df24ae9b8f4c07106a20ee12d18c4e8 b/test/de_fuzz/corpus/9b82dae52df24ae9b8f4c07106a20ee12d18c4e8 deleted file mode 100644 index 63044baf7..000000000 Binary files a/test/de_fuzz/corpus/9b82dae52df24ae9b8f4c07106a20ee12d18c4e8 and /dev/null differ diff --git a/test/de_fuzz/corpus/9b8f4ddd767befcffc83887052f2b916fccf301f b/test/de_fuzz/corpus/9b8f4ddd767befcffc83887052f2b916fccf301f deleted file mode 100644 index d1d2717dc..000000000 Binary files a/test/de_fuzz/corpus/9b8f4ddd767befcffc83887052f2b916fccf301f and /dev/null differ diff --git a/test/de_fuzz/corpus/9b918790b0c6a22f24646c84718f0cd74c5640b3 b/test/de_fuzz/corpus/9b918790b0c6a22f24646c84718f0cd74c5640b3 deleted file mode 100644 index 5b1f1086f..000000000 Binary files a/test/de_fuzz/corpus/9b918790b0c6a22f24646c84718f0cd74c5640b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/9bd61669da962538f49b32649225006ef9073994 b/test/de_fuzz/corpus/9bd61669da962538f49b32649225006ef9073994 deleted file mode 100644 index 4a16d6b5e..000000000 Binary files a/test/de_fuzz/corpus/9bd61669da962538f49b32649225006ef9073994 and /dev/null differ diff --git a/test/de_fuzz/corpus/9c0118889ec4f36db4f1008fb944944643187a64 b/test/de_fuzz/corpus/9c0118889ec4f36db4f1008fb944944643187a64 deleted file mode 100644 index 0f57d97ff..000000000 Binary files a/test/de_fuzz/corpus/9c0118889ec4f36db4f1008fb944944643187a64 and /dev/null differ diff --git a/test/de_fuzz/corpus/9c04cf2ae6a579f2237c3077abf949060b227d4f b/test/de_fuzz/corpus/9c04cf2ae6a579f2237c3077abf949060b227d4f deleted file mode 100644 index 2edbb6c41..000000000 --- a/test/de_fuzz/corpus/9c04cf2ae6a579f2237c3077abf949060b227d4f +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V((()+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+(?-i:abcd)((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/9c30d38de953f01778deaa05084a2f994109a1d0 b/test/de_fuzz/corpus/9c30d38de953f01778deaa05084a2f994109a1d0 deleted file mode 100644 index 45329785b..000000000 --- a/test/de_fuzz/corpus/9c30d38de953f01778deaa05084a2f994109a1d0 +++ /dev/null @@ -1,164 +0,0 @@ -) # initial subdomain -(?: # -(?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\0-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote --\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] \N{newline}| \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..nod followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\ # -(?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\0-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote --\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] \N{newline}| \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..nod followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # :((abc (?(R) )11?(R)( (?(R2)2) X | (?1) (?2) (?R) ))) abcabc1Xabc2XabcXabcabc8^\W*(?:((.)\W*(?1W*\4|\W*.\W*))\W*$The quick brown fox -a[[:alpha:(a)(?:b)ab|(abc)|((?|(x)|(y&^(?=.*\d)(?=.*[a-z]^(\w++|\s++)*$this is not a line with only words and spaces!(A(A|B(*ACCEPT)|C)D)(E)AB& (?<=[abc]))[\d]+a019b^(?=.*\d).{4,8}$ab2{zzaA!((a*)aabb?|(x)|(y)|(z)): [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | -[[.ae.]-b]bf] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* ^(\w++|\s++)*$this is not a line with only words and spaces!+ # some numb [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \ a(b)\g-2c\x80-\xff\n\\x80-\xff]+ # some num \ No newline at end of file diff --git a/test/de_fuzz/corpus/9c7e8e57d4392e8a000403e1538245d904476ef4 b/test/de_fuzz/corpus/9c7e8e57d4392e8a000403e1538245d904476ef4 deleted file mode 100644 index 54d227729..000000000 Binary files a/test/de_fuzz/corpus/9c7e8e57d4392e8a000403e1538245d904476ef4 and /dev/null differ diff --git a/test/de_fuzz/corpus/9c89bdc2019c22455a0ca3ce3aead41606cf46ca b/test/de_fuzz/corpus/9c89bdc2019c22455a0ca3ce3aead41606cf46ca deleted file mode 100644 index c694c42d0..000000000 Binary files a/test/de_fuzz/corpus/9c89bdc2019c22455a0ca3ce3aead41606cf46ca and /dev/null differ diff --git a/test/de_fuzz/corpus/9cbf20199df0f5084fc7d2bf6515d460d9c577c3 b/test/de_fuzz/corpus/9cbf20199df0f5084fc7d2bf6515d460d9c577c3 deleted file mode 100644 index 363cc883b..000000000 Binary files a/test/de_fuzz/corpus/9cbf20199df0f5084fc7d2bf6515d460d9c577c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/9cbf3ed8f31f2f0ab72eada665a2ba8faccc83f1 b/test/de_fuzz/corpus/9cbf3ed8f31f2f0ab72eada665a2ba8faccc83f1 deleted file mode 100644 index 266d4ff4e..000000000 Binary files a/test/de_fuzz/corpus/9cbf3ed8f31f2f0ab72eada665a2ba8faccc83f1 and /dev/null differ diff --git a/test/de_fuzz/corpus/9d5073a5bc5ef7d50dde7c5788108e6eed5009ba b/test/de_fuzz/corpus/9d5073a5bc5ef7d50dde7c5788108e6eed5009ba deleted file mode 100644 index cac0275c1..000000000 Binary files a/test/de_fuzz/corpus/9d5073a5bc5ef7d50dde7c5788108e6eed5009ba and /dev/null differ diff --git a/test/de_fuzz/corpus/9d62fd2d62d9d4693d0103d49bbf422e6bb3f624 b/test/de_fuzz/corpus/9d62fd2d62d9d4693d0103d49bbf422e6bb3f624 deleted file mode 100644 index cf446ac50..000000000 Binary files a/test/de_fuzz/corpus/9d62fd2d62d9d4693d0103d49bbf422e6bb3f624 and /dev/null differ diff --git a/test/de_fuzz/corpus/9d833b4260c57c4ba0a091d6d9b0d060ed7a5066 b/test/de_fuzz/corpus/9d833b4260c57c4ba0a091d6d9b0d060ed7a5066 deleted file mode 100644 index 9bd4860e6..000000000 Binary files a/test/de_fuzz/corpus/9d833b4260c57c4ba0a091d6d9b0d060ed7a5066 and /dev/null differ diff --git a/test/de_fuzz/corpus/9d8faf97ea912a9639aeb4989b43855a70a6c062 b/test/de_fuzz/corpus/9d8faf97ea912a9639aeb4989b43855a70a6c062 deleted file mode 100644 index 72e1241ba..000000000 Binary files a/test/de_fuzz/corpus/9d8faf97ea912a9639aeb4989b43855a70a6c062 and /dev/null differ diff --git a/test/de_fuzz/corpus/9da1f5b9f4f90cdafc41c4063dd4c63aae34858a b/test/de_fuzz/corpus/9da1f5b9f4f90cdafc41c4063dd4c63aae34858a deleted file mode 100644 index ac3ec710f..000000000 Binary files a/test/de_fuzz/corpus/9da1f5b9f4f90cdafc41c4063dd4c63aae34858a and /dev/null differ diff --git a/test/de_fuzz/corpus/9e1ceeea7000559b1c66719716874d568de232d5 b/test/de_fuzz/corpus/9e1ceeea7000559b1c66719716874d568de232d5 deleted file mode 100644 index 50e867d64..000000000 Binary files a/test/de_fuzz/corpus/9e1ceeea7000559b1c66719716874d568de232d5 and /dev/null differ diff --git a/test/de_fuzz/corpus/9e484bd5e2d381691bdd91d722f3b501cd93018c b/test/de_fuzz/corpus/9e484bd5e2d381691bdd91d722f3b501cd93018c deleted file mode 100644 index 6efd82007..000000000 Binary files a/test/de_fuzz/corpus/9e484bd5e2d381691bdd91d722f3b501cd93018c and /dev/null differ diff --git a/test/de_fuzz/corpus/9e4e8375be2bec5f64cabf6b4a75af247b50baeb b/test/de_fuzz/corpus/9e4e8375be2bec5f64cabf6b4a75af247b50baeb deleted file mode 100644 index 14988801b..000000000 Binary files a/test/de_fuzz/corpus/9e4e8375be2bec5f64cabf6b4a75af247b50baeb and /dev/null differ diff --git a/test/de_fuzz/corpus/9e5db4a7c44fe093bd52bbb0092157904a644549 b/test/de_fuzz/corpus/9e5db4a7c44fe093bd52bbb0092157904a644549 deleted file mode 100644 index a36affc11..000000000 Binary files a/test/de_fuzz/corpus/9e5db4a7c44fe093bd52bbb0092157904a644549 and /dev/null differ diff --git a/test/de_fuzz/corpus/9e65039cb8a415d58682c3db560a59a181401389 b/test/de_fuzz/corpus/9e65039cb8a415d58682c3db560a59a181401389 deleted file mode 100644 index c638790af..000000000 Binary files a/test/de_fuzz/corpus/9e65039cb8a415d58682c3db560a59a181401389 and /dev/null differ diff --git a/test/de_fuzz/corpus/9e8c1e5da50ae54ede90b70f9e6a4a41621b38e3 b/test/de_fuzz/corpus/9e8c1e5da50ae54ede90b70f9e6a4a41621b38e3 deleted file mode 100644 index 827723ad9..000000000 Binary files a/test/de_fuzz/corpus/9e8c1e5da50ae54ede90b70f9e6a4a41621b38e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/9ea739f1c393691d70f55aa165f02b8b817b8676 b/test/de_fuzz/corpus/9ea739f1c393691d70f55aa165f02b8b817b8676 deleted file mode 100644 index 5ac5f3896..000000000 Binary files a/test/de_fuzz/corpus/9ea739f1c393691d70f55aa165f02b8b817b8676 and /dev/null differ diff --git a/test/de_fuzz/corpus/9ee690ad54de3f7b7f6dfa3508e4fd3a595358c8 b/test/de_fuzz/corpus/9ee690ad54de3f7b7f6dfa3508e4fd3a595358c8 deleted file mode 100644 index e01c5781a..000000000 Binary files a/test/de_fuzz/corpus/9ee690ad54de3f7b7f6dfa3508e4fd3a595358c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/9f0725ad0d296e1d5848cc32fecf5d6888519bb4 b/test/de_fuzz/corpus/9f0725ad0d296e1d5848cc32fecf5d6888519bb4 deleted file mode 100644 index 587575be4..000000000 Binary files a/test/de_fuzz/corpus/9f0725ad0d296e1d5848cc32fecf5d6888519bb4 and /dev/null differ diff --git a/test/de_fuzz/corpus/9f2910ec55b894c926a7d345d289867567ce2ce7 b/test/de_fuzz/corpus/9f2910ec55b894c926a7d345d289867567ce2ce7 deleted file mode 100644 index d913bafc3..000000000 Binary files a/test/de_fuzz/corpus/9f2910ec55b894c926a7d345d289867567ce2ce7 and /dev/null differ diff --git a/test/de_fuzz/corpus/9f2b025aba7fc66bc38d5236509ab4b45c560644 b/test/de_fuzz/corpus/9f2b025aba7fc66bc38d5236509ab4b45c560644 deleted file mode 100644 index 8ca74672a..000000000 Binary files a/test/de_fuzz/corpus/9f2b025aba7fc66bc38d5236509ab4b45c560644 and /dev/null differ diff --git a/test/de_fuzz/corpus/9f568369596c82a30bf2462a94c2d789e4a73432 b/test/de_fuzz/corpus/9f568369596c82a30bf2462a94c2d789e4a73432 deleted file mode 100644 index 168d68f98..000000000 Binary files a/test/de_fuzz/corpus/9f568369596c82a30bf2462a94c2d789e4a73432 and /dev/null differ diff --git a/test/de_fuzz/corpus/9f7968f30351306747b15b301ac1e6fc3375035e b/test/de_fuzz/corpus/9f7968f30351306747b15b301ac1e6fc3375035e deleted file mode 100644 index 70f79bfe4..000000000 --- a/test/de_fuzz/corpus/9f7968f30351306747b15b301ac1e6fc3375035e +++ /dev/null @@ -1 +0,0 @@ -\b(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W(((|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc(((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+(((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+ \ No newline at end of file diff --git a/test/de_fuzz/corpus/9f826d978f5edf82221ae746d005466532362a09 b/test/de_fuzz/corpus/9f826d978f5edf82221ae746d005466532362a09 deleted file mode 100644 index 05224a03c..000000000 Binary files a/test/de_fuzz/corpus/9f826d978f5edf82221ae746d005466532362a09 and /dev/null differ diff --git a/test/de_fuzz/corpus/9fa0b0c3327f2a68b276724d01926b13d516eb36 b/test/de_fuzz/corpus/9fa0b0c3327f2a68b276724d01926b13d516eb36 deleted file mode 100644 index 1ea1ac0a0..000000000 Binary files a/test/de_fuzz/corpus/9fa0b0c3327f2a68b276724d01926b13d516eb36 and /dev/null differ diff --git a/test/de_fuzz/corpus/9fa69f4b7aea83fb0665d3b2a1593013e32e8d8c b/test/de_fuzz/corpus/9fa69f4b7aea83fb0665d3b2a1593013e32e8d8c deleted file mode 100644 index 82528b215..000000000 Binary files a/test/de_fuzz/corpus/9fa69f4b7aea83fb0665d3b2a1593013e32e8d8c and /dev/null differ diff --git a/test/de_fuzz/corpus/9fb258230f7a0875d6391b48b2c4f0507a57ba58 b/test/de_fuzz/corpus/9fb258230f7a0875d6391b48b2c4f0507a57ba58 deleted file mode 100644 index 6b6aedec4..000000000 Binary files a/test/de_fuzz/corpus/9fb258230f7a0875d6391b48b2c4f0507a57ba58 and /dev/null differ diff --git a/test/de_fuzz/corpus/9fe89b40230a31427be9f1461cd115a8e3c02673 b/test/de_fuzz/corpus/9fe89b40230a31427be9f1461cd115a8e3c02673 deleted file mode 100644 index 1dce89e19..000000000 Binary files a/test/de_fuzz/corpus/9fe89b40230a31427be9f1461cd115a8e3c02673 and /dev/null differ diff --git a/test/de_fuzz/corpus/a010c21a2e4397d39ef69a2b7390380c697d43c7 b/test/de_fuzz/corpus/a010c21a2e4397d39ef69a2b7390380c697d43c7 deleted file mode 100644 index 24312d997..000000000 --- a/test/de_fuzz/corpus/a010c21a2e4397d39ef69a2b7390380c697d43c7 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+b+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/a03a0940d5e7100c6757a47f82c0847699657dbb b/test/de_fuzz/corpus/a03a0940d5e7100c6757a47f82c0847699657dbb deleted file mode 100644 index ccda75129..000000000 Binary files a/test/de_fuzz/corpus/a03a0940d5e7100c6757a47f82c0847699657dbb and /dev/null differ diff --git a/test/de_fuzz/corpus/a0b0cf1b668651f938c798f73041290d9b777449 b/test/de_fuzz/corpus/a0b0cf1b668651f938c798f73041290d9b777449 deleted file mode 100644 index b19e3b582..000000000 Binary files a/test/de_fuzz/corpus/a0b0cf1b668651f938c798f73041290d9b777449 and /dev/null differ diff --git a/test/de_fuzz/corpus/a131a666cada7358b5479e63e9666e065c917f2c b/test/de_fuzz/corpus/a131a666cada7358b5479e63e9666e065c917f2c deleted file mode 100644 index 2c2c73028..000000000 Binary files a/test/de_fuzz/corpus/a131a666cada7358b5479e63e9666e065c917f2c and /dev/null differ diff --git a/test/de_fuzz/corpus/a1424e19b67a601ded4377308afb142913959cc2 b/test/de_fuzz/corpus/a1424e19b67a601ded4377308afb142913959cc2 deleted file mode 100644 index 65e4767f2..000000000 Binary files a/test/de_fuzz/corpus/a1424e19b67a601ded4377308afb142913959cc2 and /dev/null differ diff --git a/test/de_fuzz/corpus/a157752a6a84c3fb39a3f82dd017a3d0d363faa7 b/test/de_fuzz/corpus/a157752a6a84c3fb39a3f82dd017a3d0d363faa7 deleted file mode 100644 index 3b9e84d9f..000000000 Binary files a/test/de_fuzz/corpus/a157752a6a84c3fb39a3f82dd017a3d0d363faa7 and /dev/null differ diff --git a/test/de_fuzz/corpus/a165dff031d081bb87317d34b0e8a9bdd1dcdb10 b/test/de_fuzz/corpus/a165dff031d081bb87317d34b0e8a9bdd1dcdb10 deleted file mode 100644 index 0ab91fb77..000000000 Binary files a/test/de_fuzz/corpus/a165dff031d081bb87317d34b0e8a9bdd1dcdb10 and /dev/null differ diff --git a/test/de_fuzz/corpus/a1b8c8724bce19e48c48d51e0b2547c257fb75f6 b/test/de_fuzz/corpus/a1b8c8724bce19e48c48d51e0b2547c257fb75f6 deleted file mode 100644 index 566629cd3..000000000 Binary files a/test/de_fuzz/corpus/a1b8c8724bce19e48c48d51e0b2547c257fb75f6 and /dev/null differ diff --git a/test/de_fuzz/corpus/a2080b593614e28d605e95a2e98a124bf5380ff9 b/test/de_fuzz/corpus/a2080b593614e28d605e95a2e98a124bf5380ff9 deleted file mode 100644 index c2cada071..000000000 Binary files a/test/de_fuzz/corpus/a2080b593614e28d605e95a2e98a124bf5380ff9 and /dev/null differ diff --git a/test/de_fuzz/corpus/a20b51f6e00627ff2837851436112ad7b83a517f b/test/de_fuzz/corpus/a20b51f6e00627ff2837851436112ad7b83a517f deleted file mode 100644 index f7842ddd3..000000000 Binary files a/test/de_fuzz/corpus/a20b51f6e00627ff2837851436112ad7b83a517f and /dev/null differ diff --git a/test/de_fuzz/corpus/a215c4507e19e67e16111d0644e9da79c5a3b173 b/test/de_fuzz/corpus/a215c4507e19e67e16111d0644e9da79c5a3b173 deleted file mode 100644 index 559d7a19d..000000000 Binary files a/test/de_fuzz/corpus/a215c4507e19e67e16111d0644e9da79c5a3b173 and /dev/null differ diff --git a/test/de_fuzz/corpus/a23d651cbe7c0570bba038c507597f1c9ba050c2 b/test/de_fuzz/corpus/a23d651cbe7c0570bba038c507597f1c9ba050c2 deleted file mode 100644 index a5d1bc2ff..000000000 Binary files a/test/de_fuzz/corpus/a23d651cbe7c0570bba038c507597f1c9ba050c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/a280135b60691e54f489cc50bad0d6727ee66492 b/test/de_fuzz/corpus/a280135b60691e54f489cc50bad0d6727ee66492 deleted file mode 100644 index 76fe6657d..000000000 Binary files a/test/de_fuzz/corpus/a280135b60691e54f489cc50bad0d6727ee66492 and /dev/null differ diff --git a/test/de_fuzz/corpus/a29fa15f739b0aa29aa6078e21da097e8d59eed2 b/test/de_fuzz/corpus/a29fa15f739b0aa29aa6078e21da097e8d59eed2 deleted file mode 100644 index ab22f94c3..000000000 Binary files a/test/de_fuzz/corpus/a29fa15f739b0aa29aa6078e21da097e8d59eed2 and /dev/null differ diff --git a/test/de_fuzz/corpus/a2ab63a2608702d0aff50d2471817a846a75a244 b/test/de_fuzz/corpus/a2ab63a2608702d0aff50d2471817a846a75a244 deleted file mode 100644 index a1d8ed452..000000000 Binary files a/test/de_fuzz/corpus/a2ab63a2608702d0aff50d2471817a846a75a244 and /dev/null differ diff --git a/test/de_fuzz/corpus/a2c7acdc25cc2ef92049fc2dd6bf5afa709d4931 b/test/de_fuzz/corpus/a2c7acdc25cc2ef92049fc2dd6bf5afa709d4931 deleted file mode 100644 index f1aa4ce7c..000000000 Binary files a/test/de_fuzz/corpus/a2c7acdc25cc2ef92049fc2dd6bf5afa709d4931 and /dev/null differ diff --git a/test/de_fuzz/corpus/a2d0703c5503da64dbcab8fb3eac96a244e89be8 b/test/de_fuzz/corpus/a2d0703c5503da64dbcab8fb3eac96a244e89be8 deleted file mode 100644 index b3c9a72b3..000000000 --- a/test/de_fuzz/corpus/a2d0703c5503da64dbcab8fb3eac96a244e89be8 +++ /dev/null @@ -1,119 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/a2d2f737ca58e46d29801594cf663391e2748b1a b/test/de_fuzz/corpus/a2d2f737ca58e46d29801594cf663391e2748b1a deleted file mode 100644 index 50c097058..000000000 Binary files a/test/de_fuzz/corpus/a2d2f737ca58e46d29801594cf663391e2748b1a and /dev/null differ diff --git a/test/de_fuzz/corpus/a2dcfa1d70756cef87e6e4d29dd14c566023646a b/test/de_fuzz/corpus/a2dcfa1d70756cef87e6e4d29dd14c566023646a deleted file mode 100644 index 3bbe35ee2..000000000 Binary files a/test/de_fuzz/corpus/a2dcfa1d70756cef87e6e4d29dd14c566023646a and /dev/null differ diff --git a/test/de_fuzz/corpus/a30806718f1714b6ef76692df8d9c08b81462c4f b/test/de_fuzz/corpus/a30806718f1714b6ef76692df8d9c08b81462c4f deleted file mode 100644 index 96c732a6d..000000000 Binary files a/test/de_fuzz/corpus/a30806718f1714b6ef76692df8d9c08b81462c4f and /dev/null differ diff --git a/test/de_fuzz/corpus/a30c35b2bcbcede4151feba8f643a671de888bb8 b/test/de_fuzz/corpus/a30c35b2bcbcede4151feba8f643a671de888bb8 deleted file mode 100644 index 9d41b2740..000000000 --- a/test/de_fuzz/corpus/a30c35b2bcbcede4151feba8f643a671de888bb8 +++ /dev/null @@ -1,105 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/a314a96d7b264898e4cedd388ccae6d6ef9fd09c b/test/de_fuzz/corpus/a314a96d7b264898e4cedd388ccae6d6ef9fd09c deleted file mode 100644 index e3ed23b63..000000000 Binary files a/test/de_fuzz/corpus/a314a96d7b264898e4cedd388ccae6d6ef9fd09c and /dev/null differ diff --git a/test/de_fuzz/corpus/a34c2de17d9eb54d58ce2633e30231511a0533cc b/test/de_fuzz/corpus/a34c2de17d9eb54d58ce2633e30231511a0533cc deleted file mode 100644 index b2c302f4f..000000000 Binary files a/test/de_fuzz/corpus/a34c2de17d9eb54d58ce2633e30231511a0533cc and /dev/null differ diff --git a/test/de_fuzz/corpus/a37c82566bc9acaaf895f7a9a9707f895f5dd19c b/test/de_fuzz/corpus/a37c82566bc9acaaf895f7a9a9707f895f5dd19c deleted file mode 100644 index a0c83984b..000000000 Binary files a/test/de_fuzz/corpus/a37c82566bc9acaaf895f7a9a9707f895f5dd19c and /dev/null differ diff --git a/test/de_fuzz/corpus/a389c731be8d77aca94adbaafb96616282f78b53 b/test/de_fuzz/corpus/a389c731be8d77aca94adbaafb96616282f78b53 deleted file mode 100644 index d7fcbccba..000000000 Binary files a/test/de_fuzz/corpus/a389c731be8d77aca94adbaafb96616282f78b53 and /dev/null differ diff --git a/test/de_fuzz/corpus/a39d030aa57d18ab1e48a02b76c699f9f63698f3 b/test/de_fuzz/corpus/a39d030aa57d18ab1e48a02b76c699f9f63698f3 deleted file mode 100644 index 580ea74a4..000000000 Binary files a/test/de_fuzz/corpus/a39d030aa57d18ab1e48a02b76c699f9f63698f3 and /dev/null differ diff --git a/test/de_fuzz/corpus/a3a0476e91750780991e7c0f59c05e9ebd6357b4 b/test/de_fuzz/corpus/a3a0476e91750780991e7c0f59c05e9ebd6357b4 deleted file mode 100644 index c8be4c089..000000000 Binary files a/test/de_fuzz/corpus/a3a0476e91750780991e7c0f59c05e9ebd6357b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/a3b19bb2eba419437da5695188c5dffa992bcd1c b/test/de_fuzz/corpus/a3b19bb2eba419437da5695188c5dffa992bcd1c deleted file mode 100644 index ca8cdf3bf..000000000 --- a/test/de_fuzz/corpus/a3b19bb2eba419437da5695188c5dffa992bcd1c +++ /dev/null @@ -1,177 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leaindg < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/a3dce55bc53ba0eaf55d1927cea864ee1f814623 b/test/de_fuzz/corpus/a3dce55bc53ba0eaf55d1927cea864ee1f814623 deleted file mode 100644 index 71dd98a24..000000000 Binary files a/test/de_fuzz/corpus/a3dce55bc53ba0eaf55d1927cea864ee1f814623 and /dev/null differ diff --git a/test/de_fuzz/corpus/a3f26089ad2be51fe1bcdcc677fec246f4b83e09 b/test/de_fuzz/corpus/a3f26089ad2be51fe1bcdcc677fec246f4b83e09 deleted file mode 100644 index 548b8d66d..000000000 Binary files a/test/de_fuzz/corpus/a3f26089ad2be51fe1bcdcc677fec246f4b83e09 and /dev/null differ diff --git a/test/de_fuzz/corpus/a3f61b555a6d89fbdf32ce6ef5493ad8a3c2c2b3 b/test/de_fuzz/corpus/a3f61b555a6d89fbdf32ce6ef5493ad8a3c2c2b3 deleted file mode 100644 index 9fa3237b6..000000000 Binary files a/test/de_fuzz/corpus/a3f61b555a6d89fbdf32ce6ef5493ad8a3c2c2b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/a3fff845453c5ee04c9f2fd3951b25e12f1c2bfb b/test/de_fuzz/corpus/a3fff845453c5ee04c9f2fd3951b25e12f1c2bfb deleted file mode 100644 index e450ae842..000000000 Binary files a/test/de_fuzz/corpus/a3fff845453c5ee04c9f2fd3951b25e12f1c2bfb and /dev/null differ diff --git a/test/de_fuzz/corpus/a410063e1c48b3486b4e4f3bb487944b62226db4 b/test/de_fuzz/corpus/a410063e1c48b3486b4e4f3bb487944b62226db4 deleted file mode 100644 index 70e23d919..000000000 Binary files a/test/de_fuzz/corpus/a410063e1c48b3486b4e4f3bb487944b62226db4 and /dev/null differ diff --git a/test/de_fuzz/corpus/a41deddb91676d91102d0f312ce88f490593271b b/test/de_fuzz/corpus/a41deddb91676d91102d0f312ce88f490593271b deleted file mode 100644 index 0d7567553..000000000 Binary files a/test/de_fuzz/corpus/a41deddb91676d91102d0f312ce88f490593271b and /dev/null differ diff --git a/test/de_fuzz/corpus/a4253d401e3639dffd313188d3a8b42b1a2026e0 b/test/de_fuzz/corpus/a4253d401e3639dffd313188d3a8b42b1a2026e0 deleted file mode 100644 index 69226c9a7..000000000 Binary files a/test/de_fuzz/corpus/a4253d401e3639dffd313188d3a8b42b1a2026e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/a44d64a747ed55ff7f6682db95a517c79a88ab5e b/test/de_fuzz/corpus/a44d64a747ed55ff7f6682db95a517c79a88ab5e deleted file mode 100644 index 60cc649a7..000000000 Binary files a/test/de_fuzz/corpus/a44d64a747ed55ff7f6682db95a517c79a88ab5e and /dev/null differ diff --git a/test/de_fuzz/corpus/a44f8dbedf4998bdefab728d1504d2b98d7365b3 b/test/de_fuzz/corpus/a44f8dbedf4998bdefab728d1504d2b98d7365b3 deleted file mode 100644 index dcecf0210..000000000 Binary files a/test/de_fuzz/corpus/a44f8dbedf4998bdefab728d1504d2b98d7365b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/a45fd4e783629a3c036ce70d199781dd50ef6597 b/test/de_fuzz/corpus/a45fd4e783629a3c036ce70d199781dd50ef6597 deleted file mode 100644 index 598577fff..000000000 Binary files a/test/de_fuzz/corpus/a45fd4e783629a3c036ce70d199781dd50ef6597 and /dev/null differ diff --git a/test/de_fuzz/corpus/a46d7913fc08867feebba0b74c95636390f8cfa4 b/test/de_fuzz/corpus/a46d7913fc08867feebba0b74c95636390f8cfa4 deleted file mode 100644 index e0a44d9c5..000000000 Binary files a/test/de_fuzz/corpus/a46d7913fc08867feebba0b74c95636390f8cfa4 and /dev/null differ diff --git a/test/de_fuzz/corpus/a479ad882f7766851b86e5152a0c14922860e555 b/test/de_fuzz/corpus/a479ad882f7766851b86e5152a0c14922860e555 deleted file mode 100644 index 1bacbf5e3..000000000 Binary files a/test/de_fuzz/corpus/a479ad882f7766851b86e5152a0c14922860e555 and /dev/null differ diff --git a/test/de_fuzz/corpus/a4cd2be644a6a0798b1061def4474162d581420d b/test/de_fuzz/corpus/a4cd2be644a6a0798b1061def4474162d581420d deleted file mode 100644 index 1c0b6ea48..000000000 Binary files a/test/de_fuzz/corpus/a4cd2be644a6a0798b1061def4474162d581420d and /dev/null differ diff --git a/test/de_fuzz/corpus/a4ded298b4f406889bea6e57d7b3a2194068dcd1 b/test/de_fuzz/corpus/a4ded298b4f406889bea6e57d7b3a2194068dcd1 deleted file mode 100644 index d8c80f89b..000000000 Binary files a/test/de_fuzz/corpus/a4ded298b4f406889bea6e57d7b3a2194068dcd1 and /dev/null differ diff --git a/test/de_fuzz/corpus/a4fb3efccc10e0270ad0109eb296c1c54365230b b/test/de_fuzz/corpus/a4fb3efccc10e0270ad0109eb296c1c54365230b deleted file mode 100644 index 46de00e90..000000000 Binary files a/test/de_fuzz/corpus/a4fb3efccc10e0270ad0109eb296c1c54365230b and /dev/null differ diff --git a/test/de_fuzz/corpus/a50be0d5ab329226ec36b32d869ce14502efc521 b/test/de_fuzz/corpus/a50be0d5ab329226ec36b32d869ce14502efc521 deleted file mode 100644 index d0aad4e5c..000000000 Binary files a/test/de_fuzz/corpus/a50be0d5ab329226ec36b32d869ce14502efc521 and /dev/null differ diff --git a/test/de_fuzz/corpus/a539245e9c84518a1afa1af4b27f594b29f4acba b/test/de_fuzz/corpus/a539245e9c84518a1afa1af4b27f594b29f4acba deleted file mode 100644 index 9b8e23bdb..000000000 Binary files a/test/de_fuzz/corpus/a539245e9c84518a1afa1af4b27f594b29f4acba and /dev/null differ diff --git a/test/de_fuzz/corpus/a582d719b92303b79385852447dc9a42258e52fa b/test/de_fuzz/corpus/a582d719b92303b79385852447dc9a42258e52fa deleted file mode 100644 index de09441c6..000000000 Binary files a/test/de_fuzz/corpus/a582d719b92303b79385852447dc9a42258e52fa and /dev/null differ diff --git a/test/de_fuzz/corpus/a5a94c2be6308569b1710b7bf61e3e1bf6e18a61 b/test/de_fuzz/corpus/a5a94c2be6308569b1710b7bf61e3e1bf6e18a61 deleted file mode 100644 index 0ff289ef3..000000000 Binary files a/test/de_fuzz/corpus/a5a94c2be6308569b1710b7bf61e3e1bf6e18a61 and /dev/null differ diff --git a/test/de_fuzz/corpus/a5e9b20bd14e29b4472107bcf19cc7de26e58f91 b/test/de_fuzz/corpus/a5e9b20bd14e29b4472107bcf19cc7de26e58f91 deleted file mode 100644 index 57a144daf..000000000 Binary files a/test/de_fuzz/corpus/a5e9b20bd14e29b4472107bcf19cc7de26e58f91 and /dev/null differ diff --git a/test/de_fuzz/corpus/a60b71d9f59ed4c2e67c20ccbc227ca28c598fc1 b/test/de_fuzz/corpus/a60b71d9f59ed4c2e67c20ccbc227ca28c598fc1 deleted file mode 100644 index e1e679bbb..000000000 Binary files a/test/de_fuzz/corpus/a60b71d9f59ed4c2e67c20ccbc227ca28c598fc1 and /dev/null differ diff --git a/test/de_fuzz/corpus/a618664cd20cc848a2dff28c9ddd61a26c7b9aed b/test/de_fuzz/corpus/a618664cd20cc848a2dff28c9ddd61a26c7b9aed deleted file mode 100644 index 39dbdd274..000000000 Binary files a/test/de_fuzz/corpus/a618664cd20cc848a2dff28c9ddd61a26c7b9aed and /dev/null differ diff --git a/test/de_fuzz/corpus/a63c41b0d415388dadcef77adb3f74926b82be38 b/test/de_fuzz/corpus/a63c41b0d415388dadcef77adb3f74926b82be38 deleted file mode 100644 index de0a762bf..000000000 Binary files a/test/de_fuzz/corpus/a63c41b0d415388dadcef77adb3f74926b82be38 and /dev/null differ diff --git a/test/de_fuzz/corpus/a65d41ea6ff9cb330e95d9361ea669f18f127e1c b/test/de_fuzz/corpus/a65d41ea6ff9cb330e95d9361ea669f18f127e1c deleted file mode 100644 index 7dfd8cc56..000000000 Binary files a/test/de_fuzz/corpus/a65d41ea6ff9cb330e95d9361ea669f18f127e1c and /dev/null differ diff --git a/test/de_fuzz/corpus/a693693b3870e52840d8a6e83739da491d5b227d b/test/de_fuzz/corpus/a693693b3870e52840d8a6e83739da491d5b227d deleted file mode 100644 index 7a9d931a6..000000000 Binary files a/test/de_fuzz/corpus/a693693b3870e52840d8a6e83739da491d5b227d and /dev/null differ diff --git a/test/de_fuzz/corpus/a713620c86107f1abe5db799842afbb5514cb576 b/test/de_fuzz/corpus/a713620c86107f1abe5db799842afbb5514cb576 deleted file mode 100644 index 81b9a70c0..000000000 Binary files a/test/de_fuzz/corpus/a713620c86107f1abe5db799842afbb5514cb576 and /dev/null differ diff --git a/test/de_fuzz/corpus/a7205f661ef18b16d70cb70c3f19a5a871c78a74 b/test/de_fuzz/corpus/a7205f661ef18b16d70cb70c3f19a5a871c78a74 deleted file mode 100644 index ec8870272..000000000 Binary files a/test/de_fuzz/corpus/a7205f661ef18b16d70cb70c3f19a5a871c78a74 and /dev/null differ diff --git a/test/de_fuzz/corpus/a738d627b3b96f6c532b554ee325ab5dfaa77e3e b/test/de_fuzz/corpus/a738d627b3b96f6c532b554ee325ab5dfaa77e3e deleted file mode 100644 index f4505be29..000000000 Binary files a/test/de_fuzz/corpus/a738d627b3b96f6c532b554ee325ab5dfaa77e3e and /dev/null differ diff --git a/test/de_fuzz/corpus/a74205cc5cb2eb5fb135df5d4df22561291d6243 b/test/de_fuzz/corpus/a74205cc5cb2eb5fb135df5d4df22561291d6243 deleted file mode 100644 index 184a5c98c..000000000 Binary files a/test/de_fuzz/corpus/a74205cc5cb2eb5fb135df5d4df22561291d6243 and /dev/null differ diff --git a/test/de_fuzz/corpus/a765522c4cd87b274cc5818aa86e6b1cb72e8b68 b/test/de_fuzz/corpus/a765522c4cd87b274cc5818aa86e6b1cb72e8b68 deleted file mode 100644 index a94d2beba..000000000 Binary files a/test/de_fuzz/corpus/a765522c4cd87b274cc5818aa86e6b1cb72e8b68 and /dev/null differ diff --git a/test/de_fuzz/corpus/a76f645e29ea0f36dc105cfbb5d86c09e9d0d2f0 b/test/de_fuzz/corpus/a76f645e29ea0f36dc105cfbb5d86c09e9d0d2f0 deleted file mode 100644 index 80526152b..000000000 Binary files a/test/de_fuzz/corpus/a76f645e29ea0f36dc105cfbb5d86c09e9d0d2f0 and /dev/null differ diff --git a/test/de_fuzz/corpus/a7783b74014c7522f4ba60701a7b85ae85c64fb7 b/test/de_fuzz/corpus/a7783b74014c7522f4ba60701a7b85ae85c64fb7 deleted file mode 100644 index e1bc20e1c..000000000 Binary files a/test/de_fuzz/corpus/a7783b74014c7522f4ba60701a7b85ae85c64fb7 and /dev/null differ diff --git a/test/de_fuzz/corpus/a7c5ea7fb75a32c8cb1d04142c183b3b80cf1b50 b/test/de_fuzz/corpus/a7c5ea7fb75a32c8cb1d04142c183b3b80cf1b50 deleted file mode 100644 index 9c6fb3141..000000000 Binary files a/test/de_fuzz/corpus/a7c5ea7fb75a32c8cb1d04142c183b3b80cf1b50 and /dev/null differ diff --git a/test/de_fuzz/corpus/a7d8ba7265fdb25d9f2c47d8303a98a4c5b59a71 b/test/de_fuzz/corpus/a7d8ba7265fdb25d9f2c47d8303a98a4c5b59a71 deleted file mode 100644 index c6aff1ca3..000000000 Binary files a/test/de_fuzz/corpus/a7d8ba7265fdb25d9f2c47d8303a98a4c5b59a71 and /dev/null differ diff --git a/test/de_fuzz/corpus/a7f3a29a3356f3ec58fdabc5ffc069a75130e926 b/test/de_fuzz/corpus/a7f3a29a3356f3ec58fdabc5ffc069a75130e926 deleted file mode 100644 index 937854e1e..000000000 Binary files a/test/de_fuzz/corpus/a7f3a29a3356f3ec58fdabc5ffc069a75130e926 and /dev/null differ diff --git a/test/de_fuzz/corpus/a8126f6ad647df63009e3f0385e49ea4d197c262 b/test/de_fuzz/corpus/a8126f6ad647df63009e3f0385e49ea4d197c262 deleted file mode 100644 index ce922deed..000000000 Binary files a/test/de_fuzz/corpus/a8126f6ad647df63009e3f0385e49ea4d197c262 and /dev/null differ diff --git a/test/de_fuzz/corpus/a81b621058b65521dccef455a843ffdc56cd8451 b/test/de_fuzz/corpus/a81b621058b65521dccef455a843ffdc56cd8451 deleted file mode 100644 index 47087dacc..000000000 Binary files a/test/de_fuzz/corpus/a81b621058b65521dccef455a843ffdc56cd8451 and /dev/null differ diff --git a/test/de_fuzz/corpus/a8258bfa075ba5f8fd8041c30126c56120ccf101 b/test/de_fuzz/corpus/a8258bfa075ba5f8fd8041c30126c56120ccf101 deleted file mode 100644 index ad3692af6..000000000 Binary files a/test/de_fuzz/corpus/a8258bfa075ba5f8fd8041c30126c56120ccf101 and /dev/null differ diff --git a/test/de_fuzz/corpus/a84a81bf6c7ad71de8ce83744805d0a7bb940312 b/test/de_fuzz/corpus/a84a81bf6c7ad71de8ce83744805d0a7bb940312 deleted file mode 100644 index 620764e6e..000000000 --- a/test/de_fuzz/corpus/a84a81bf6c7ad71de8ce83744805d0a7bb940312 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+))++)+)+)+)+|X(((((((a+)+)+)+)+)*+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+++)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+:+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+))+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/a84de48454ebad0217ec1a22c5ac7f28fe8c0100 b/test/de_fuzz/corpus/a84de48454ebad0217ec1a22c5ac7f28fe8c0100 deleted file mode 100644 index 826ab92c5..000000000 Binary files a/test/de_fuzz/corpus/a84de48454ebad0217ec1a22c5ac7f28fe8c0100 and /dev/null differ diff --git a/test/de_fuzz/corpus/a85ca0f5773828ce0635d0654f3376954c2d9028 b/test/de_fuzz/corpus/a85ca0f5773828ce0635d0654f3376954c2d9028 deleted file mode 100644 index 1f68bf1f8..000000000 Binary files a/test/de_fuzz/corpus/a85ca0f5773828ce0635d0654f3376954c2d9028 and /dev/null differ diff --git a/test/de_fuzz/corpus/a862e402ba3787fdb0c2cc27dc629815f5cc76f1 b/test/de_fuzz/corpus/a862e402ba3787fdb0c2cc27dc629815f5cc76f1 deleted file mode 100644 index cdc5869c5..000000000 Binary files a/test/de_fuzz/corpus/a862e402ba3787fdb0c2cc27dc629815f5cc76f1 and /dev/null differ diff --git a/test/de_fuzz/corpus/a87ed25d7d8d0c395ecb1e531bc460b4a31e4d9c b/test/de_fuzz/corpus/a87ed25d7d8d0c395ecb1e531bc460b4a31e4d9c deleted file mode 100644 index 1ef386452..000000000 Binary files a/test/de_fuzz/corpus/a87ed25d7d8d0c395ecb1e531bc460b4a31e4d9c and /dev/null differ diff --git a/test/de_fuzz/corpus/a8a01cfe1fb26883c28df14b5a125d0b0b804726 b/test/de_fuzz/corpus/a8a01cfe1fb26883c28df14b5a125d0b0b804726 deleted file mode 100644 index 255ce7dfa..000000000 Binary files a/test/de_fuzz/corpus/a8a01cfe1fb26883c28df14b5a125d0b0b804726 and /dev/null differ diff --git a/test/de_fuzz/corpus/a8d3ad2ecb7293cc9ff1d841dd96fbb6a70ffd00 b/test/de_fuzz/corpus/a8d3ad2ecb7293cc9ff1d841dd96fbb6a70ffd00 deleted file mode 100644 index cf037dafc..000000000 Binary files a/test/de_fuzz/corpus/a8d3ad2ecb7293cc9ff1d841dd96fbb6a70ffd00 and /dev/null differ diff --git a/test/de_fuzz/corpus/a8d9f24ed78e0322acfc165ab688e216a68fc3cd b/test/de_fuzz/corpus/a8d9f24ed78e0322acfc165ab688e216a68fc3cd deleted file mode 100644 index c9cf074ae..000000000 Binary files a/test/de_fuzz/corpus/a8d9f24ed78e0322acfc165ab688e216a68fc3cd and /dev/null differ diff --git a/test/de_fuzz/corpus/a8f0143f2d2f0faa68c805c75c07b8ce257153e0 b/test/de_fuzz/corpus/a8f0143f2d2f0faa68c805c75c07b8ce257153e0 deleted file mode 100644 index f0c599c59..000000000 Binary files a/test/de_fuzz/corpus/a8f0143f2d2f0faa68c805c75c07b8ce257153e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/a8fc606e88b5118aef2a2706ca59a18e60d0690a b/test/de_fuzz/corpus/a8fc606e88b5118aef2a2706ca59a18e60d0690a deleted file mode 100644 index 3048b3ae3..000000000 Binary files a/test/de_fuzz/corpus/a8fc606e88b5118aef2a2706ca59a18e60d0690a and /dev/null differ diff --git a/test/de_fuzz/corpus/a905f0301e849bb3ffd48aab2419d7f6e5ecf252 b/test/de_fuzz/corpus/a905f0301e849bb3ffd48aab2419d7f6e5ecf252 deleted file mode 100644 index 9b28c487c..000000000 Binary files a/test/de_fuzz/corpus/a905f0301e849bb3ffd48aab2419d7f6e5ecf252 and /dev/null differ diff --git a/test/de_fuzz/corpus/a90c69f2e0f4502c1539c575b33ef54c560bf55e b/test/de_fuzz/corpus/a90c69f2e0f4502c1539c575b33ef54c560bf55e deleted file mode 100644 index add0b4a31..000000000 Binary files a/test/de_fuzz/corpus/a90c69f2e0f4502c1539c575b33ef54c560bf55e and /dev/null differ diff --git a/test/de_fuzz/corpus/a91192ffdf30de43df893dacdee9b7d303abec41 b/test/de_fuzz/corpus/a91192ffdf30de43df893dacdee9b7d303abec41 deleted file mode 100644 index 275802288..000000000 Binary files a/test/de_fuzz/corpus/a91192ffdf30de43df893dacdee9b7d303abec41 and /dev/null differ diff --git a/test/de_fuzz/corpus/a93b9f2e9f984164f228147405cd6da9292d280c b/test/de_fuzz/corpus/a93b9f2e9f984164f228147405cd6da9292d280c deleted file mode 100644 index ae0b6c89a..000000000 Binary files a/test/de_fuzz/corpus/a93b9f2e9f984164f228147405cd6da9292d280c and /dev/null differ diff --git a/test/de_fuzz/corpus/a94ad7b655125dddd7a816340bed18b7e8518374 b/test/de_fuzz/corpus/a94ad7b655125dddd7a816340bed18b7e8518374 deleted file mode 100644 index 1ac72ffe3..000000000 Binary files a/test/de_fuzz/corpus/a94ad7b655125dddd7a816340bed18b7e8518374 and /dev/null differ diff --git a/test/de_fuzz/corpus/a98170bc887eb74f77b33cf2b121ad2d63a84abf b/test/de_fuzz/corpus/a98170bc887eb74f77b33cf2b121ad2d63a84abf deleted file mode 100644 index bdd92b177..000000000 Binary files a/test/de_fuzz/corpus/a98170bc887eb74f77b33cf2b121ad2d63a84abf and /dev/null differ diff --git a/test/de_fuzz/corpus/aa564f46ed4679b7551a74e0a0298d6f62aefd4e b/test/de_fuzz/corpus/aa564f46ed4679b7551a74e0a0298d6f62aefd4e deleted file mode 100644 index 08cfe4698..000000000 Binary files a/test/de_fuzz/corpus/aa564f46ed4679b7551a74e0a0298d6f62aefd4e and /dev/null differ diff --git a/test/de_fuzz/corpus/aa874e36e0dc6bfd02fa30f5abfa41f99a35cfd9 b/test/de_fuzz/corpus/aa874e36e0dc6bfd02fa30f5abfa41f99a35cfd9 deleted file mode 100644 index 9be454239..000000000 Binary files a/test/de_fuzz/corpus/aa874e36e0dc6bfd02fa30f5abfa41f99a35cfd9 and /dev/null differ diff --git a/test/de_fuzz/corpus/aa9ecc2b280e9d266afeaef245a68fcf03bb6295 b/test/de_fuzz/corpus/aa9ecc2b280e9d266afeaef245a68fcf03bb6295 deleted file mode 100644 index 762d6f5b2..000000000 Binary files a/test/de_fuzz/corpus/aa9ecc2b280e9d266afeaef245a68fcf03bb6295 and /dev/null differ diff --git a/test/de_fuzz/corpus/aaeb2834fcfa2b576de3bd5377047b17ce9e7bf1 b/test/de_fuzz/corpus/aaeb2834fcfa2b576de3bd5377047b17ce9e7bf1 deleted file mode 100644 index fa863b623..000000000 Binary files a/test/de_fuzz/corpus/aaeb2834fcfa2b576de3bd5377047b17ce9e7bf1 and /dev/null differ diff --git a/test/de_fuzz/corpus/aafa9f988fee2553c11a5aca5c28fdb9afe0a1a4 b/test/de_fuzz/corpus/aafa9f988fee2553c11a5aca5c28fdb9afe0a1a4 deleted file mode 100644 index eaae850dd..000000000 Binary files a/test/de_fuzz/corpus/aafa9f988fee2553c11a5aca5c28fdb9afe0a1a4 and /dev/null differ diff --git a/test/de_fuzz/corpus/ab041408fa4d3fffc98e044219534af50a3cb57c b/test/de_fuzz/corpus/ab041408fa4d3fffc98e044219534af50a3cb57c deleted file mode 100644 index 2ba06edba..000000000 Binary files a/test/de_fuzz/corpus/ab041408fa4d3fffc98e044219534af50a3cb57c and /dev/null differ diff --git a/test/de_fuzz/corpus/ab1edbe03f0e957434ac52b8a6d01d50ac0acf71 b/test/de_fuzz/corpus/ab1edbe03f0e957434ac52b8a6d01d50ac0acf71 deleted file mode 100644 index 79e5cc0bd..000000000 Binary files a/test/de_fuzz/corpus/ab1edbe03f0e957434ac52b8a6d01d50ac0acf71 and /dev/null differ diff --git a/test/de_fuzz/corpus/ab34f9897b5108f78977ed123099c0df0fc9735a b/test/de_fuzz/corpus/ab34f9897b5108f78977ed123099c0df0fc9735a deleted file mode 100644 index 0472d3d5f..000000000 Binary files a/test/de_fuzz/corpus/ab34f9897b5108f78977ed123099c0df0fc9735a and /dev/null differ diff --git a/test/de_fuzz/corpus/ab4461ad341380fe8b3fa40aab87c1f05a95ed2e b/test/de_fuzz/corpus/ab4461ad341380fe8b3fa40aab87c1f05a95ed2e deleted file mode 100644 index 79ebd13ea..000000000 Binary files a/test/de_fuzz/corpus/ab4461ad341380fe8b3fa40aab87c1f05a95ed2e and /dev/null differ diff --git a/test/de_fuzz/corpus/ab4edae1eeab9ba5247fdbe33b7c6a0bc815b204 b/test/de_fuzz/corpus/ab4edae1eeab9ba5247fdbe33b7c6a0bc815b204 deleted file mode 100644 index 402cf4c88..000000000 Binary files a/test/de_fuzz/corpus/ab4edae1eeab9ba5247fdbe33b7c6a0bc815b204 and /dev/null differ diff --git a/test/de_fuzz/corpus/abd555b5d842ef39a72d3a1bb29b0e1f6b68fb5a b/test/de_fuzz/corpus/abd555b5d842ef39a72d3a1bb29b0e1f6b68fb5a deleted file mode 100644 index 5fb9f5ffc..000000000 Binary files a/test/de_fuzz/corpus/abd555b5d842ef39a72d3a1bb29b0e1f6b68fb5a and /dev/null differ diff --git a/test/de_fuzz/corpus/abee01c45374c38d75223aed0946f34a13562c56 b/test/de_fuzz/corpus/abee01c45374c38d75223aed0946f34a13562c56 deleted file mode 100644 index 3b4206839..000000000 --- a/test/de_fuzz/corpus/abee01c45374c38d75223aed0946f34a13562c56 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\*\2[abc]| |((.)\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pd\)W*(?1)\W*\4|\ZZZZZZZZZZZZZZZZZZZZZZ\pdquick brown )ox \ No newline at end of file diff --git a/test/de_fuzz/corpus/ac341bbe60a7cdd3abf4a2c49d4eda7120c1dd14 b/test/de_fuzz/corpus/ac341bbe60a7cdd3abf4a2c49d4eda7120c1dd14 deleted file mode 100644 index bc181d93a..000000000 Binary files a/test/de_fuzz/corpus/ac341bbe60a7cdd3abf4a2c49d4eda7120c1dd14 and /dev/null differ diff --git a/test/de_fuzz/corpus/ac5130568e2a267652edd4eeceff5dfa825eec5d b/test/de_fuzz/corpus/ac5130568e2a267652edd4eeceff5dfa825eec5d deleted file mode 100644 index 26611a8c0..000000000 Binary files a/test/de_fuzz/corpus/ac5130568e2a267652edd4eeceff5dfa825eec5d and /dev/null differ diff --git a/test/de_fuzz/corpus/aca1819215e26774f219f759f186d05eea712db4 b/test/de_fuzz/corpus/aca1819215e26774f219f759f186d05eea712db4 deleted file mode 100644 index 43c42073c..000000000 Binary files a/test/de_fuzz/corpus/aca1819215e26774f219f759f186d05eea712db4 and /dev/null differ diff --git a/test/de_fuzz/corpus/acceddf0c65fed3064acdf49b10d1c8052c22d48 b/test/de_fuzz/corpus/acceddf0c65fed3064acdf49b10d1c8052c22d48 deleted file mode 100644 index 39385915c..000000000 Binary files a/test/de_fuzz/corpus/acceddf0c65fed3064acdf49b10d1c8052c22d48 and /dev/null differ diff --git a/test/de_fuzz/corpus/ace72dc42c7f6a9ee4cab274ccf661627f242948 b/test/de_fuzz/corpus/ace72dc42c7f6a9ee4cab274ccf661627f242948 deleted file mode 100644 index 3c8e9816e..000000000 Binary files a/test/de_fuzz/corpus/ace72dc42c7f6a9ee4cab274ccf661627f242948 and /dev/null differ diff --git a/test/de_fuzz/corpus/acf6d91ff728eaa53b17bc4b47ba89d67a552813 b/test/de_fuzz/corpus/acf6d91ff728eaa53b17bc4b47ba89d67a552813 deleted file mode 100644 index 89dc4066d..000000000 Binary files a/test/de_fuzz/corpus/acf6d91ff728eaa53b17bc4b47ba89d67a552813 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad06fe52867bec682411d5f7edf21abc5ea3e868 b/test/de_fuzz/corpus/ad06fe52867bec682411d5f7edf21abc5ea3e868 deleted file mode 100644 index 7cc40ddf2..000000000 Binary files a/test/de_fuzz/corpus/ad06fe52867bec682411d5f7edf21abc5ea3e868 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad0707fd558ecdfaf85c0a8e4caddfba9b42a0c8 b/test/de_fuzz/corpus/ad0707fd558ecdfaf85c0a8e4caddfba9b42a0c8 deleted file mode 100644 index 1c3b1211d..000000000 Binary files a/test/de_fuzz/corpus/ad0707fd558ecdfaf85c0a8e4caddfba9b42a0c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad28bd5313ddbf928ef369552d47c66bb3042c45 b/test/de_fuzz/corpus/ad28bd5313ddbf928ef369552d47c66bb3042c45 deleted file mode 100644 index 230d64b74..000000000 Binary files a/test/de_fuzz/corpus/ad28bd5313ddbf928ef369552d47c66bb3042c45 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad29a11a37be551a28d0766ca0e95082e4f2b3ce b/test/de_fuzz/corpus/ad29a11a37be551a28d0766ca0e95082e4f2b3ce deleted file mode 100644 index 6e1c23093..000000000 Binary files a/test/de_fuzz/corpus/ad29a11a37be551a28d0766ca0e95082e4f2b3ce and /dev/null differ diff --git a/test/de_fuzz/corpus/ad2d314e5323733639d3b78d34c3ad3e0efb9fad b/test/de_fuzz/corpus/ad2d314e5323733639d3b78d34c3ad3e0efb9fad deleted file mode 100644 index e6af73df2..000000000 Binary files a/test/de_fuzz/corpus/ad2d314e5323733639d3b78d34c3ad3e0efb9fad and /dev/null differ diff --git a/test/de_fuzz/corpus/ad3bff85f3e3d934b5543c83dec9758fd8e6043d b/test/de_fuzz/corpus/ad3bff85f3e3d934b5543c83dec9758fd8e6043d deleted file mode 100644 index 69a0a794a..000000000 Binary files a/test/de_fuzz/corpus/ad3bff85f3e3d934b5543c83dec9758fd8e6043d and /dev/null differ diff --git a/test/de_fuzz/corpus/ad472e7d1ea6c01e8440db9e800ba97cefaef822 b/test/de_fuzz/corpus/ad472e7d1ea6c01e8440db9e800ba97cefaef822 deleted file mode 100644 index 2557793d5..000000000 Binary files a/test/de_fuzz/corpus/ad472e7d1ea6c01e8440db9e800ba97cefaef822 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad9410abbd3806412838ee9f6f3ced65fa1ae4b4 b/test/de_fuzz/corpus/ad9410abbd3806412838ee9f6f3ced65fa1ae4b4 deleted file mode 100644 index c9aec48e8..000000000 --- a/test/de_fuzz/corpus/ad9410abbd3806412838ee9f6f3ced65fa1ae4b4 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+) )+)+)+|Y(((((((a+)+)+)+)+)+)+(((((((aK)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX((('(((a+)+)+)IS3)+)+)+|CW((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(aSt13runtime_+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/ad98e0cfc624d0e579317f8b988b8e4282cb18e4 b/test/de_fuzz/corpus/ad98e0cfc624d0e579317f8b988b8e4282cb18e4 deleted file mode 100644 index 4e7861027..000000000 Binary files a/test/de_fuzz/corpus/ad98e0cfc624d0e579317f8b988b8e4282cb18e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/ad9b82cac501d58f6572451585361c596fbf85ce b/test/de_fuzz/corpus/ad9b82cac501d58f6572451585361c596fbf85ce deleted file mode 100644 index e26a36802..000000000 Binary files a/test/de_fuzz/corpus/ad9b82cac501d58f6572451585361c596fbf85ce and /dev/null differ diff --git a/test/de_fuzz/corpus/adee0b6c9df0523066b7cba95fd372756888a165 b/test/de_fuzz/corpus/adee0b6c9df0523066b7cba95fd372756888a165 deleted file mode 100644 index f5e5b63f8..000000000 Binary files a/test/de_fuzz/corpus/adee0b6c9df0523066b7cba95fd372756888a165 and /dev/null differ diff --git a/test/de_fuzz/corpus/adee227233a96b38bae1362dbdd4a7c43f676614 b/test/de_fuzz/corpus/adee227233a96b38bae1362dbdd4a7c43f676614 deleted file mode 100644 index 48a900722..000000000 Binary files a/test/de_fuzz/corpus/adee227233a96b38bae1362dbdd4a7c43f676614 and /dev/null differ diff --git a/test/de_fuzz/corpus/ae0384721713135dc9963a74c431503171028516 b/test/de_fuzz/corpus/ae0384721713135dc9963a74c431503171028516 deleted file mode 100644 index 131b817c0..000000000 Binary files a/test/de_fuzz/corpus/ae0384721713135dc9963a74c431503171028516 and /dev/null differ diff --git a/test/de_fuzz/corpus/ae4555c0555ecb83bc2999536e48cedba3b58ac3 b/test/de_fuzz/corpus/ae4555c0555ecb83bc2999536e48cedba3b58ac3 deleted file mode 100644 index 544093a4c..000000000 --- a/test/de_fuzz/corpus/ae4555c0555ecb83bc2999536e48cedba3b58ac3 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/ae5573442bafc733dec83e97a87cb917bd9f9639 b/test/de_fuzz/corpus/ae5573442bafc733dec83e97a87cb917bd9f9639 deleted file mode 100644 index e1098ffcd..000000000 Binary files a/test/de_fuzz/corpus/ae5573442bafc733dec83e97a87cb917bd9f9639 and /dev/null differ diff --git a/test/de_fuzz/corpus/ae961a90a0ea088e106fb945c3453437bcf66deb b/test/de_fuzz/corpus/ae961a90a0ea088e106fb945c3453437bcf66deb deleted file mode 100644 index 23050e478..000000000 Binary files a/test/de_fuzz/corpus/ae961a90a0ea088e106fb945c3453437bcf66deb and /dev/null differ diff --git a/test/de_fuzz/corpus/aeb3375e3916c8951ea3952a07fc7448f5d58125 b/test/de_fuzz/corpus/aeb3375e3916c8951ea3952a07fc7448f5d58125 deleted file mode 100644 index 14c17531b..000000000 Binary files a/test/de_fuzz/corpus/aeb3375e3916c8951ea3952a07fc7448f5d58125 and /dev/null differ diff --git a/test/de_fuzz/corpus/aeb3fff2791ecf3c1fb2d5d0b9e08635d5541ddb b/test/de_fuzz/corpus/aeb3fff2791ecf3c1fb2d5d0b9e08635d5541ddb deleted file mode 100644 index 6d9ab93e3..000000000 --- a/test/de_fuzz/corpus/aeb3fff2791ecf3c1fb2d5d0b9e08635d5541ddb +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/aee02240b7f886cbcdd22727ebe9f3c3069ef181 b/test/de_fuzz/corpus/aee02240b7f886cbcdd22727ebe9f3c3069ef181 deleted file mode 100644 index 348b3e079..000000000 Binary files a/test/de_fuzz/corpus/aee02240b7f886cbcdd22727ebe9f3c3069ef181 and /dev/null differ diff --git a/test/de_fuzz/corpus/aee67e0154718712752f00f3e0e4a352bb47550e b/test/de_fuzz/corpus/aee67e0154718712752f00f3e0e4a352bb47550e deleted file mode 100644 index 4a65607a1..000000000 Binary files a/test/de_fuzz/corpus/aee67e0154718712752f00f3e0e4a352bb47550e and /dev/null differ diff --git a/test/de_fuzz/corpus/af1cabbe9cd11b3b4f5c0b3b3d43365ef053d6d7 b/test/de_fuzz/corpus/af1cabbe9cd11b3b4f5c0b3b3d43365ef053d6d7 deleted file mode 100644 index 0b86f5c4d..000000000 Binary files a/test/de_fuzz/corpus/af1cabbe9cd11b3b4f5c0b3b3d43365ef053d6d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/af269cc28cc9019380925c865339b1951a11197a b/test/de_fuzz/corpus/af269cc28cc9019380925c865339b1951a11197a deleted file mode 100644 index 3ebbf39f8..000000000 Binary files a/test/de_fuzz/corpus/af269cc28cc9019380925c865339b1951a11197a and /dev/null differ diff --git a/test/de_fuzz/corpus/af357ea143eb2ee43bf6b85e44e2f48bd26311e3 b/test/de_fuzz/corpus/af357ea143eb2ee43bf6b85e44e2f48bd26311e3 deleted file mode 100644 index 0f7995b7a..000000000 Binary files a/test/de_fuzz/corpus/af357ea143eb2ee43bf6b85e44e2f48bd26311e3 and /dev/null differ diff --git a/test/de_fuzz/corpus/af59fde601dd18c0dfcc090f6f8b6ec77fe46ebc b/test/de_fuzz/corpus/af59fde601dd18c0dfcc090f6f8b6ec77fe46ebc deleted file mode 100644 index c22dd8522..000000000 Binary files a/test/de_fuzz/corpus/af59fde601dd18c0dfcc090f6f8b6ec77fe46ebc and /dev/null differ diff --git a/test/de_fuzz/corpus/af606c9051c7e1999bfab84df762b4135e1b72c2 b/test/de_fuzz/corpus/af606c9051c7e1999bfab84df762b4135e1b72c2 deleted file mode 100644 index 3b82241ba..000000000 Binary files a/test/de_fuzz/corpus/af606c9051c7e1999bfab84df762b4135e1b72c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/af61b55975a5effc8c2f7dbfd545def8966ef280 b/test/de_fuzz/corpus/af61b55975a5effc8c2f7dbfd545def8966ef280 deleted file mode 100644 index 8e0e302d1..000000000 Binary files a/test/de_fuzz/corpus/af61b55975a5effc8c2f7dbfd545def8966ef280 and /dev/null differ diff --git a/test/de_fuzz/corpus/af76a8fd094a8282324705f5e8ed567d2bbbf29c b/test/de_fuzz/corpus/af76a8fd094a8282324705f5e8ed567d2bbbf29c deleted file mode 100644 index 73b816a4a..000000000 Binary files a/test/de_fuzz/corpus/af76a8fd094a8282324705f5e8ed567d2bbbf29c and /dev/null differ diff --git a/test/de_fuzz/corpus/afa89fd7ce22d4699ff7464c28c4b02bc2869930 b/test/de_fuzz/corpus/afa89fd7ce22d4699ff7464c28c4b02bc2869930 deleted file mode 100644 index 234499a5c..000000000 Binary files a/test/de_fuzz/corpus/afa89fd7ce22d4699ff7464c28c4b02bc2869930 and /dev/null differ diff --git a/test/de_fuzz/corpus/afd3a57673e852bcd72fcbdf9009f1ce81e19b97 b/test/de_fuzz/corpus/afd3a57673e852bcd72fcbdf9009f1ce81e19b97 deleted file mode 100644 index 19c7362b8..000000000 Binary files a/test/de_fuzz/corpus/afd3a57673e852bcd72fcbdf9009f1ce81e19b97 and /dev/null differ diff --git a/test/de_fuzz/corpus/b00074c88726b4e7231617d267e1dbee03c9421a b/test/de_fuzz/corpus/b00074c88726b4e7231617d267e1dbee03c9421a deleted file mode 100644 index ba8602a72..000000000 Binary files a/test/de_fuzz/corpus/b00074c88726b4e7231617d267e1dbee03c9421a and /dev/null differ diff --git a/test/de_fuzz/corpus/b00ff847f9b48e73ee489a9daa2449ce2cc0cc10 b/test/de_fuzz/corpus/b00ff847f9b48e73ee489a9daa2449ce2cc0cc10 deleted file mode 100644 index 15244d988..000000000 Binary files a/test/de_fuzz/corpus/b00ff847f9b48e73ee489a9daa2449ce2cc0cc10 and /dev/null differ diff --git a/test/de_fuzz/corpus/b0302c290cf2c3e9022afcd4a29c626c90a570af b/test/de_fuzz/corpus/b0302c290cf2c3e9022afcd4a29c626c90a570af deleted file mode 100644 index b43ec988d..000000000 Binary files a/test/de_fuzz/corpus/b0302c290cf2c3e9022afcd4a29c626c90a570af and /dev/null differ diff --git a/test/de_fuzz/corpus/b05396889a90f24cb0d3e9f42bf33dab2f60ac93 b/test/de_fuzz/corpus/b05396889a90f24cb0d3e9f42bf33dab2f60ac93 deleted file mode 100644 index df10e6b78..000000000 Binary files a/test/de_fuzz/corpus/b05396889a90f24cb0d3e9f42bf33dab2f60ac93 and /dev/null differ diff --git a/test/de_fuzz/corpus/b06dcfb67e38ab8213b1a40fe930bed94c274503 b/test/de_fuzz/corpus/b06dcfb67e38ab8213b1a40fe930bed94c274503 deleted file mode 100644 index 0f5068c89..000000000 Binary files a/test/de_fuzz/corpus/b06dcfb67e38ab8213b1a40fe930bed94c274503 and /dev/null differ diff --git a/test/de_fuzz/corpus/b07bbff77af79892a64e3fd3cfeb901b9d0b0f8f b/test/de_fuzz/corpus/b07bbff77af79892a64e3fd3cfeb901b9d0b0f8f deleted file mode 100644 index 22c5a1f5b..000000000 Binary files a/test/de_fuzz/corpus/b07bbff77af79892a64e3fd3cfeb901b9d0b0f8f and /dev/null differ diff --git a/test/de_fuzz/corpus/b09ad3ec8b47bc208915e9a42220f8b36ce6f136 b/test/de_fuzz/corpus/b09ad3ec8b47bc208915e9a42220f8b36ce6f136 deleted file mode 100644 index 027ef10f5..000000000 Binary files a/test/de_fuzz/corpus/b09ad3ec8b47bc208915e9a42220f8b36ce6f136 and /dev/null differ diff --git a/test/de_fuzz/corpus/b09baa4299c06f737481ab5ee8a1de180bada788 b/test/de_fuzz/corpus/b09baa4299c06f737481ab5ee8a1de180bada788 deleted file mode 100644 index 1a63e9e81..000000000 --- a/test/de_fuzz/corpus/b09baa4299c06f737481ab5ee8a1de180bada788 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\041)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\1 5]0)( | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/b0ad48a56a6dde407975efa5f266e499e42c029b b/test/de_fuzz/corpus/b0ad48a56a6dde407975efa5f266e499e42c029b deleted file mode 100644 index 3c703b1a9..000000000 Binary files a/test/de_fuzz/corpus/b0ad48a56a6dde407975efa5f266e499e42c029b and /dev/null differ diff --git a/test/de_fuzz/corpus/b0d92fff6059cf76922287b6f75b07db5759b901 b/test/de_fuzz/corpus/b0d92fff6059cf76922287b6f75b07db5759b901 deleted file mode 100644 index 058a58d49..000000000 Binary files a/test/de_fuzz/corpus/b0d92fff6059cf76922287b6f75b07db5759b901 and /dev/null differ diff --git a/test/de_fuzz/corpus/b0dd10ef5668617790010dd5d9e24e7a88b9e082 b/test/de_fuzz/corpus/b0dd10ef5668617790010dd5d9e24e7a88b9e082 deleted file mode 100644 index d2a25139b..000000000 Binary files a/test/de_fuzz/corpus/b0dd10ef5668617790010dd5d9e24e7a88b9e082 and /dev/null differ diff --git a/test/de_fuzz/corpus/b0f9dd428b5e04daa9c8ea5894e37c5a5192f620 b/test/de_fuzz/corpus/b0f9dd428b5e04daa9c8ea5894e37c5a5192f620 deleted file mode 100644 index 3633ef503..000000000 Binary files a/test/de_fuzz/corpus/b0f9dd428b5e04daa9c8ea5894e37c5a5192f620 and /dev/null differ diff --git a/test/de_fuzz/corpus/b11e14a20fc0bbc836424c8eb8e5951d2955dbd7 b/test/de_fuzz/corpus/b11e14a20fc0bbc836424c8eb8e5951d2955dbd7 deleted file mode 100644 index 1da92b93e..000000000 Binary files a/test/de_fuzz/corpus/b11e14a20fc0bbc836424c8eb8e5951d2955dbd7 and /dev/null differ diff --git a/test/de_fuzz/corpus/b123524b61cc12e8dedaf9d4b3cf96702223ddf6 b/test/de_fuzz/corpus/b123524b61cc12e8dedaf9d4b3cf96702223ddf6 deleted file mode 100644 index 466852739..000000000 Binary files a/test/de_fuzz/corpus/b123524b61cc12e8dedaf9d4b3cf96702223ddf6 and /dev/null differ diff --git a/test/de_fuzz/corpus/b1442cd251fc4dcc7538be9cf844fb379d9135d8 b/test/de_fuzz/corpus/b1442cd251fc4dcc7538be9cf844fb379d9135d8 deleted file mode 100644 index b7511cfc4..000000000 Binary files a/test/de_fuzz/corpus/b1442cd251fc4dcc7538be9cf844fb379d9135d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/b1549701d490a868b2c527d47ec5075debc26a48 b/test/de_fuzz/corpus/b1549701d490a868b2c527d47ec5075debc26a48 deleted file mode 100644 index bd4a12d46..000000000 Binary files a/test/de_fuzz/corpus/b1549701d490a868b2c527d47ec5075debc26a48 and /dev/null differ diff --git a/test/de_fuzz/corpus/b18378d8938cff65d8184741ea2d449b1af58912 b/test/de_fuzz/corpus/b18378d8938cff65d8184741ea2d449b1af58912 deleted file mode 100644 index 5098d3425..000000000 Binary files a/test/de_fuzz/corpus/b18378d8938cff65d8184741ea2d449b1af58912 and /dev/null differ diff --git a/test/de_fuzz/corpus/b18a7e80fcd7d96641503267aa5db883fcdce7a6 b/test/de_fuzz/corpus/b18a7e80fcd7d96641503267aa5db883fcdce7a6 deleted file mode 100644 index e8c784c76..000000000 Binary files a/test/de_fuzz/corpus/b18a7e80fcd7d96641503267aa5db883fcdce7a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/b1e1c0f6b06b1f2856c87c9b3ae2c53b9bf5c046 b/test/de_fuzz/corpus/b1e1c0f6b06b1f2856c87c9b3ae2c53b9bf5c046 deleted file mode 100644 index 7d97910c8..000000000 Binary files a/test/de_fuzz/corpus/b1e1c0f6b06b1f2856c87c9b3ae2c53b9bf5c046 and /dev/null differ diff --git a/test/de_fuzz/corpus/b224b37f2e9ac03f9a67c101136f3b8d63c40611 b/test/de_fuzz/corpus/b224b37f2e9ac03f9a67c101136f3b8d63c40611 deleted file mode 100644 index 38babb0cc..000000000 Binary files a/test/de_fuzz/corpus/b224b37f2e9ac03f9a67c101136f3b8d63c40611 and /dev/null differ diff --git a/test/de_fuzz/corpus/b226f10801ffb4b69a8a7040df4760ba23f46ab1 b/test/de_fuzz/corpus/b226f10801ffb4b69a8a7040df4760ba23f46ab1 deleted file mode 100644 index 9a2b3c9b4..000000000 Binary files a/test/de_fuzz/corpus/b226f10801ffb4b69a8a7040df4760ba23f46ab1 and /dev/null differ diff --git a/test/de_fuzz/corpus/b235c96571b106a1c94ad7eea39ef4bd6c922a50 b/test/de_fuzz/corpus/b235c96571b106a1c94ad7eea39ef4bd6c922a50 deleted file mode 100644 index 74901def1..000000000 Binary files a/test/de_fuzz/corpus/b235c96571b106a1c94ad7eea39ef4bd6c922a50 and /dev/null differ diff --git a/test/de_fuzz/corpus/b244647c5c1e0e2e0abe32d819eefa197260dab5 b/test/de_fuzz/corpus/b244647c5c1e0e2e0abe32d819eefa197260dab5 deleted file mode 100644 index 317d10587..000000000 Binary files a/test/de_fuzz/corpus/b244647c5c1e0e2e0abe32d819eefa197260dab5 and /dev/null differ diff --git a/test/de_fuzz/corpus/b24d39f57e62fb6d4b6d8d2d9aace973c38c6183 b/test/de_fuzz/corpus/b24d39f57e62fb6d4b6d8d2d9aace973c38c6183 deleted file mode 100644 index fa8736f59..000000000 Binary files a/test/de_fuzz/corpus/b24d39f57e62fb6d4b6d8d2d9aace973c38c6183 and /dev/null differ diff --git a/test/de_fuzz/corpus/b26a525ebb305d74b3a5edb338d6f54295564c53 b/test/de_fuzz/corpus/b26a525ebb305d74b3a5edb338d6f54295564c53 deleted file mode 100644 index 7a9dae9b3..000000000 Binary files a/test/de_fuzz/corpus/b26a525ebb305d74b3a5edb338d6f54295564c53 and /dev/null differ diff --git a/test/de_fuzz/corpus/b27c669d935341321970af2d93a87a02375bc38e b/test/de_fuzz/corpus/b27c669d935341321970af2d93a87a02375bc38e deleted file mode 100644 index 1b9ae4256..000000000 Binary files a/test/de_fuzz/corpus/b27c669d935341321970af2d93a87a02375bc38e and /dev/null differ diff --git a/test/de_fuzz/corpus/b282d15b80ae99e3184f03afc4943bf62050e2d9 b/test/de_fuzz/corpus/b282d15b80ae99e3184f03afc4943bf62050e2d9 deleted file mode 100644 index a4c988c14..000000000 Binary files a/test/de_fuzz/corpus/b282d15b80ae99e3184f03afc4943bf62050e2d9 and /dev/null differ diff --git a/test/de_fuzz/corpus/b287f0f4cb9dd186ffc47dd9da572a3a8e257759 b/test/de_fuzz/corpus/b287f0f4cb9dd186ffc47dd9da572a3a8e257759 deleted file mode 100644 index 65cf981bf..000000000 Binary files a/test/de_fuzz/corpus/b287f0f4cb9dd186ffc47dd9da572a3a8e257759 and /dev/null differ diff --git a/test/de_fuzz/corpus/b28ff3889070e7ed6159e1435c815f6553fd8125 b/test/de_fuzz/corpus/b28ff3889070e7ed6159e1435c815f6553fd8125 deleted file mode 100644 index a9e7b5b4b..000000000 Binary files a/test/de_fuzz/corpus/b28ff3889070e7ed6159e1435c815f6553fd8125 and /dev/null differ diff --git a/test/de_fuzz/corpus/b2b01c66b1cb85deaa5e2257b04783941d3c7b95 b/test/de_fuzz/corpus/b2b01c66b1cb85deaa5e2257b04783941d3c7b95 deleted file mode 100644 index 3f9b50b56..000000000 Binary files a/test/de_fuzz/corpus/b2b01c66b1cb85deaa5e2257b04783941d3c7b95 and /dev/null differ diff --git a/test/de_fuzz/corpus/b2bf815ad94a53f98324018dd3248a87e16d177d b/test/de_fuzz/corpus/b2bf815ad94a53f98324018dd3248a87e16d177d deleted file mode 100644 index 93c6689f1..000000000 Binary files a/test/de_fuzz/corpus/b2bf815ad94a53f98324018dd3248a87e16d177d and /dev/null differ diff --git a/test/de_fuzz/corpus/b2db73ae683f8ed62c42940e236bcfcd14638116 b/test/de_fuzz/corpus/b2db73ae683f8ed62c42940e236bcfcd14638116 deleted file mode 100644 index ae8ab74f1..000000000 Binary files a/test/de_fuzz/corpus/b2db73ae683f8ed62c42940e236bcfcd14638116 and /dev/null differ diff --git a/test/de_fuzz/corpus/b30ba4cf7470c6ce13c10561e8f7e6fa1b10eecb b/test/de_fuzz/corpus/b30ba4cf7470c6ce13c10561e8f7e6fa1b10eecb deleted file mode 100644 index 3d2ddcf9a..000000000 --- a/test/de_fuzz/corpus/b30ba4cf7470c6ce13c10561e8f7e6fa1b10eecb +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+i+)+)+)+)+|V((((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+i+)+)+)+)+|V((((a+)+)+!\Pd((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/b317d038bb29772259545b0660f0c4406827648a b/test/de_fuzz/corpus/b317d038bb29772259545b0660f0c4406827648a deleted file mode 100644 index cc1e05267..000000000 Binary files a/test/de_fuzz/corpus/b317d038bb29772259545b0660f0c4406827648a and /dev/null differ diff --git a/test/de_fuzz/corpus/b32fa5f77d2c5135611b8efb78a9fdf5f99ac956 b/test/de_fuzz/corpus/b32fa5f77d2c5135611b8efb78a9fdf5f99ac956 deleted file mode 100644 index 7fed1d755..000000000 --- a/test/de_fuzz/corpus/b32fa5f77d2c5135611b8efb78a9fdf5f99ac956 +++ /dev/null @@ -1 +0,0 @@ -@J\b(?:(?:(one)|(tone)|(two)(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two \ No newline at end of file diff --git a/test/de_fuzz/corpus/b33564c39565ebb3e8f37d33275dc2118fc5081d b/test/de_fuzz/corpus/b33564c39565ebb3e8f37d33275dc2118fc5081d deleted file mode 100644 index 0f16d91ec..000000000 Binary files a/test/de_fuzz/corpus/b33564c39565ebb3e8f37d33275dc2118fc5081d and /dev/null differ diff --git a/test/de_fuzz/corpus/b365067dac2461db1194ef956303909434ba9eed b/test/de_fuzz/corpus/b365067dac2461db1194ef956303909434ba9eed deleted file mode 100644 index 2ca1bec3c..000000000 Binary files a/test/de_fuzz/corpus/b365067dac2461db1194ef956303909434ba9eed and /dev/null differ diff --git a/test/de_fuzz/corpus/b36b27b0d9b2c39c7d2ce1fd0c332e20dd4b610e b/test/de_fuzz/corpus/b36b27b0d9b2c39c7d2ce1fd0c332e20dd4b610e deleted file mode 100644 index a6842b1fa..000000000 Binary files a/test/de_fuzz/corpus/b36b27b0d9b2c39c7d2ce1fd0c332e20dd4b610e and /dev/null differ diff --git a/test/de_fuzz/corpus/b379b77b3d062d8548d30c09802502474857e18d b/test/de_fuzz/corpus/b379b77b3d062d8548d30c09802502474857e18d deleted file mode 100644 index 51756d977..000000000 --- a/test/de_fuzz/corpus/b379b77b3d062d8548d30c09802502474857e18d +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V((()+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/b38d6905c6d3aa8334a1af1b0e86507c01572c55 b/test/de_fuzz/corpus/b38d6905c6d3aa8334a1af1b0e86507c01572c55 deleted file mode 100644 index 17db13b3e..000000000 Binary files a/test/de_fuzz/corpus/b38d6905c6d3aa8334a1af1b0e86507c01572c55 and /dev/null differ diff --git a/test/de_fuzz/corpus/b38d754732f0ba85d16da26bb2df73e56d268324 b/test/de_fuzz/corpus/b38d754732f0ba85d16da26bb2df73e56d268324 deleted file mode 100644 index 6ae0eb1b6..000000000 Binary files a/test/de_fuzz/corpus/b38d754732f0ba85d16da26bb2df73e56d268324 and /dev/null differ diff --git a/test/de_fuzz/corpus/b3ae83ec842a9c018aedbd874b0da4efafba4f10 b/test/de_fuzz/corpus/b3ae83ec842a9c018aedbd874b0da4efafba4f10 deleted file mode 100644 index f690cf3d0..000000000 Binary files a/test/de_fuzz/corpus/b3ae83ec842a9c018aedbd874b0da4efafba4f10 and /dev/null differ diff --git a/test/de_fuzz/corpus/b3bfbd83619e0506d5df89d3e49c3b5b91217c90 b/test/de_fuzz/corpus/b3bfbd83619e0506d5df89d3e49c3b5b91217c90 deleted file mode 100644 index 98fc13556..000000000 Binary files a/test/de_fuzz/corpus/b3bfbd83619e0506d5df89d3e49c3b5b91217c90 and /dev/null differ diff --git a/test/de_fuzz/corpus/b3e6aad279a6c71bac57e4ff371f2450192df25d b/test/de_fuzz/corpus/b3e6aad279a6c71bac57e4ff371f2450192df25d deleted file mode 100644 index cab40dd83..000000000 Binary files a/test/de_fuzz/corpus/b3e6aad279a6c71bac57e4ff371f2450192df25d and /dev/null differ diff --git a/test/de_fuzz/corpus/b40b3268d5a7c37f3fb1ae8d096e0332916d7648 b/test/de_fuzz/corpus/b40b3268d5a7c37f3fb1ae8d096e0332916d7648 deleted file mode 100644 index 9fe7a59d8..000000000 Binary files a/test/de_fuzz/corpus/b40b3268d5a7c37f3fb1ae8d096e0332916d7648 and /dev/null differ diff --git a/test/de_fuzz/corpus/b41a9fb96b0494152fd5c8b192bcf51676f66215 b/test/de_fuzz/corpus/b41a9fb96b0494152fd5c8b192bcf51676f66215 deleted file mode 100644 index 7199b990b..000000000 Binary files a/test/de_fuzz/corpus/b41a9fb96b0494152fd5c8b192bcf51676f66215 and /dev/null differ diff --git a/test/de_fuzz/corpus/b427e5c04a29f231447f89d2e5e1255404b35a6f b/test/de_fuzz/corpus/b427e5c04a29f231447f89d2e5e1255404b35a6f deleted file mode 100644 index 99632c255..000000000 Binary files a/test/de_fuzz/corpus/b427e5c04a29f231447f89d2e5e1255404b35a6f and /dev/null differ diff --git a/test/de_fuzz/corpus/b434f719aa67899a9ec963a5bf3fa7dcb56d39ef b/test/de_fuzz/corpus/b434f719aa67899a9ec963a5bf3fa7dcb56d39ef deleted file mode 100644 index c987ded6a..000000000 Binary files a/test/de_fuzz/corpus/b434f719aa67899a9ec963a5bf3fa7dcb56d39ef and /dev/null differ diff --git a/test/de_fuzz/corpus/b43be999b91e6c0fb0885bf381af5d7525f1dfd3 b/test/de_fuzz/corpus/b43be999b91e6c0fb0885bf381af5d7525f1dfd3 deleted file mode 100644 index 4768b47b7..000000000 Binary files a/test/de_fuzz/corpus/b43be999b91e6c0fb0885bf381af5d7525f1dfd3 and /dev/null differ diff --git a/test/de_fuzz/corpus/b44ac5de7ba01cec106540ea7e11ceb12d330696 b/test/de_fuzz/corpus/b44ac5de7ba01cec106540ea7e11ceb12d330696 deleted file mode 100644 index 59b4cb09e..000000000 Binary files a/test/de_fuzz/corpus/b44ac5de7ba01cec106540ea7e11ceb12d330696 and /dev/null differ diff --git a/test/de_fuzz/corpus/b44dfb570dad68dc2290c3847095f73efe328473 b/test/de_fuzz/corpus/b44dfb570dad68dc2290c3847095f73efe328473 deleted file mode 100644 index 747084df0..000000000 Binary files a/test/de_fuzz/corpus/b44dfb570dad68dc2290c3847095f73efe328473 and /dev/null differ diff --git a/test/de_fuzz/corpus/b49293ec8c13c58b55d6114d404ce7e2ddee0cf8 b/test/de_fuzz/corpus/b49293ec8c13c58b55d6114d404ce7e2ddee0cf8 deleted file mode 100644 index 78543fa6b..000000000 Binary files a/test/de_fuzz/corpus/b49293ec8c13c58b55d6114d404ce7e2ddee0cf8 and /dev/null differ diff --git a/test/de_fuzz/corpus/b4950cf1a62fb83ec24a50827d395bfded3f7d5e b/test/de_fuzz/corpus/b4950cf1a62fb83ec24a50827d395bfded3f7d5e deleted file mode 100644 index 9c129ff0d..000000000 Binary files a/test/de_fuzz/corpus/b4950cf1a62fb83ec24a50827d395bfded3f7d5e and /dev/null differ diff --git a/test/de_fuzz/corpus/b49ab4c1037f4aa639dbf3328a5b5ee49e6267bc b/test/de_fuzz/corpus/b49ab4c1037f4aa639dbf3328a5b5ee49e6267bc deleted file mode 100644 index f86df70ec..000000000 Binary files a/test/de_fuzz/corpus/b49ab4c1037f4aa639dbf3328a5b5ee49e6267bc and /dev/null differ diff --git a/test/de_fuzz/corpus/b4e4b855883f01ccc89b48363f509d8dba7ce6ea b/test/de_fuzz/corpus/b4e4b855883f01ccc89b48363f509d8dba7ce6ea deleted file mode 100644 index e9bdaaf31..000000000 --- a/test/de_fuzz/corpus/b4e4b855883f01ccc89b48363f509d8dba7ce6ea +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(\Z((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((?-i:abcd)(((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+b+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/b514ae4c543a9bf98a718b8fa72f36db1c9e3a00 b/test/de_fuzz/corpus/b514ae4c543a9bf98a718b8fa72f36db1c9e3a00 deleted file mode 100644 index 79f15c7ed..000000000 Binary files a/test/de_fuzz/corpus/b514ae4c543a9bf98a718b8fa72f36db1c9e3a00 and /dev/null differ diff --git a/test/de_fuzz/corpus/b51fc70dece8b5505e5289feee1a90984116585a b/test/de_fuzz/corpus/b51fc70dece8b5505e5289feee1a90984116585a deleted file mode 100644 index 0f9144814..000000000 --- a/test/de_fuzz/corpus/b51fc70dece8b5505e5289feee1a90984116585a +++ /dev/null @@ -1 +0,0 @@ -@J\b:(?:(one)|(tone)|()(?(3)|!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,(?:(?:(one)|(tone)|()(?(3)|!))(?(2)|wo(|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two \ No newline at end of file diff --git a/test/de_fuzz/corpus/b52b6af8e3b3e1f1d22195d5dd7467f186e5d7a7 b/test/de_fuzz/corpus/b52b6af8e3b3e1f1d22195d5dd7467f186e5d7a7 deleted file mode 100644 index 4af246172..000000000 Binary files a/test/de_fuzz/corpus/b52b6af8e3b3e1f1d22195d5dd7467f186e5d7a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/b53470802ff3c098aec9d78095a25fc11e5ec62f b/test/de_fuzz/corpus/b53470802ff3c098aec9d78095a25fc11e5ec62f deleted file mode 100644 index 40e76f3bd..000000000 Binary files a/test/de_fuzz/corpus/b53470802ff3c098aec9d78095a25fc11e5ec62f and /dev/null differ diff --git a/test/de_fuzz/corpus/b5439f77de7a5e83c41f516524205282408e38d7 b/test/de_fuzz/corpus/b5439f77de7a5e83c41f516524205282408e38d7 deleted file mode 100644 index c3f98fd8b..000000000 Binary files a/test/de_fuzz/corpus/b5439f77de7a5e83c41f516524205282408e38d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/b54f6e35d12c2f58db308571005fc6691305bf92 b/test/de_fuzz/corpus/b54f6e35d12c2f58db308571005fc6691305bf92 deleted file mode 100644 index 07176f94c..000000000 Binary files a/test/de_fuzz/corpus/b54f6e35d12c2f58db308571005fc6691305bf92 and /dev/null differ diff --git a/test/de_fuzz/corpus/b55059aa3748b893790bd1dfa50130ae9bad67b1 b/test/de_fuzz/corpus/b55059aa3748b893790bd1dfa50130ae9bad67b1 deleted file mode 100644 index ca854ccaf..000000000 Binary files a/test/de_fuzz/corpus/b55059aa3748b893790bd1dfa50130ae9bad67b1 and /dev/null differ diff --git a/test/de_fuzz/corpus/b5546ccf39e613b642017862149753e98c352b51 b/test/de_fuzz/corpus/b5546ccf39e613b642017862149753e98c352b51 deleted file mode 100644 index 175ee9d87..000000000 Binary files a/test/de_fuzz/corpus/b5546ccf39e613b642017862149753e98c352b51 and /dev/null differ diff --git a/test/de_fuzz/corpus/b563d130e7d0520fac6813e74378d9aa2b1620eb b/test/de_fuzz/corpus/b563d130e7d0520fac6813e74378d9aa2b1620eb deleted file mode 100644 index 06e764106..000000000 Binary files a/test/de_fuzz/corpus/b563d130e7d0520fac6813e74378d9aa2b1620eb and /dev/null differ diff --git a/test/de_fuzz/corpus/b57b4a7c0697c4d60063af4ab262df94b0639598 b/test/de_fuzz/corpus/b57b4a7c0697c4d60063af4ab262df94b0639598 deleted file mode 100644 index a0d6c9672..000000000 Binary files a/test/de_fuzz/corpus/b57b4a7c0697c4d60063af4ab262df94b0639598 and /dev/null differ diff --git a/test/de_fuzz/corpus/b57de5299e32aae2b0950bababc16ea1579cff2b b/test/de_fuzz/corpus/b57de5299e32aae2b0950bababc16ea1579cff2b deleted file mode 100644 index 29738e16c..000000000 --- a/test/de_fuzz/corpus/b57de5299e32aae2b0950bababc16ea1579cff2b +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?33333![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: ! # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could) be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/b5860d9d75e6d594e1ad9c47afb264949ae5441d b/test/de_fuzz/corpus/b5860d9d75e6d594e1ad9c47afb264949ae5441d deleted file mode 100644 index 82519f7ba..000000000 Binary files a/test/de_fuzz/corpus/b5860d9d75e6d594e1ad9c47afb264949ae5441d and /dev/null differ diff --git a/test/de_fuzz/corpus/b58f32d01d687224ccd62622a19195c3cc1b19cd b/test/de_fuzz/corpus/b58f32d01d687224ccd62622a19195c3cc1b19cd deleted file mode 100644 index cc9c6b1dd..000000000 Binary files a/test/de_fuzz/corpus/b58f32d01d687224ccd62622a19195c3cc1b19cd and /dev/null differ diff --git a/test/de_fuzz/corpus/b59af3b6b972235f2ca5971f1cdff41ef801d4df b/test/de_fuzz/corpus/b59af3b6b972235f2ca5971f1cdff41ef801d4df deleted file mode 100644 index f5ba5d6d3..000000000 Binary files a/test/de_fuzz/corpus/b59af3b6b972235f2ca5971f1cdff41ef801d4df and /dev/null differ diff --git a/test/de_fuzz/corpus/b60056bca55d54dcd04a8480e4949892b671da4a b/test/de_fuzz/corpus/b60056bca55d54dcd04a8480e4949892b671da4a deleted file mode 100644 index a23e768f2..000000000 Binary files a/test/de_fuzz/corpus/b60056bca55d54dcd04a8480e4949892b671da4a and /dev/null differ diff --git a/test/de_fuzz/corpus/b6463908740fff19b44e5ce91fd47a8241418c7b b/test/de_fuzz/corpus/b6463908740fff19b44e5ce91fd47a8241418c7b deleted file mode 100644 index f9fcc902b..000000000 Binary files a/test/de_fuzz/corpus/b6463908740fff19b44e5ce91fd47a8241418c7b and /dev/null differ diff --git a/test/de_fuzz/corpus/b6d5cd18ac99c3fd0b1f59eefaed7a1abeceb044 b/test/de_fuzz/corpus/b6d5cd18ac99c3fd0b1f59eefaed7a1abeceb044 deleted file mode 100644 index 8919687a5..000000000 Binary files a/test/de_fuzz/corpus/b6d5cd18ac99c3fd0b1f59eefaed7a1abeceb044 and /dev/null differ diff --git a/test/de_fuzz/corpus/b70a7e42594bf7354d95718c18f856737c1e78a3 b/test/de_fuzz/corpus/b70a7e42594bf7354d95718c18f856737c1e78a3 deleted file mode 100644 index e8c58a18c..000000000 Binary files a/test/de_fuzz/corpus/b70a7e42594bf7354d95718c18f856737c1e78a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/b72c8a41f12e8167a6ea44de81bab78089637afd b/test/de_fuzz/corpus/b72c8a41f12e8167a6ea44de81bab78089637afd deleted file mode 100644 index efd8c6ef7..000000000 Binary files a/test/de_fuzz/corpus/b72c8a41f12e8167a6ea44de81bab78089637afd and /dev/null differ diff --git a/test/de_fuzz/corpus/b73abce2b88a3ba8abe01d6af62077331a6a12dd b/test/de_fuzz/corpus/b73abce2b88a3ba8abe01d6af62077331a6a12dd deleted file mode 100644 index 7e21e5d3c..000000000 Binary files a/test/de_fuzz/corpus/b73abce2b88a3ba8abe01d6af62077331a6a12dd and /dev/null differ diff --git a/test/de_fuzz/corpus/b76a707f33cce3ed59e9614fa03466cf1bff170f b/test/de_fuzz/corpus/b76a707f33cce3ed59e9614fa03466cf1bff170f deleted file mode 100644 index 0fa33c89c..000000000 --- a/test/de_fuzz/corpus/b76a707f33cce3ed59e9614fa03466cf1bff170f +++ /dev/null @@ -1,3 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ - {{{{{{{{{{{{ - \ No newline at end of file diff --git a/test/de_fuzz/corpus/b79d2196bc3f2787207d264637f9ab6696c24f3e b/test/de_fuzz/corpus/b79d2196bc3f2787207d264637f9ab6696c24f3e deleted file mode 100644 index 31e5d358f..000000000 Binary files a/test/de_fuzz/corpus/b79d2196bc3f2787207d264637f9ab6696c24f3e and /dev/null differ diff --git a/test/de_fuzz/corpus/b7b55e36465bf10bd023946ea99cda077d311b8c b/test/de_fuzz/corpus/b7b55e36465bf10bd023946ea99cda077d311b8c deleted file mode 100644 index 58b3c6f50..000000000 Binary files a/test/de_fuzz/corpus/b7b55e36465bf10bd023946ea99cda077d311b8c and /dev/null differ diff --git a/test/de_fuzz/corpus/b7b688b53d98f21e08d9ca3c60e5493163eb63a7 b/test/de_fuzz/corpus/b7b688b53d98f21e08d9ca3c60e5493163eb63a7 deleted file mode 100644 index 6e1f78ed5..000000000 Binary files a/test/de_fuzz/corpus/b7b688b53d98f21e08d9ca3c60e5493163eb63a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/b7bb927d3445d6f53b893d0f16d4f838417ce58a b/test/de_fuzz/corpus/b7bb927d3445d6f53b893d0f16d4f838417ce58a deleted file mode 100644 index 27e8f3fbd..000000000 Binary files a/test/de_fuzz/corpus/b7bb927d3445d6f53b893d0f16d4f838417ce58a and /dev/null differ diff --git a/test/de_fuzz/corpus/b7d11d69e0a4e32ee20b4bcea4aba3f20cc6d794 b/test/de_fuzz/corpus/b7d11d69e0a4e32ee20b4bcea4aba3f20cc6d794 deleted file mode 100644 index 100deb270..000000000 Binary files a/test/de_fuzz/corpus/b7d11d69e0a4e32ee20b4bcea4aba3f20cc6d794 and /dev/null differ diff --git a/test/de_fuzz/corpus/b7d1d75a8f253cd0f8ee7a21f95422d81fe83d36 b/test/de_fuzz/corpus/b7d1d75a8f253cd0f8ee7a21f95422d81fe83d36 deleted file mode 100644 index 0c45e83ef..000000000 Binary files a/test/de_fuzz/corpus/b7d1d75a8f253cd0f8ee7a21f95422d81fe83d36 and /dev/null differ diff --git a/test/de_fuzz/corpus/b7d5a8fad3b5e4e98b9fc48aa996c3d552de1cc1 b/test/de_fuzz/corpus/b7d5a8fad3b5e4e98b9fc48aa996c3d552de1cc1 deleted file mode 100644 index 1c1069274..000000000 Binary files a/test/de_fuzz/corpus/b7d5a8fad3b5e4e98b9fc48aa996c3d552de1cc1 and /dev/null differ diff --git a/test/de_fuzz/corpus/b8622f364758ae4d258eeaa2b5c08442532ec615 b/test/de_fuzz/corpus/b8622f364758ae4d258eeaa2b5c08442532ec615 deleted file mode 100644 index cd230257f..000000000 Binary files a/test/de_fuzz/corpus/b8622f364758ae4d258eeaa2b5c08442532ec615 and /dev/null differ diff --git a/test/de_fuzz/corpus/b87234955d8f8405eeddf30ca90ec1f21c659464 b/test/de_fuzz/corpus/b87234955d8f8405eeddf30ca90ec1f21c659464 deleted file mode 100644 index 78ef2f04a..000000000 Binary files a/test/de_fuzz/corpus/b87234955d8f8405eeddf30ca90ec1f21c659464 and /dev/null differ diff --git a/test/de_fuzz/corpus/b87e412bdb9a77fbd82f346e872257e5b69d8cf1 b/test/de_fuzz/corpus/b87e412bdb9a77fbd82f346e872257e5b69d8cf1 deleted file mode 100644 index 0c6a9d05f..000000000 Binary files a/test/de_fuzz/corpus/b87e412bdb9a77fbd82f346e872257e5b69d8cf1 and /dev/null differ diff --git a/test/de_fuzz/corpus/b8a03a876c419f77dad2ce86c983dd217b48c3ca b/test/de_fuzz/corpus/b8a03a876c419f77dad2ce86c983dd217b48c3ca deleted file mode 100644 index 8bc7122f4..000000000 Binary files a/test/de_fuzz/corpus/b8a03a876c419f77dad2ce86c983dd217b48c3ca and /dev/null differ diff --git a/test/de_fuzz/corpus/b8ec93407bd789b723bfee61a9f934b833a6003f b/test/de_fuzz/corpus/b8ec93407bd789b723bfee61a9f934b833a6003f deleted file mode 100644 index c35ad274a..000000000 Binary files a/test/de_fuzz/corpus/b8ec93407bd789b723bfee61a9f934b833a6003f and /dev/null differ diff --git a/test/de_fuzz/corpus/b8ef4c014aac710502eb8b804acee6806f37cbf3 b/test/de_fuzz/corpus/b8ef4c014aac710502eb8b804acee6806f37cbf3 deleted file mode 100644 index 3ec2803d2..000000000 Binary files a/test/de_fuzz/corpus/b8ef4c014aac710502eb8b804acee6806f37cbf3 and /dev/null differ diff --git a/test/de_fuzz/corpus/b8fc376934a3ca40287e49f40c6b2ac1e7b89eb8 b/test/de_fuzz/corpus/b8fc376934a3ca40287e49f40c6b2ac1e7b89eb8 deleted file mode 100644 index 9db7150d2..000000000 Binary files a/test/de_fuzz/corpus/b8fc376934a3ca40287e49f40c6b2ac1e7b89eb8 and /dev/null differ diff --git a/test/de_fuzz/corpus/b917bc17647dd5bee10561dcc160525b1f994c44 b/test/de_fuzz/corpus/b917bc17647dd5bee10561dcc160525b1f994c44 deleted file mode 100644 index 0058f1438..000000000 --- a/test/de_fuzz/corpus/b917bc17647dd5bee10561dcc160525b1f994c44 +++ /dev/null @@ -1,130 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\l subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/b9564586c95ebe29c30a453bc8c3186d07d21126 b/test/de_fuzz/corpus/b9564586c95ebe29c30a453bc8c3186d07d21126 deleted file mode 100644 index 6fdfd5abe..000000000 Binary files a/test/de_fuzz/corpus/b9564586c95ebe29c30a453bc8c3186d07d21126 and /dev/null differ diff --git a/test/de_fuzz/corpus/b966b0f941c6d4b5ab047f720c108e530c5422b1 b/test/de_fuzz/corpus/b966b0f941c6d4b5ab047f720c108e530c5422b1 deleted file mode 100644 index 91de6b9a2..000000000 Binary files a/test/de_fuzz/corpus/b966b0f941c6d4b5ab047f720c108e530c5422b1 and /dev/null differ diff --git a/test/de_fuzz/corpus/b995fd71519f36d9b196739f80be665bb47460f3 b/test/de_fuzz/corpus/b995fd71519f36d9b196739f80be665bb47460f3 deleted file mode 100644 index 6c0572219..000000000 Binary files a/test/de_fuzz/corpus/b995fd71519f36d9b196739f80be665bb47460f3 and /dev/null differ diff --git a/test/de_fuzz/corpus/b9a601957a53dee42f8bb508f791dabf4e2c86bf b/test/de_fuzz/corpus/b9a601957a53dee42f8bb508f791dabf4e2c86bf deleted file mode 100644 index 1a3b6d1ea..000000000 Binary files a/test/de_fuzz/corpus/b9a601957a53dee42f8bb508f791dabf4e2c86bf and /dev/null differ diff --git a/test/de_fuzz/corpus/b9a8ef2d943063115cb370de2a334a5efce6f776 b/test/de_fuzz/corpus/b9a8ef2d943063115cb370de2a334a5efce6f776 deleted file mode 100644 index 04a436f00..000000000 Binary files a/test/de_fuzz/corpus/b9a8ef2d943063115cb370de2a334a5efce6f776 and /dev/null differ diff --git a/test/de_fuzz/corpus/ba09b7c672015c652b063427c8c507b5fd0bee81 b/test/de_fuzz/corpus/ba09b7c672015c652b063427c8c507b5fd0bee81 deleted file mode 100644 index 2df7914fb..000000000 Binary files a/test/de_fuzz/corpus/ba09b7c672015c652b063427c8c507b5fd0bee81 and /dev/null differ diff --git a/test/de_fuzz/corpus/ba0fc3006251810a713076b88118cd2799f46c67 b/test/de_fuzz/corpus/ba0fc3006251810a713076b88118cd2799f46c67 deleted file mode 100644 index c945bd154..000000000 Binary files a/test/de_fuzz/corpus/ba0fc3006251810a713076b88118cd2799f46c67 and /dev/null differ diff --git a/test/de_fuzz/corpus/ba105441e86282956ba0deab0b38cbdf3b9a44b3 b/test/de_fuzz/corpus/ba105441e86282956ba0deab0b38cbdf3b9a44b3 deleted file mode 100644 index 17b2816d7..000000000 Binary files a/test/de_fuzz/corpus/ba105441e86282956ba0deab0b38cbdf3b9a44b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/ba144fce905c96c6978160ab55aa0c623faf9c0f b/test/de_fuzz/corpus/ba144fce905c96c6978160ab55aa0c623faf9c0f deleted file mode 100644 index 7f02b6e52..000000000 Binary files a/test/de_fuzz/corpus/ba144fce905c96c6978160ab55aa0c623faf9c0f and /dev/null differ diff --git a/test/de_fuzz/corpus/ba32a91cad29840185111e2444b6edd27e69e5fe b/test/de_fuzz/corpus/ba32a91cad29840185111e2444b6edd27e69e5fe deleted file mode 100644 index a2ca80ad0..000000000 Binary files a/test/de_fuzz/corpus/ba32a91cad29840185111e2444b6edd27e69e5fe and /dev/null differ diff --git a/test/de_fuzz/corpus/ba459f3ed07f5984e2ccaff8f2bee840ac7ced95 b/test/de_fuzz/corpus/ba459f3ed07f5984e2ccaff8f2bee840ac7ced95 deleted file mode 100644 index 802222529..000000000 Binary files a/test/de_fuzz/corpus/ba459f3ed07f5984e2ccaff8f2bee840ac7ced95 and /dev/null differ diff --git a/test/de_fuzz/corpus/ba9c287b36341f28acecb1a7b87121236b617341 b/test/de_fuzz/corpus/ba9c287b36341f28acecb1a7b87121236b617341 deleted file mode 100644 index ce902dfe1..000000000 Binary files a/test/de_fuzz/corpus/ba9c287b36341f28acecb1a7b87121236b617341 and /dev/null differ diff --git a/test/de_fuzz/corpus/baae6e88e7a4c5fe2da3094f0ef97e1f59557c3e b/test/de_fuzz/corpus/baae6e88e7a4c5fe2da3094f0ef97e1f59557c3e deleted file mode 100644 index ff51ea73d..000000000 Binary files a/test/de_fuzz/corpus/baae6e88e7a4c5fe2da3094f0ef97e1f59557c3e and /dev/null differ diff --git a/test/de_fuzz/corpus/bab8f1b1e27d5c799aa8292b16296e2df6346052 b/test/de_fuzz/corpus/bab8f1b1e27d5c799aa8292b16296e2df6346052 deleted file mode 100644 index f5249d29f..000000000 Binary files a/test/de_fuzz/corpus/bab8f1b1e27d5c799aa8292b16296e2df6346052 and /dev/null differ diff --git a/test/de_fuzz/corpus/bac4c1abc1f050eca12d599bc28b483837a052c0 b/test/de_fuzz/corpus/bac4c1abc1f050eca12d599bc28b483837a052c0 deleted file mode 100644 index a344bc8a8..000000000 Binary files a/test/de_fuzz/corpus/bac4c1abc1f050eca12d599bc28b483837a052c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/badc04200e28c9cb223e2c126b7c6303def37ea4 b/test/de_fuzz/corpus/badc04200e28c9cb223e2c126b7c6303def37ea4 deleted file mode 100644 index e0daf520f..000000000 Binary files a/test/de_fuzz/corpus/badc04200e28c9cb223e2c126b7c6303def37ea4 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb0d8955035f1749674a059ce091fc4c40c005a5 b/test/de_fuzz/corpus/bb0d8955035f1749674a059ce091fc4c40c005a5 deleted file mode 100644 index fa9fb639b..000000000 Binary files a/test/de_fuzz/corpus/bb0d8955035f1749674a059ce091fc4c40c005a5 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb1a04df48b258b4101a2c453cdd4485e478e08c b/test/de_fuzz/corpus/bb1a04df48b258b4101a2c453cdd4485e478e08c deleted file mode 100644 index b25932a7e..000000000 Binary files a/test/de_fuzz/corpus/bb1a04df48b258b4101a2c453cdd4485e478e08c and /dev/null differ diff --git a/test/de_fuzz/corpus/bb1b569e65443e72fa8713b673305aeedecbbb47 b/test/de_fuzz/corpus/bb1b569e65443e72fa8713b673305aeedecbbb47 deleted file mode 100644 index 105b287a0..000000000 Binary files a/test/de_fuzz/corpus/bb1b569e65443e72fa8713b673305aeedecbbb47 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb1dbe7f6edf04783914642cdeff4e942def2470 b/test/de_fuzz/corpus/bb1dbe7f6edf04783914642cdeff4e942def2470 deleted file mode 100644 index 48a923ac0..000000000 Binary files a/test/de_fuzz/corpus/bb1dbe7f6edf04783914642cdeff4e942def2470 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb4f1660346d0cdabb18dc9b41dd755dafaeb133 b/test/de_fuzz/corpus/bb4f1660346d0cdabb18dc9b41dd755dafaeb133 deleted file mode 100644 index 2f4935a9b..000000000 Binary files a/test/de_fuzz/corpus/bb4f1660346d0cdabb18dc9b41dd755dafaeb133 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb569ad9460056bd9715bb21e9f1cfd16c077a72 b/test/de_fuzz/corpus/bb569ad9460056bd9715bb21e9f1cfd16c077a72 deleted file mode 100644 index 756cd89d1..000000000 Binary files a/test/de_fuzz/corpus/bb569ad9460056bd9715bb21e9f1cfd16c077a72 and /dev/null differ diff --git a/test/de_fuzz/corpus/bb6cbc6d9757a7859d905d94389cdf70596547de b/test/de_fuzz/corpus/bb6cbc6d9757a7859d905d94389cdf70596547de deleted file mode 100644 index 12ff7223f..000000000 Binary files a/test/de_fuzz/corpus/bb6cbc6d9757a7859d905d94389cdf70596547de and /dev/null differ diff --git a/test/de_fuzz/corpus/bb828ac70ce3acf36175e01b032d37215edec714 b/test/de_fuzz/corpus/bb828ac70ce3acf36175e01b032d37215edec714 deleted file mode 100644 index 0b02ab2e9..000000000 Binary files a/test/de_fuzz/corpus/bb828ac70ce3acf36175e01b032d37215edec714 and /dev/null differ diff --git a/test/de_fuzz/corpus/bbb03d0e9f69d17fbf0397101deeb68f83b761d7 b/test/de_fuzz/corpus/bbb03d0e9f69d17fbf0397101deeb68f83b761d7 deleted file mode 100644 index b9b1da284..000000000 Binary files a/test/de_fuzz/corpus/bbb03d0e9f69d17fbf0397101deeb68f83b761d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/bbb2fa469c4e639133f6b6fc34af02d7bd429b2b b/test/de_fuzz/corpus/bbb2fa469c4e639133f6b6fc34af02d7bd429b2b deleted file mode 100644 index 3d4c6625a..000000000 Binary files a/test/de_fuzz/corpus/bbb2fa469c4e639133f6b6fc34af02d7bd429b2b and /dev/null differ diff --git a/test/de_fuzz/corpus/bbd4c36c8ca18e5e43fa454703fbdb64cb368251 b/test/de_fuzz/corpus/bbd4c36c8ca18e5e43fa454703fbdb64cb368251 deleted file mode 100644 index 215bfbb7f..000000000 Binary files a/test/de_fuzz/corpus/bbd4c36c8ca18e5e43fa454703fbdb64cb368251 and /dev/null differ diff --git a/test/de_fuzz/corpus/bbda852e140d2bdedb5140e749140a75c4411eb5 b/test/de_fuzz/corpus/bbda852e140d2bdedb5140e749140a75c4411eb5 deleted file mode 100644 index de007a1c1..000000000 Binary files a/test/de_fuzz/corpus/bbda852e140d2bdedb5140e749140a75c4411eb5 and /dev/null differ diff --git a/test/de_fuzz/corpus/bbfc37555b04a5884f225b310618894d17f99ad9 b/test/de_fuzz/corpus/bbfc37555b04a5884f225b310618894d17f99ad9 deleted file mode 100644 index 5b50c4aeb..000000000 Binary files a/test/de_fuzz/corpus/bbfc37555b04a5884f225b310618894d17f99ad9 and /dev/null differ diff --git a/test/de_fuzz/corpus/bbfced132be66ac5bdb0c5b68412efcd210b941e b/test/de_fuzz/corpus/bbfced132be66ac5bdb0c5b68412efcd210b941e deleted file mode 100644 index 91632d9b9..000000000 Binary files a/test/de_fuzz/corpus/bbfced132be66ac5bdb0c5b68412efcd210b941e and /dev/null differ diff --git a/test/de_fuzz/corpus/bc233f68f0f982133e43cc62b7466661f9506657 b/test/de_fuzz/corpus/bc233f68f0f982133e43cc62b7466661f9506657 deleted file mode 100644 index 56c93575c..000000000 Binary files a/test/de_fuzz/corpus/bc233f68f0f982133e43cc62b7466661f9506657 and /dev/null differ diff --git a/test/de_fuzz/corpus/bc24173c1034a47b0dc67fefae7e9daa4b99167f b/test/de_fuzz/corpus/bc24173c1034a47b0dc67fefae7e9daa4b99167f deleted file mode 100644 index 8b92e7a60..000000000 Binary files a/test/de_fuzz/corpus/bc24173c1034a47b0dc67fefae7e9daa4b99167f and /dev/null differ diff --git a/test/de_fuzz/corpus/bc44e1fde6f015a13d06a5a81e048b3ae76dff23 b/test/de_fuzz/corpus/bc44e1fde6f015a13d06a5a81e048b3ae76dff23 deleted file mode 100644 index 73dea1dc7..000000000 Binary files a/test/de_fuzz/corpus/bc44e1fde6f015a13d06a5a81e048b3ae76dff23 and /dev/null differ diff --git a/test/de_fuzz/corpus/bc52fdf6e3186f67745423249fe6d00c605586de b/test/de_fuzz/corpus/bc52fdf6e3186f67745423249fe6d00c605586de deleted file mode 100644 index 9eb922d7f..000000000 Binary files a/test/de_fuzz/corpus/bc52fdf6e3186f67745423249fe6d00c605586de and /dev/null differ diff --git a/test/de_fuzz/corpus/bc71537f15380a3b61fb32ec4ef33abf360a5181 b/test/de_fuzz/corpus/bc71537f15380a3b61fb32ec4ef33abf360a5181 deleted file mode 100644 index 72717c2ff..000000000 Binary files a/test/de_fuzz/corpus/bc71537f15380a3b61fb32ec4ef33abf360a5181 and /dev/null differ diff --git a/test/de_fuzz/corpus/bc898ec8660a8e7094c1bc45c32426b9dca7e8d0 b/test/de_fuzz/corpus/bc898ec8660a8e7094c1bc45c32426b9dca7e8d0 deleted file mode 100644 index 6f9c2f0e3..000000000 Binary files a/test/de_fuzz/corpus/bc898ec8660a8e7094c1bc45c32426b9dca7e8d0 and /dev/null differ diff --git a/test/de_fuzz/corpus/bc9abe13c6d376d809ee1970d20c3b5f975651f2 b/test/de_fuzz/corpus/bc9abe13c6d376d809ee1970d20c3b5f975651f2 deleted file mode 100644 index 81e5a287a..000000000 Binary files a/test/de_fuzz/corpus/bc9abe13c6d376d809ee1970d20c3b5f975651f2 and /dev/null differ diff --git a/test/de_fuzz/corpus/bcb105e7681d39abe5cbee0dde0f451bd9ce1473 b/test/de_fuzz/corpus/bcb105e7681d39abe5cbee0dde0f451bd9ce1473 deleted file mode 100644 index af1495ff4..000000000 Binary files a/test/de_fuzz/corpus/bcb105e7681d39abe5cbee0dde0f451bd9ce1473 and /dev/null differ diff --git a/test/de_fuzz/corpus/bccd8c384df7b1596a00e75eac0433669dad6b91 b/test/de_fuzz/corpus/bccd8c384df7b1596a00e75eac0433669dad6b91 deleted file mode 100644 index d00a208f5..000000000 Binary files a/test/de_fuzz/corpus/bccd8c384df7b1596a00e75eac0433669dad6b91 and /dev/null differ diff --git a/test/de_fuzz/corpus/bcfc2c23fcbee4c79f6223d37e532c87a905d73d b/test/de_fuzz/corpus/bcfc2c23fcbee4c79f6223d37e532c87a905d73d deleted file mode 100644 index 251687d73..000000000 Binary files a/test/de_fuzz/corpus/bcfc2c23fcbee4c79f6223d37e532c87a905d73d and /dev/null differ diff --git a/test/de_fuzz/corpus/bd3807b65082904f2ddeac2b366770bd05635ac9 b/test/de_fuzz/corpus/bd3807b65082904f2ddeac2b366770bd05635ac9 deleted file mode 100644 index bac18c4a9..000000000 Binary files a/test/de_fuzz/corpus/bd3807b65082904f2ddeac2b366770bd05635ac9 and /dev/null differ diff --git a/test/de_fuzz/corpus/bd3eca71125700a50f0fbb2fb44e5e3d9293ecd1 b/test/de_fuzz/corpus/bd3eca71125700a50f0fbb2fb44e5e3d9293ecd1 deleted file mode 100644 index 322e925cd..000000000 Binary files a/test/de_fuzz/corpus/bd3eca71125700a50f0fbb2fb44e5e3d9293ecd1 and /dev/null differ diff --git a/test/de_fuzz/corpus/bd46bece1b5adbf73f8a371d16cabda5b719d43b b/test/de_fuzz/corpus/bd46bece1b5adbf73f8a371d16cabda5b719d43b deleted file mode 100644 index d038adf0f..000000000 Binary files a/test/de_fuzz/corpus/bd46bece1b5adbf73f8a371d16cabda5b719d43b and /dev/null differ diff --git a/test/de_fuzz/corpus/bd8d3484bfe56f2cfce07df3ff6032646cdad235 b/test/de_fuzz/corpus/bd8d3484bfe56f2cfce07df3ff6032646cdad235 deleted file mode 100644 index 8567ca5db..000000000 Binary files a/test/de_fuzz/corpus/bd8d3484bfe56f2cfce07df3ff6032646cdad235 and /dev/null differ diff --git a/test/de_fuzz/corpus/bd962bd37636bd75437c9ec9a6cef860d407e135 b/test/de_fuzz/corpus/bd962bd37636bd75437c9ec9a6cef860d407e135 deleted file mode 100644 index 0c701206a..000000000 Binary files a/test/de_fuzz/corpus/bd962bd37636bd75437c9ec9a6cef860d407e135 and /dev/null differ diff --git a/test/de_fuzz/corpus/bdb0f89d9f7b2b712056c077720055427901050d b/test/de_fuzz/corpus/bdb0f89d9f7b2b712056c077720055427901050d deleted file mode 100644 index ad7117017..000000000 Binary files a/test/de_fuzz/corpus/bdb0f89d9f7b2b712056c077720055427901050d and /dev/null differ diff --git a/test/de_fuzz/corpus/bdc75291921f8867d7f29b9f73f1f63d75ad7a65 b/test/de_fuzz/corpus/bdc75291921f8867d7f29b9f73f1f63d75ad7a65 deleted file mode 100644 index feb19ec38..000000000 --- a/test/de_fuzz/corpus/bdc75291921f8867d7f29b9f73f1f63d75ad7a65 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*\2 ||.(()(()\W!(?2)(?''abc)\WAE(?1)\W*\2 ||.(()(()\W!(?2)(?''abc)\W*rown )ox \ No newline at end of file diff --git a/test/de_fuzz/corpus/bdca3611e527bb5fa8ff9ecc347119064601fc7a b/test/de_fuzz/corpus/bdca3611e527bb5fa8ff9ecc347119064601fc7a deleted file mode 100644 index e79ae7e1b..000000000 Binary files a/test/de_fuzz/corpus/bdca3611e527bb5fa8ff9ecc347119064601fc7a and /dev/null differ diff --git a/test/de_fuzz/corpus/bdd8a00b3f15cddbbe7af2e7614371cfdaf8255c b/test/de_fuzz/corpus/bdd8a00b3f15cddbbe7af2e7614371cfdaf8255c deleted file mode 100644 index ac67e8dde..000000000 Binary files a/test/de_fuzz/corpus/bdd8a00b3f15cddbbe7af2e7614371cfdaf8255c and /dev/null differ diff --git a/test/de_fuzz/corpus/bde7c65d601c6c456e7b53967321def9e2b92a10 b/test/de_fuzz/corpus/bde7c65d601c6c456e7b53967321def9e2b92a10 deleted file mode 100644 index 2f627823d..000000000 Binary files a/test/de_fuzz/corpus/bde7c65d601c6c456e7b53967321def9e2b92a10 and /dev/null differ diff --git a/test/de_fuzz/corpus/bdf2b2c6b0f8dd63b84fc2906464a274af3548d1 b/test/de_fuzz/corpus/bdf2b2c6b0f8dd63b84fc2906464a274af3548d1 deleted file mode 100644 index 76cec7df6..000000000 Binary files a/test/de_fuzz/corpus/bdf2b2c6b0f8dd63b84fc2906464a274af3548d1 and /dev/null differ diff --git a/test/de_fuzz/corpus/bdf9e6da50224c002072b9424b1e3ca6bc37cd11 b/test/de_fuzz/corpus/bdf9e6da50224c002072b9424b1e3ca6bc37cd11 deleted file mode 100644 index bc940471a..000000000 Binary files a/test/de_fuzz/corpus/bdf9e6da50224c002072b9424b1e3ca6bc37cd11 and /dev/null differ diff --git a/test/de_fuzz/corpus/be056768a251915eedb8615d5cb2787216be8a3f b/test/de_fuzz/corpus/be056768a251915eedb8615d5cb2787216be8a3f deleted file mode 100644 index 2788ff09d..000000000 Binary files a/test/de_fuzz/corpus/be056768a251915eedb8615d5cb2787216be8a3f and /dev/null differ diff --git a/test/de_fuzz/corpus/be0f376abab2c7d772e29be5d45b1cac29a03996 b/test/de_fuzz/corpus/be0f376abab2c7d772e29be5d45b1cac29a03996 deleted file mode 100644 index c14b1324d..000000000 Binary files a/test/de_fuzz/corpus/be0f376abab2c7d772e29be5d45b1cac29a03996 and /dev/null differ diff --git a/test/de_fuzz/corpus/be4da31ce0bf1432e80451383e6902aea169a9fe b/test/de_fuzz/corpus/be4da31ce0bf1432e80451383e6902aea169a9fe deleted file mode 100644 index cca6f6afc..000000000 Binary files a/test/de_fuzz/corpus/be4da31ce0bf1432e80451383e6902aea169a9fe and /dev/null differ diff --git a/test/de_fuzz/corpus/be9093712976a65134b0d76a0f5e9e09c4025773 b/test/de_fuzz/corpus/be9093712976a65134b0d76a0f5e9e09c4025773 deleted file mode 100644 index 233d027f5..000000000 Binary files a/test/de_fuzz/corpus/be9093712976a65134b0d76a0f5e9e09c4025773 and /dev/null differ diff --git a/test/de_fuzz/corpus/be9b62ff3af2ddf99df01290097fcfc3caebb74b b/test/de_fuzz/corpus/be9b62ff3af2ddf99df01290097fcfc3caebb74b deleted file mode 100644 index 1b5ecab66..000000000 Binary files a/test/de_fuzz/corpus/be9b62ff3af2ddf99df01290097fcfc3caebb74b and /dev/null differ diff --git a/test/de_fuzz/corpus/bea3614c132a84de05bd66f9aa33607184582fb9 b/test/de_fuzz/corpus/bea3614c132a84de05bd66f9aa33607184582fb9 deleted file mode 100644 index fc5d8d18a..000000000 Binary files a/test/de_fuzz/corpus/bea3614c132a84de05bd66f9aa33607184582fb9 and /dev/null differ diff --git a/test/de_fuzz/corpus/bea606747febbe38e7553c278c37a90dbfc05ec6 b/test/de_fuzz/corpus/bea606747febbe38e7553c278c37a90dbfc05ec6 deleted file mode 100644 index 3900dcfa5..000000000 Binary files a/test/de_fuzz/corpus/bea606747febbe38e7553c278c37a90dbfc05ec6 and /dev/null differ diff --git a/test/de_fuzz/corpus/beb1218cfb2583d10e5b1a601d60d9092f830626 b/test/de_fuzz/corpus/beb1218cfb2583d10e5b1a601d60d9092f830626 deleted file mode 100644 index 9890ff94c..000000000 Binary files a/test/de_fuzz/corpus/beb1218cfb2583d10e5b1a601d60d9092f830626 and /dev/null differ diff --git a/test/de_fuzz/corpus/bec5ea7f2fc23220a9b0e06a2dae83ea01230deb b/test/de_fuzz/corpus/bec5ea7f2fc23220a9b0e06a2dae83ea01230deb deleted file mode 100644 index b6336b08f..000000000 Binary files a/test/de_fuzz/corpus/bec5ea7f2fc23220a9b0e06a2dae83ea01230deb and /dev/null differ diff --git a/test/de_fuzz/corpus/becba9d6379256f102469b555fea922dd2432316 b/test/de_fuzz/corpus/becba9d6379256f102469b555fea922dd2432316 deleted file mode 100644 index 8f7a25795..000000000 Binary files a/test/de_fuzz/corpus/becba9d6379256f102469b555fea922dd2432316 and /dev/null differ diff --git a/test/de_fuzz/corpus/beef511b1f35b89b3a815c2bde06f34bfb156657 b/test/de_fuzz/corpus/beef511b1f35b89b3a815c2bde06f34bfb156657 deleted file mode 100644 index 81bba7c00..000000000 Binary files a/test/de_fuzz/corpus/beef511b1f35b89b3a815c2bde06f34bfb156657 and /dev/null differ diff --git a/test/de_fuzz/corpus/befa95b80a21922e7a230258bba2da74bf0dce80 b/test/de_fuzz/corpus/befa95b80a21922e7a230258bba2da74bf0dce80 deleted file mode 100644 index 1ad2e810c..000000000 Binary files a/test/de_fuzz/corpus/befa95b80a21922e7a230258bba2da74bf0dce80 and /dev/null differ diff --git a/test/de_fuzz/corpus/bf30f1a37b7b3cbeaa8f362606ff2f0d4bdd9804 b/test/de_fuzz/corpus/bf30f1a37b7b3cbeaa8f362606ff2f0d4bdd9804 deleted file mode 100644 index 4bd082a66..000000000 Binary files a/test/de_fuzz/corpus/bf30f1a37b7b3cbeaa8f362606ff2f0d4bdd9804 and /dev/null differ diff --git a/test/de_fuzz/corpus/bf45c4050a3a7c1b03358bc5f1315cca6e643d93 b/test/de_fuzz/corpus/bf45c4050a3a7c1b03358bc5f1315cca6e643d93 deleted file mode 100644 index f17d87199..000000000 Binary files a/test/de_fuzz/corpus/bf45c4050a3a7c1b03358bc5f1315cca6e643d93 and /dev/null differ diff --git a/test/de_fuzz/corpus/bf6b44ac00868129490d3967956693bb517ef0ea b/test/de_fuzz/corpus/bf6b44ac00868129490d3967956693bb517ef0ea deleted file mode 100644 index d8b576211..000000000 Binary files a/test/de_fuzz/corpus/bf6b44ac00868129490d3967956693bb517ef0ea and /dev/null differ diff --git a/test/de_fuzz/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 b/test/de_fuzz/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 deleted file mode 100644 index 6b2aaa764..000000000 --- a/test/de_fuzz/corpus/bf8b4530d8d246dd74ac53a13471bba17941dff7 +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/test/de_fuzz/corpus/bf9ee478636d6891c72c1d8c2a435a583171aaf7 b/test/de_fuzz/corpus/bf9ee478636d6891c72c1d8c2a435a583171aaf7 deleted file mode 100644 index 099249c3b..000000000 Binary files a/test/de_fuzz/corpus/bf9ee478636d6891c72c1d8c2a435a583171aaf7 and /dev/null differ diff --git a/test/de_fuzz/corpus/bfa82e40f7b5cc0aa9a7b7d431ee372e72fb61db b/test/de_fuzz/corpus/bfa82e40f7b5cc0aa9a7b7d431ee372e72fb61db deleted file mode 100644 index 0f46101a9..000000000 Binary files a/test/de_fuzz/corpus/bfa82e40f7b5cc0aa9a7b7d431ee372e72fb61db and /dev/null differ diff --git a/test/de_fuzz/corpus/bfc8e5cfbb14f68346bf4ac604cfd7a127ebb63f b/test/de_fuzz/corpus/bfc8e5cfbb14f68346bf4ac604cfd7a127ebb63f deleted file mode 100644 index ed6b39544..000000000 Binary files a/test/de_fuzz/corpus/bfc8e5cfbb14f68346bf4ac604cfd7a127ebb63f and /dev/null differ diff --git a/test/de_fuzz/corpus/bfd50b50e458570ec9881273d9d71dcff7ed7591 b/test/de_fuzz/corpus/bfd50b50e458570ec9881273d9d71dcff7ed7591 deleted file mode 100644 index 25936f664..000000000 Binary files a/test/de_fuzz/corpus/bfd50b50e458570ec9881273d9d71dcff7ed7591 and /dev/null differ diff --git a/test/de_fuzz/corpus/bffcd50d83d21374623b7f567d048c8d43d2dd83 b/test/de_fuzz/corpus/bffcd50d83d21374623b7f567d048c8d43d2dd83 deleted file mode 100644 index 04e113afe..000000000 Binary files a/test/de_fuzz/corpus/bffcd50d83d21374623b7f567d048c8d43d2dd83 and /dev/null differ diff --git a/test/de_fuzz/corpus/bffe4568adcb9edea5d6e69205d949cd2f9fb424 b/test/de_fuzz/corpus/bffe4568adcb9edea5d6e69205d949cd2f9fb424 deleted file mode 100644 index 4d13a2940..000000000 Binary files a/test/de_fuzz/corpus/bffe4568adcb9edea5d6e69205d949cd2f9fb424 and /dev/null differ diff --git a/test/de_fuzz/corpus/c0051ff9c598b7eb7c51a7898a44650e58cab6d4 b/test/de_fuzz/corpus/c0051ff9c598b7eb7c51a7898a44650e58cab6d4 deleted file mode 100644 index c34c8cc09..000000000 Binary files a/test/de_fuzz/corpus/c0051ff9c598b7eb7c51a7898a44650e58cab6d4 and /dev/null differ diff --git a/test/de_fuzz/corpus/c02e871dca7e2f6e9af760344baaddb1ac02b03f b/test/de_fuzz/corpus/c02e871dca7e2f6e9af760344baaddb1ac02b03f deleted file mode 100644 index 529ca5ac1..000000000 Binary files a/test/de_fuzz/corpus/c02e871dca7e2f6e9af760344baaddb1ac02b03f and /dev/null differ diff --git a/test/de_fuzz/corpus/c04b373f0212db3f23e88267b8ffe4d06e3681c0 b/test/de_fuzz/corpus/c04b373f0212db3f23e88267b8ffe4d06e3681c0 deleted file mode 100644 index e8e7f2dad..000000000 Binary files a/test/de_fuzz/corpus/c04b373f0212db3f23e88267b8ffe4d06e3681c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/c0751dc814b6787f17b7d4448d6fa9f6359c0770 b/test/de_fuzz/corpus/c0751dc814b6787f17b7d4448d6fa9f6359c0770 deleted file mode 100644 index 94307e12d..000000000 Binary files a/test/de_fuzz/corpus/c0751dc814b6787f17b7d4448d6fa9f6359c0770 and /dev/null differ diff --git a/test/de_fuzz/corpus/c0766a91a34292b2d487b105d884a5d139111b2c b/test/de_fuzz/corpus/c0766a91a34292b2d487b105d884a5d139111b2c deleted file mode 100644 index dfcfbba6e..000000000 Binary files a/test/de_fuzz/corpus/c0766a91a34292b2d487b105d884a5d139111b2c and /dev/null differ diff --git a/test/de_fuzz/corpus/c093d15e28c5eb4f6f02812d2b039ac3a2f3dad4 b/test/de_fuzz/corpus/c093d15e28c5eb4f6f02812d2b039ac3a2f3dad4 deleted file mode 100644 index dbddfa656..000000000 Binary files a/test/de_fuzz/corpus/c093d15e28c5eb4f6f02812d2b039ac3a2f3dad4 and /dev/null differ diff --git a/test/de_fuzz/corpus/c0dd5ab233f8d762cb8c93aa18a3ee2d9db34bee b/test/de_fuzz/corpus/c0dd5ab233f8d762cb8c93aa18a3ee2d9db34bee deleted file mode 100644 index dcc08a15c..000000000 Binary files a/test/de_fuzz/corpus/c0dd5ab233f8d762cb8c93aa18a3ee2d9db34bee and /dev/null differ diff --git a/test/de_fuzz/corpus/c0f9c89bd474a6e579c7ee11b612f6ef127051df b/test/de_fuzz/corpus/c0f9c89bd474a6e579c7ee11b612f6ef127051df deleted file mode 100644 index bd9619529..000000000 Binary files a/test/de_fuzz/corpus/c0f9c89bd474a6e579c7ee11b612f6ef127051df and /dev/null differ diff --git a/test/de_fuzz/corpus/c10615dff228a0051b76d9013593c734b716a551 b/test/de_fuzz/corpus/c10615dff228a0051b76d9013593c734b716a551 deleted file mode 100644 index a529bd1b8..000000000 Binary files a/test/de_fuzz/corpus/c10615dff228a0051b76d9013593c734b716a551 and /dev/null differ diff --git a/test/de_fuzz/corpus/c12cc08d1fb578255e05bbab642d978655f81278 b/test/de_fuzz/corpus/c12cc08d1fb578255e05bbab642d978655f81278 deleted file mode 100644 index 248ed330c..000000000 Binary files a/test/de_fuzz/corpus/c12cc08d1fb578255e05bbab642d978655f81278 and /dev/null differ diff --git a/test/de_fuzz/corpus/c1449eb826b0b82a84a05df4d9c8bb46e43475ac b/test/de_fuzz/corpus/c1449eb826b0b82a84a05df4d9c8bb46e43475ac deleted file mode 100644 index efd0a6ac4..000000000 Binary files a/test/de_fuzz/corpus/c1449eb826b0b82a84a05df4d9c8bb46e43475ac and /dev/null differ diff --git a/test/de_fuzz/corpus/c16c3e8715fc8f6aa4882b4985e4b744956b03d1 b/test/de_fuzz/corpus/c16c3e8715fc8f6aa4882b4985e4b744956b03d1 deleted file mode 100644 index 0da46c914..000000000 Binary files a/test/de_fuzz/corpus/c16c3e8715fc8f6aa4882b4985e4b744956b03d1 and /dev/null differ diff --git a/test/de_fuzz/corpus/c17fe46b14b9992a2b4b5d6b79fa319b015b033d b/test/de_fuzz/corpus/c17fe46b14b9992a2b4b5d6b79fa319b015b033d deleted file mode 100644 index daa526c39..000000000 Binary files a/test/de_fuzz/corpus/c17fe46b14b9992a2b4b5d6b79fa319b015b033d and /dev/null differ diff --git a/test/de_fuzz/corpus/c18ef60e32cba5ac1d2305a27abcd7e810152107 b/test/de_fuzz/corpus/c18ef60e32cba5ac1d2305a27abcd7e810152107 deleted file mode 100644 index b11cc87de..000000000 --- a/test/de_fuzz/corpus/c18ef60e32cba5ac1d2305a27abcd7e810152107 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped somthing (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/c190243e73427f0943b7e8fd67994fadfcb0c565 b/test/de_fuzz/corpus/c190243e73427f0943b7e8fd67994fadfcb0c565 deleted file mode 100644 index eed4e1f86..000000000 Binary files a/test/de_fuzz/corpus/c190243e73427f0943b7e8fd67994fadfcb0c565 and /dev/null differ diff --git a/test/de_fuzz/corpus/c1e4ea33009cb76ea248fdb4a7c4b31c1a6d0005 b/test/de_fuzz/corpus/c1e4ea33009cb76ea248fdb4a7c4b31c1a6d0005 deleted file mode 100644 index f25d7c8cf..000000000 --- a/test/de_fuzz/corpus/c1e4ea33009cb76ea248fdb4a7c4b31c1a6d0005 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a!)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/c1ecd8162935545bfbb3d7c06eb38c8638320aa8 b/test/de_fuzz/corpus/c1ecd8162935545bfbb3d7c06eb38c8638320aa8 deleted file mode 100644 index e44a35834..000000000 Binary files a/test/de_fuzz/corpus/c1ecd8162935545bfbb3d7c06eb38c8638320aa8 and /dev/null differ diff --git a/test/de_fuzz/corpus/c2227681e1a1d3f52a0e98b2f7feaabab28f5892 b/test/de_fuzz/corpus/c2227681e1a1d3f52a0e98b2f7feaabab28f5892 deleted file mode 100644 index 1ca15c135..000000000 Binary files a/test/de_fuzz/corpus/c2227681e1a1d3f52a0e98b2f7feaabab28f5892 and /dev/null differ diff --git a/test/de_fuzz/corpus/c231941327e2edec8f0f34c3e73534d38dbf8d8c b/test/de_fuzz/corpus/c231941327e2edec8f0f34c3e73534d38dbf8d8c deleted file mode 100644 index 72aabac70..000000000 Binary files a/test/de_fuzz/corpus/c231941327e2edec8f0f34c3e73534d38dbf8d8c and /dev/null differ diff --git a/test/de_fuzz/corpus/c24a76951ecd03d2f419824759242864a6545a09 b/test/de_fuzz/corpus/c24a76951ecd03d2f419824759242864a6545a09 deleted file mode 100644 index 625ae3fd6..000000000 Binary files a/test/de_fuzz/corpus/c24a76951ecd03d2f419824759242864a6545a09 and /dev/null differ diff --git a/test/de_fuzz/corpus/c27b444dc52355dc9d55a473423e17b11930f736 b/test/de_fuzz/corpus/c27b444dc52355dc9d55a473423e17b11930f736 deleted file mode 100644 index 8dacdaf80..000000000 Binary files a/test/de_fuzz/corpus/c27b444dc52355dc9d55a473423e17b11930f736 and /dev/null differ diff --git a/test/de_fuzz/corpus/c29881096a1ac216b511e8a53d4c975cabb5f306 b/test/de_fuzz/corpus/c29881096a1ac216b511e8a53d4c975cabb5f306 deleted file mode 100644 index d37c7dda9..000000000 Binary files a/test/de_fuzz/corpus/c29881096a1ac216b511e8a53d4c975cabb5f306 and /dev/null differ diff --git a/test/de_fuzz/corpus/c2afe319b9a0eed0c504e79088ad0e36c7aed680 b/test/de_fuzz/corpus/c2afe319b9a0eed0c504e79088ad0e36c7aed680 deleted file mode 100644 index f5c954cd2..000000000 Binary files a/test/de_fuzz/corpus/c2afe319b9a0eed0c504e79088ad0e36c7aed680 and /dev/null differ diff --git a/test/de_fuzz/corpus/c2b481f61c37c5bded91bfb03bdf5f6ae771c254 b/test/de_fuzz/corpus/c2b481f61c37c5bded91bfb03bdf5f6ae771c254 deleted file mode 100644 index fea8aef45..000000000 Binary files a/test/de_fuzz/corpus/c2b481f61c37c5bded91bfb03bdf5f6ae771c254 and /dev/null differ diff --git a/test/de_fuzz/corpus/c2f52115f7655edd067d40eed761668c28ca47e0 b/test/de_fuzz/corpus/c2f52115f7655edd067d40eed761668c28ca47e0 deleted file mode 100644 index 77f2eca50..000000000 Binary files a/test/de_fuzz/corpus/c2f52115f7655edd067d40eed761668c28ca47e0 and /dev/null differ diff --git a/test/de_fuzz/corpus/c30a1aeee5761c05ce866f187c49299d785e9cef b/test/de_fuzz/corpus/c30a1aeee5761c05ce866f187c49299d785e9cef deleted file mode 100644 index a87c833e9..000000000 Binary files a/test/de_fuzz/corpus/c30a1aeee5761c05ce866f187c49299d785e9cef and /dev/null differ diff --git a/test/de_fuzz/corpus/c30aa9b0299693364672469e39070b2d4b5f1d1f b/test/de_fuzz/corpus/c30aa9b0299693364672469e39070b2d4b5f1d1f deleted file mode 100644 index 2d487aeb8..000000000 Binary files a/test/de_fuzz/corpus/c30aa9b0299693364672469e39070b2d4b5f1d1f and /dev/null differ diff --git a/test/de_fuzz/corpus/c30fc232a040ca14866157ddc012d26310fdb776 b/test/de_fuzz/corpus/c30fc232a040ca14866157ddc012d26310fdb776 deleted file mode 100644 index 92496c33a..000000000 Binary files a/test/de_fuzz/corpus/c30fc232a040ca14866157ddc012d26310fdb776 and /dev/null differ diff --git a/test/de_fuzz/corpus/c34cf18fb5753ee628558fcdb1281444c11950f9 b/test/de_fuzz/corpus/c34cf18fb5753ee628558fcdb1281444c11950f9 deleted file mode 100644 index 046fb8597..000000000 Binary files a/test/de_fuzz/corpus/c34cf18fb5753ee628558fcdb1281444c11950f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/c3a997baf0f5b7a53348ae65cca33c5397f95ceb b/test/de_fuzz/corpus/c3a997baf0f5b7a53348ae65cca33c5397f95ceb deleted file mode 100644 index b28085450..000000000 Binary files a/test/de_fuzz/corpus/c3a997baf0f5b7a53348ae65cca33c5397f95ceb and /dev/null differ diff --git a/test/de_fuzz/corpus/c3abd82c8268c4bcc0cb0afbe72af19973e5ffd0 b/test/de_fuzz/corpus/c3abd82c8268c4bcc0cb0afbe72af19973e5ffd0 deleted file mode 100644 index 7ff48649a..000000000 Binary files a/test/de_fuzz/corpus/c3abd82c8268c4bcc0cb0afbe72af19973e5ffd0 and /dev/null differ diff --git a/test/de_fuzz/corpus/c3b8d48cc2fa9a56a6ef1f677f6d89249f3b80b4 b/test/de_fuzz/corpus/c3b8d48cc2fa9a56a6ef1f677f6d89249f3b80b4 deleted file mode 100644 index f7bb7c76e..000000000 Binary files a/test/de_fuzz/corpus/c3b8d48cc2fa9a56a6ef1f677f6d89249f3b80b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/c3d20c5a2ae3f0fd8916639aed1470c8dc13755e b/test/de_fuzz/corpus/c3d20c5a2ae3f0fd8916639aed1470c8dc13755e deleted file mode 100644 index 4b42a4713..000000000 Binary files a/test/de_fuzz/corpus/c3d20c5a2ae3f0fd8916639aed1470c8dc13755e and /dev/null differ diff --git a/test/de_fuzz/corpus/c3ebc80728a382585d1c0275c6b0067623c9101e b/test/de_fuzz/corpus/c3ebc80728a382585d1c0275c6b0067623c9101e deleted file mode 100644 index 1412f273a..000000000 Binary files a/test/de_fuzz/corpus/c3ebc80728a382585d1c0275c6b0067623c9101e and /dev/null differ diff --git a/test/de_fuzz/corpus/c4168d84e64525e56531a15eea3d19582104fd5d b/test/de_fuzz/corpus/c4168d84e64525e56531a15eea3d19582104fd5d deleted file mode 100644 index e18c0cb96..000000000 Binary files a/test/de_fuzz/corpus/c4168d84e64525e56531a15eea3d19582104fd5d and /dev/null differ diff --git a/test/de_fuzz/corpus/c45d138421baf0a69bfd9393fb627f4bcfcd6f00 b/test/de_fuzz/corpus/c45d138421baf0a69bfd9393fb627f4bcfcd6f00 deleted file mode 100644 index c87e50fbb..000000000 --- a/test/de_fuzz/corpus/c45d138421baf0a69bfd9393fb627f4bcfcd6f00 +++ /dev/null @@ -1 +0,0 @@ -*^\n*(?:((.*?)\W*(?1)\W*\2| |((.)\W*(?3)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZ*?)\W*(?1)\W*\2| |((.)\W*(?3)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZZZZZZZZZZZ.)\W*(?3)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZ.)\W*(?3)\W*\4|\ZZZZZZZZZZZ(*SKIP)ZZZZZZZZZZZZZZZZZZZZZ \ No newline at end of file diff --git a/test/de_fuzz/corpus/c4636941086b34e5a56df47c84ff1dd9c7d7191b b/test/de_fuzz/corpus/c4636941086b34e5a56df47c84ff1dd9c7d7191b deleted file mode 100644 index 863f8ff9d..000000000 Binary files a/test/de_fuzz/corpus/c4636941086b34e5a56df47c84ff1dd9c7d7191b and /dev/null differ diff --git a/test/de_fuzz/corpus/c4b3568f37a6a4babaea9fd07cb1eeb85a3ba918 b/test/de_fuzz/corpus/c4b3568f37a6a4babaea9fd07cb1eeb85a3ba918 deleted file mode 100644 index 5648cec1f..000000000 Binary files a/test/de_fuzz/corpus/c4b3568f37a6a4babaea9fd07cb1eeb85a3ba918 and /dev/null differ diff --git a/test/de_fuzz/corpus/c536131ad7efbfc6d72407ef151b9f507d8a6926 b/test/de_fuzz/corpus/c536131ad7efbfc6d72407ef151b9f507d8a6926 deleted file mode 100644 index ba4a8054b..000000000 Binary files a/test/de_fuzz/corpus/c536131ad7efbfc6d72407ef151b9f507d8a6926 and /dev/null differ diff --git a/test/de_fuzz/corpus/c5d9c7efaefa2785aca87850bf06f467d0029972 b/test/de_fuzz/corpus/c5d9c7efaefa2785aca87850bf06f467d0029972 deleted file mode 100644 index f12494add..000000000 Binary files a/test/de_fuzz/corpus/c5d9c7efaefa2785aca87850bf06f467d0029972 and /dev/null differ diff --git a/test/de_fuzz/corpus/c5f7277d53c0ee0539ab6f82d22dc72b7c761abf b/test/de_fuzz/corpus/c5f7277d53c0ee0539ab6f82d22dc72b7c761abf deleted file mode 100644 index f4da95c9d..000000000 Binary files a/test/de_fuzz/corpus/c5f7277d53c0ee0539ab6f82d22dc72b7c761abf and /dev/null differ diff --git a/test/de_fuzz/corpus/c5fd7ed86ba79a432fd84ea104bf106173d06c34 b/test/de_fuzz/corpus/c5fd7ed86ba79a432fd84ea104bf106173d06c34 deleted file mode 100644 index e00323f8d..000000000 Binary files a/test/de_fuzz/corpus/c5fd7ed86ba79a432fd84ea104bf106173d06c34 and /dev/null differ diff --git a/test/de_fuzz/corpus/c61d8d82350782d20abb9a403f82fd7967c79681 b/test/de_fuzz/corpus/c61d8d82350782d20abb9a403f82fd7967c79681 deleted file mode 100644 index f46f7d200..000000000 Binary files a/test/de_fuzz/corpus/c61d8d82350782d20abb9a403f82fd7967c79681 and /dev/null differ diff --git a/test/de_fuzz/corpus/c62f70d1919afa37077d371c8c9b60468c8c4333 b/test/de_fuzz/corpus/c62f70d1919afa37077d371c8c9b60468c8c4333 deleted file mode 100644 index 621367842..000000000 Binary files a/test/de_fuzz/corpus/c62f70d1919afa37077d371c8c9b60468c8c4333 and /dev/null differ diff --git a/test/de_fuzz/corpus/c63134125b66c8c72faec197db06d22c88bf3070 b/test/de_fuzz/corpus/c63134125b66c8c72faec197db06d22c88bf3070 deleted file mode 100644 index 02ff9e5a8..000000000 Binary files a/test/de_fuzz/corpus/c63134125b66c8c72faec197db06d22c88bf3070 and /dev/null differ diff --git a/test/de_fuzz/corpus/c65ddc64cf81490fb57a95fe57df1bad38eb141b b/test/de_fuzz/corpus/c65ddc64cf81490fb57a95fe57df1bad38eb141b deleted file mode 100644 index f8189a2c4..000000000 Binary files a/test/de_fuzz/corpus/c65ddc64cf81490fb57a95fe57df1bad38eb141b and /dev/null differ diff --git a/test/de_fuzz/corpus/c667cec21a472bec4e4ca783515650e0fe27c6b4 b/test/de_fuzz/corpus/c667cec21a472bec4e4ca783515650e0fe27c6b4 deleted file mode 100644 index da1c2be5c..000000000 Binary files a/test/de_fuzz/corpus/c667cec21a472bec4e4ca783515650e0fe27c6b4 and /dev/null differ diff --git a/test/de_fuzz/corpus/c6c5b1725d061d67fd7f65d224836d38dd1b6577 b/test/de_fuzz/corpus/c6c5b1725d061d67fd7f65d224836d38dd1b6577 deleted file mode 100644 index c966bd07d..000000000 --- a/test/de_fuzz/corpus/c6c5b1725d061d67fd7f65d224836d38dd1b6577 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y((($((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+:)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/c6d61fd1087921262a9cbc65b3b6eb53a64d65f0 b/test/de_fuzz/corpus/c6d61fd1087921262a9cbc65b3b6eb53a64d65f0 deleted file mode 100644 index dd1561483..000000000 Binary files a/test/de_fuzz/corpus/c6d61fd1087921262a9cbc65b3b6eb53a64d65f0 and /dev/null differ diff --git a/test/de_fuzz/corpus/c701bbca9f54495e9a0bb91e88eb598905c363f8 b/test/de_fuzz/corpus/c701bbca9f54495e9a0bb91e88eb598905c363f8 deleted file mode 100644 index 21c15f964..000000000 Binary files a/test/de_fuzz/corpus/c701bbca9f54495e9a0bb91e88eb598905c363f8 and /dev/null differ diff --git a/test/de_fuzz/corpus/c702b69f57b3e4c252d50031d611f6ac9b1788c3 b/test/de_fuzz/corpus/c702b69f57b3e4c252d50031d611f6ac9b1788c3 deleted file mode 100644 index f4591d2ab..000000000 Binary files a/test/de_fuzz/corpus/c702b69f57b3e4c252d50031d611f6ac9b1788c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/c7b261a7d24b9d2fc04d6b0371d8183d1c83e433 b/test/de_fuzz/corpus/c7b261a7d24b9d2fc04d6b0371d8183d1c83e433 deleted file mode 100644 index 25e4c8c6f..000000000 Binary files a/test/de_fuzz/corpus/c7b261a7d24b9d2fc04d6b0371d8183d1c83e433 and /dev/null differ diff --git a/test/de_fuzz/corpus/c7cd6dcd73f8fc5fc7a9c3b45cc0de9f6d370018 b/test/de_fuzz/corpus/c7cd6dcd73f8fc5fc7a9c3b45cc0de9f6d370018 deleted file mode 100644 index 5c092da8c..000000000 Binary files a/test/de_fuzz/corpus/c7cd6dcd73f8fc5fc7a9c3b45cc0de9f6d370018 and /dev/null differ diff --git a/test/de_fuzz/corpus/c7ea56e79fc8a37c32a223dc4abf4929bb27a617 b/test/de_fuzz/corpus/c7ea56e79fc8a37c32a223dc4abf4929bb27a617 deleted file mode 100644 index 35c14cfd6..000000000 Binary files a/test/de_fuzz/corpus/c7ea56e79fc8a37c32a223dc4abf4929bb27a617 and /dev/null differ diff --git a/test/de_fuzz/corpus/c7eb584b7917f009fa85869973b742740f674ac6 b/test/de_fuzz/corpus/c7eb584b7917f009fa85869973b742740f674ac6 deleted file mode 100644 index 5600e320b..000000000 Binary files a/test/de_fuzz/corpus/c7eb584b7917f009fa85869973b742740f674ac6 and /dev/null differ diff --git a/test/de_fuzz/corpus/c8153e899ac7306c1877d725a06d874d42e2c011 b/test/de_fuzz/corpus/c8153e899ac7306c1877d725a06d874d42e2c011 deleted file mode 100644 index 3d86608f4..000000000 Binary files a/test/de_fuzz/corpus/c8153e899ac7306c1877d725a06d874d42e2c011 and /dev/null differ diff --git a/test/de_fuzz/corpus/c82fd1b2811e205fe64b99b6e092118237f76805 b/test/de_fuzz/corpus/c82fd1b2811e205fe64b99b6e092118237f76805 deleted file mode 100644 index 40eb2421f..000000000 Binary files a/test/de_fuzz/corpus/c82fd1b2811e205fe64b99b6e092118237f76805 and /dev/null differ diff --git a/test/de_fuzz/corpus/c83a9b57104829f19aeb4700a51f9b78e355c8a2 b/test/de_fuzz/corpus/c83a9b57104829f19aeb4700a51f9b78e355c8a2 deleted file mode 100644 index 59f8525e5..000000000 Binary files a/test/de_fuzz/corpus/c83a9b57104829f19aeb4700a51f9b78e355c8a2 and /dev/null differ diff --git a/test/de_fuzz/corpus/c844d93f9e67d13ed0d0dd8e71f83c34ad0d3d4a b/test/de_fuzz/corpus/c844d93f9e67d13ed0d0dd8e71f83c34ad0d3d4a deleted file mode 100644 index b5babc2eb..000000000 Binary files a/test/de_fuzz/corpus/c844d93f9e67d13ed0d0dd8e71f83c34ad0d3d4a and /dev/null differ diff --git a/test/de_fuzz/corpus/c8459dd60b26ac72a5d883b64d70bc394ee8cec6 b/test/de_fuzz/corpus/c8459dd60b26ac72a5d883b64d70bc394ee8cec6 deleted file mode 100644 index b45fb7f23..000000000 Binary files a/test/de_fuzz/corpus/c8459dd60b26ac72a5d883b64d70bc394ee8cec6 and /dev/null differ diff --git a/test/de_fuzz/corpus/c84a75d335cf5358d2126add9186dd5662fcdc5a b/test/de_fuzz/corpus/c84a75d335cf5358d2126add9186dd5662fcdc5a deleted file mode 100644 index 9b10e2e6f..000000000 Binary files a/test/de_fuzz/corpus/c84a75d335cf5358d2126add9186dd5662fcdc5a and /dev/null differ diff --git a/test/de_fuzz/corpus/c84cf68d4449dc022753596605d52aabc7124616 b/test/de_fuzz/corpus/c84cf68d4449dc022753596605d52aabc7124616 deleted file mode 100644 index 945caca18..000000000 Binary files a/test/de_fuzz/corpus/c84cf68d4449dc022753596605d52aabc7124616 and /dev/null differ diff --git a/test/de_fuzz/corpus/c85786abeac47837548740d863c5a5b1a495d906 b/test/de_fuzz/corpus/c85786abeac47837548740d863c5a5b1a495d906 deleted file mode 100644 index 2aed98426..000000000 Binary files a/test/de_fuzz/corpus/c85786abeac47837548740d863c5a5b1a495d906 and /dev/null differ diff --git a/test/de_fuzz/corpus/c885845718633eadfa514c85ade2b4eafc7e19ad b/test/de_fuzz/corpus/c885845718633eadfa514c85ade2b4eafc7e19ad deleted file mode 100644 index 77f7625e7..000000000 Binary files a/test/de_fuzz/corpus/c885845718633eadfa514c85ade2b4eafc7e19ad and /dev/null differ diff --git a/test/de_fuzz/corpus/c8977a2d6a280350c7e2d5f37bea520660e8e68e b/test/de_fuzz/corpus/c8977a2d6a280350c7e2d5f37bea520660e8e68e deleted file mode 100644 index 164ebeecb..000000000 Binary files a/test/de_fuzz/corpus/c8977a2d6a280350c7e2d5f37bea520660e8e68e and /dev/null differ diff --git a/test/de_fuzz/corpus/c8ad0e411598d9ae9b33702ae4e0db3f60849c73 b/test/de_fuzz/corpus/c8ad0e411598d9ae9b33702ae4e0db3f60849c73 deleted file mode 100644 index 128f61b4e..000000000 Binary files a/test/de_fuzz/corpus/c8ad0e411598d9ae9b33702ae4e0db3f60849c73 and /dev/null differ diff --git a/test/de_fuzz/corpus/c91809068576efe3de1ea4ddaaf61fcf08e789b9 b/test/de_fuzz/corpus/c91809068576efe3de1ea4ddaaf61fcf08e789b9 deleted file mode 100644 index 8bdd53b36..000000000 Binary files a/test/de_fuzz/corpus/c91809068576efe3de1ea4ddaaf61fcf08e789b9 and /dev/null differ diff --git a/test/de_fuzz/corpus/c9193dad8796b00a0f71e60a37e6f3c0fe4d82fd b/test/de_fuzz/corpus/c9193dad8796b00a0f71e60a37e6f3c0fe4d82fd deleted file mode 100644 index 29135f832..000000000 Binary files a/test/de_fuzz/corpus/c9193dad8796b00a0f71e60a37e6f3c0fe4d82fd and /dev/null differ diff --git a/test/de_fuzz/corpus/c91bb4360cdb263ff23ddb72d865ac764212b226 b/test/de_fuzz/corpus/c91bb4360cdb263ff23ddb72d865ac764212b226 deleted file mode 100644 index 837187b1f..000000000 Binary files a/test/de_fuzz/corpus/c91bb4360cdb263ff23ddb72d865ac764212b226 and /dev/null differ diff --git a/test/de_fuzz/corpus/c93064b09aaca30d4f612f64f436555638d2a9d0 b/test/de_fuzz/corpus/c93064b09aaca30d4f612f64f436555638d2a9d0 deleted file mode 100644 index 8f8486493..000000000 --- a/test/de_fuzz/corpus/c93064b09aaca30d4f612f64f436555638d2a9d0 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/c95d88b1eb711131cfb92c851abbab4428a2ef85 b/test/de_fuzz/corpus/c95d88b1eb711131cfb92c851abbab4428a2ef85 deleted file mode 100644 index ba7d48e9c..000000000 Binary files a/test/de_fuzz/corpus/c95d88b1eb711131cfb92c851abbab4428a2ef85 and /dev/null differ diff --git a/test/de_fuzz/corpus/c963d715e64cd34e8d3c01f31f8a035843c43443 b/test/de_fuzz/corpus/c963d715e64cd34e8d3c01f31f8a035843c43443 deleted file mode 100644 index a5b36baf0..000000000 Binary files a/test/de_fuzz/corpus/c963d715e64cd34e8d3c01f31f8a035843c43443 and /dev/null differ diff --git a/test/de_fuzz/corpus/c975aadca5d29d980265fa54dd27fdc2c3744dc8 b/test/de_fuzz/corpus/c975aadca5d29d980265fa54dd27fdc2c3744dc8 deleted file mode 100644 index d948dbd0c..000000000 Binary files a/test/de_fuzz/corpus/c975aadca5d29d980265fa54dd27fdc2c3744dc8 and /dev/null differ diff --git a/test/de_fuzz/corpus/c9794fcc1a6847c5f7ee7ea3db648c76ba2dc3b2 b/test/de_fuzz/corpus/c9794fcc1a6847c5f7ee7ea3db648c76ba2dc3b2 deleted file mode 100644 index 4f7a2f15a..000000000 --- a/test/de_fuzz/corpus/c9794fcc1a6847c5f7ee7ea3db648c76ba2dc3b2 +++ /dev/null @@ -1,73 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \(\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/c98e4b7df28ac9034d7c1ca04ddba45a8c8f5ba4 b/test/de_fuzz/corpus/c98e4b7df28ac9034d7c1ca04ddba45a8c8f5ba4 deleted file mode 100644 index 89e9115a4..000000000 --- a/test/de_fuzz/corpus/c98e4b7df28ac9034d7c1ca04ddba45a8c8f5ba4 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|(Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((((((a+)+)+)+)+)+)+)+|CW\k(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/c9d188495d30c6276409f86a152fb73981474971 b/test/de_fuzz/corpus/c9d188495d30c6276409f86a152fb73981474971 deleted file mode 100644 index 4649c5465..000000000 Binary files a/test/de_fuzz/corpus/c9d188495d30c6276409f86a152fb73981474971 and /dev/null differ diff --git a/test/de_fuzz/corpus/c9d3ec30cfd64636b2fabcc191c39d39f6423ff8 b/test/de_fuzz/corpus/c9d3ec30cfd64636b2fabcc191c39d39f6423ff8 deleted file mode 100644 index 84988f852..000000000 Binary files a/test/de_fuzz/corpus/c9d3ec30cfd64636b2fabcc191c39d39f6423ff8 and /dev/null differ diff --git a/test/de_fuzz/corpus/c9ec072152a5432a9ad7ad2aeda30710fe223aa9 b/test/de_fuzz/corpus/c9ec072152a5432a9ad7ad2aeda30710fe223aa9 deleted file mode 100644 index bcff49a9a..000000000 Binary files a/test/de_fuzz/corpus/c9ec072152a5432a9ad7ad2aeda30710fe223aa9 and /dev/null differ diff --git a/test/de_fuzz/corpus/c9f5fc8bb69e0fb8d528ffbe1a7be92cb46ddf8c b/test/de_fuzz/corpus/c9f5fc8bb69e0fb8d528ffbe1a7be92cb46ddf8c deleted file mode 100644 index b30d27bf1..000000000 Binary files a/test/de_fuzz/corpus/c9f5fc8bb69e0fb8d528ffbe1a7be92cb46ddf8c and /dev/null differ diff --git a/test/de_fuzz/corpus/ca0f45935a332e19e73f8386d442135fc280a82f b/test/de_fuzz/corpus/ca0f45935a332e19e73f8386d442135fc280a82f deleted file mode 100644 index d9ef2b0e3..000000000 Binary files a/test/de_fuzz/corpus/ca0f45935a332e19e73f8386d442135fc280a82f and /dev/null differ diff --git a/test/de_fuzz/corpus/ca527943750b6048b3a0c4429de10ed01d626383 b/test/de_fuzz/corpus/ca527943750b6048b3a0c4429de10ed01d626383 deleted file mode 100644 index 7ac3ca22d..000000000 Binary files a/test/de_fuzz/corpus/ca527943750b6048b3a0c4429de10ed01d626383 and /dev/null differ diff --git a/test/de_fuzz/corpus/cacab9be42bd7d00ecb3b6530bffe4e604d72bcf b/test/de_fuzz/corpus/cacab9be42bd7d00ecb3b6530bffe4e604d72bcf deleted file mode 100644 index 1f22b7a66..000000000 Binary files a/test/de_fuzz/corpus/cacab9be42bd7d00ecb3b6530bffe4e604d72bcf and /dev/null differ diff --git a/test/de_fuzz/corpus/caf84d0ecece1fe83958019e9083dfc280d2dadc b/test/de_fuzz/corpus/caf84d0ecece1fe83958019e9083dfc280d2dadc deleted file mode 100644 index dfbb8980e..000000000 Binary files a/test/de_fuzz/corpus/caf84d0ecece1fe83958019e9083dfc280d2dadc and /dev/null differ diff --git a/test/de_fuzz/corpus/cafbd9f9fb8940222cd006bf3c0da2f019290366 b/test/de_fuzz/corpus/cafbd9f9fb8940222cd006bf3c0da2f019290366 deleted file mode 100644 index 644835e07..000000000 Binary files a/test/de_fuzz/corpus/cafbd9f9fb8940222cd006bf3c0da2f019290366 and /dev/null differ diff --git a/test/de_fuzz/corpus/caff517b8252e7d5c3109cd80edcfd2dab22fd77 b/test/de_fuzz/corpus/caff517b8252e7d5c3109cd80edcfd2dab22fd77 deleted file mode 100644 index 320393e76..000000000 Binary files a/test/de_fuzz/corpus/caff517b8252e7d5c3109cd80edcfd2dab22fd77 and /dev/null differ diff --git a/test/de_fuzz/corpus/cb1278a24f0bfd678c23ad878896942e67e4a77c b/test/de_fuzz/corpus/cb1278a24f0bfd678c23ad878896942e67e4a77c deleted file mode 100644 index c19738c25..000000000 Binary files a/test/de_fuzz/corpus/cb1278a24f0bfd678c23ad878896942e67e4a77c and /dev/null differ diff --git a/test/de_fuzz/corpus/cb284f734ca1cd87013d6c4c9182c69a82be9671 b/test/de_fuzz/corpus/cb284f734ca1cd87013d6c4c9182c69a82be9671 deleted file mode 100644 index b7b23ffc9..000000000 Binary files a/test/de_fuzz/corpus/cb284f734ca1cd87013d6c4c9182c69a82be9671 and /dev/null differ diff --git a/test/de_fuzz/corpus/cb45438a85ffe1796f7e841edb28d60f9025fb66 b/test/de_fuzz/corpus/cb45438a85ffe1796f7e841edb28d60f9025fb66 deleted file mode 100644 index 6f7661360..000000000 --- a/test/de_fuzz/corpus/cb45438a85ffe1796f7e841edb28d60f9025fb66 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(? : (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/cb7016eb6e77d2c6a92e877f5862921570b339e4 b/test/de_fuzz/corpus/cb7016eb6e77d2c6a92e877f5862921570b339e4 deleted file mode 100644 index 0cce865ce..000000000 Binary files a/test/de_fuzz/corpus/cb7016eb6e77d2c6a92e877f5862921570b339e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/cb8dadb55d7e6621bc8f2ea40845e8b8a9b560cb b/test/de_fuzz/corpus/cb8dadb55d7e6621bc8f2ea40845e8b8a9b560cb deleted file mode 100644 index c12243e36..000000000 Binary files a/test/de_fuzz/corpus/cb8dadb55d7e6621bc8f2ea40845e8b8a9b560cb and /dev/null differ diff --git a/test/de_fuzz/corpus/cbb721f850d1587cef9f633182bed101ce89af7f b/test/de_fuzz/corpus/cbb721f850d1587cef9f633182bed101ce89af7f deleted file mode 100644 index 01dd95432..000000000 Binary files a/test/de_fuzz/corpus/cbb721f850d1587cef9f633182bed101ce89af7f and /dev/null differ diff --git a/test/de_fuzz/corpus/cbd0003af1b7fa897b407e140bea385c9464012c b/test/de_fuzz/corpus/cbd0003af1b7fa897b407e140bea385c9464012c deleted file mode 100644 index f53562960..000000000 Binary files a/test/de_fuzz/corpus/cbd0003af1b7fa897b407e140bea385c9464012c and /dev/null differ diff --git a/test/de_fuzz/corpus/cbe769e46dad4f57663bc167e575d94d405e5b36 b/test/de_fuzz/corpus/cbe769e46dad4f57663bc167e575d94d405e5b36 deleted file mode 100644 index 708e017cf..000000000 Binary files a/test/de_fuzz/corpus/cbe769e46dad4f57663bc167e575d94d405e5b36 and /dev/null differ diff --git a/test/de_fuzz/corpus/cbe9854b7df008f9d47015225893d32129edab3d b/test/de_fuzz/corpus/cbe9854b7df008f9d47015225893d32129edab3d deleted file mode 100644 index a3035d2b1..000000000 Binary files a/test/de_fuzz/corpus/cbe9854b7df008f9d47015225893d32129edab3d and /dev/null differ diff --git a/test/de_fuzz/corpus/cc15eaa75be0b0b4ea26e6831aaf60a0f9fc0a2b b/test/de_fuzz/corpus/cc15eaa75be0b0b4ea26e6831aaf60a0f9fc0a2b deleted file mode 100644 index 7a620835b..000000000 Binary files a/test/de_fuzz/corpus/cc15eaa75be0b0b4ea26e6831aaf60a0f9fc0a2b and /dev/null differ diff --git a/test/de_fuzz/corpus/cc166803abf6b010a0f362d70f397f4795b267c0 b/test/de_fuzz/corpus/cc166803abf6b010a0f362d70f397f4795b267c0 deleted file mode 100644 index 754299365..000000000 Binary files a/test/de_fuzz/corpus/cc166803abf6b010a0f362d70f397f4795b267c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/cc26885fda97bcc94d69e9aeac31a6d3cc83472e b/test/de_fuzz/corpus/cc26885fda97bcc94d69e9aeac31a6d3cc83472e deleted file mode 100644 index 491f5e746..000000000 Binary files a/test/de_fuzz/corpus/cc26885fda97bcc94d69e9aeac31a6d3cc83472e and /dev/null differ diff --git a/test/de_fuzz/corpus/cc5fe617f1a72b384e092f0bcae73d166a230bbf b/test/de_fuzz/corpus/cc5fe617f1a72b384e092f0bcae73d166a230bbf deleted file mode 100644 index 9c2e53fb3..000000000 Binary files a/test/de_fuzz/corpus/cc5fe617f1a72b384e092f0bcae73d166a230bbf and /dev/null differ diff --git a/test/de_fuzz/corpus/cc663a7452f3c33b3f037ec00bf33b91e5d44c38 b/test/de_fuzz/corpus/cc663a7452f3c33b3f037ec00bf33b91e5d44c38 deleted file mode 100644 index 19065fb28..000000000 Binary files a/test/de_fuzz/corpus/cc663a7452f3c33b3f037ec00bf33b91e5d44c38 and /dev/null differ diff --git a/test/de_fuzz/corpus/ccbebc5685b0bc337a3b1830aa405e12d12cfeec b/test/de_fuzz/corpus/ccbebc5685b0bc337a3b1830aa405e12d12cfeec deleted file mode 100644 index fc91b015a..000000000 Binary files a/test/de_fuzz/corpus/ccbebc5685b0bc337a3b1830aa405e12d12cfeec and /dev/null differ diff --git a/test/de_fuzz/corpus/cd02d369c5d2a341fa824c2f0a1e10927f8f7198 b/test/de_fuzz/corpus/cd02d369c5d2a341fa824c2f0a1e10927f8f7198 deleted file mode 100644 index e1b158cd8..000000000 Binary files a/test/de_fuzz/corpus/cd02d369c5d2a341fa824c2f0a1e10927f8f7198 and /dev/null differ diff --git a/test/de_fuzz/corpus/cd44dd309ddd0e2cdee15749d1a459678fed8ea4 b/test/de_fuzz/corpus/cd44dd309ddd0e2cdee15749d1a459678fed8ea4 deleted file mode 100644 index 29b1f15cc..000000000 --- a/test/de_fuzz/corpus/cd44dd309ddd0e2cdee15749d1a459678fed8ea4 +++ /dev/null @@ -1,128 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] \N{newline}| \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..nod followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) $)* @ (?: [\321\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/cd4b61530acbbc92c863d3ed83c3bbc1e41b3a73 b/test/de_fuzz/corpus/cd4b61530acbbc92c863d3ed83c3bbc1e41b3a73 deleted file mode 100644 index 5724333a2..000000000 --- a/test/de_fuzz/corpus/cd4b61530acbbc92c863d3ed83c3bbc1e41b3a73 +++ /dev/null @@ -1,2 +0,0 @@ - -'((*ACCEPT)) \ No newline at end of file diff --git a/test/de_fuzz/corpus/cd9a91b0bd12776fd002a6fb89f45cda4ee44c06 b/test/de_fuzz/corpus/cd9a91b0bd12776fd002a6fb89f45cda4ee44c06 deleted file mode 100644 index ee237cc6d..000000000 Binary files a/test/de_fuzz/corpus/cd9a91b0bd12776fd002a6fb89f45cda4ee44c06 and /dev/null differ diff --git a/test/de_fuzz/corpus/cdc5ce21f38b093b6c9cff674addfdf32a5f24b6 b/test/de_fuzz/corpus/cdc5ce21f38b093b6c9cff674addfdf32a5f24b6 deleted file mode 100644 index 0dbf317e6..000000000 --- a/test/de_fuzz/corpus/cdc5ce21f38b093b6c9cff674addfdf32a5f24b6 +++ /dev/null @@ -1,72 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \(\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80- )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\01()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\04)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] ^ | \\[\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/cdd2eec6f7738ec15bb10ee2b181026c4b97a3e9 b/test/de_fuzz/corpus/cdd2eec6f7738ec15bb10ee2b181026c4b97a3e9 deleted file mode 100644 index 08f0364dc..000000000 Binary files a/test/de_fuzz/corpus/cdd2eec6f7738ec15bb10ee2b181026c4b97a3e9 and /dev/null differ diff --git a/test/de_fuzz/corpus/cdfc87ef9b4d9987047f25ba25f1594d5a9802ec b/test/de_fuzz/corpus/cdfc87ef9b4d9987047f25ba25f1594d5a9802ec deleted file mode 100644 index e20de3f34..000000000 Binary files a/test/de_fuzz/corpus/cdfc87ef9b4d9987047f25ba25f1594d5a9802ec and /dev/null differ diff --git a/test/de_fuzz/corpus/ce0bf33207b3df651eeb8f7b37d19a13717e9284 b/test/de_fuzz/corpus/ce0bf33207b3df651eeb8f7b37d19a13717e9284 deleted file mode 100644 index 1a010bef3..000000000 Binary files a/test/de_fuzz/corpus/ce0bf33207b3df651eeb8f7b37d19a13717e9284 and /dev/null differ diff --git a/test/de_fuzz/corpus/ce12e3fc6b426fd6a0fcaeb1ce04717ac40dac63 b/test/de_fuzz/corpus/ce12e3fc6b426fd6a0fcaeb1ce04717ac40dac63 deleted file mode 100644 index bbe49ffe1..000000000 Binary files a/test/de_fuzz/corpus/ce12e3fc6b426fd6a0fcaeb1ce04717ac40dac63 and /dev/null differ diff --git a/test/de_fuzz/corpus/ce380e0e559ea24597cefc0544634fb07333b70c b/test/de_fuzz/corpus/ce380e0e559ea24597cefc0544634fb07333b70c deleted file mode 100644 index 0b5a39f34..000000000 --- a/test/de_fuzz/corpus/ce380e0e559ea24597cefc0544634fb07333b70c +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)++|Y((($((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;(V((()+)+|Y(((מ)+)+)+)+)+)+|X(((((((a+:)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)++)|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/ce780f0b653938174dd7b5c8eceeec6601094df8 b/test/de_fuzz/corpus/ce780f0b653938174dd7b5c8eceeec6601094df8 deleted file mode 100644 index 679ca2843..000000000 Binary files a/test/de_fuzz/corpus/ce780f0b653938174dd7b5c8eceeec6601094df8 and /dev/null differ diff --git a/test/de_fuzz/corpus/ceb3449693f4d64a4823a00f835d15e77fc14c7d b/test/de_fuzz/corpus/ceb3449693f4d64a4823a00f835d15e77fc14c7d deleted file mode 100644 index 22255005d..000000000 Binary files a/test/de_fuzz/corpus/ceb3449693f4d64a4823a00f835d15e77fc14c7d and /dev/null differ diff --git a/test/de_fuzz/corpus/ceee1bda06a0f17d9a4155be288676590409b2c5 b/test/de_fuzz/corpus/ceee1bda06a0f17d9a4155be288676590409b2c5 deleted file mode 100644 index 9f2e98f5d..000000000 Binary files a/test/de_fuzz/corpus/ceee1bda06a0f17d9a4155be288676590409b2c5 and /dev/null differ diff --git a/test/de_fuzz/corpus/cf026634ee50e74b8b6df9e51b3efc55ebcfa206 b/test/de_fuzz/corpus/cf026634ee50e74b8b6df9e51b3efc55ebcfa206 deleted file mode 100644 index 9b49cec79..000000000 Binary files a/test/de_fuzz/corpus/cf026634ee50e74b8b6df9e51b3efc55ebcfa206 and /dev/null differ diff --git a/test/de_fuzz/corpus/cf2a3bc1b80cf44e997a3c72018b32196f3a1186 b/test/de_fuzz/corpus/cf2a3bc1b80cf44e997a3c72018b32196f3a1186 deleted file mode 100644 index 78c446bbb..000000000 Binary files a/test/de_fuzz/corpus/cf2a3bc1b80cf44e997a3c72018b32196f3a1186 and /dev/null differ diff --git a/test/de_fuzz/corpus/cf3f7ba2800150e1d43365061cfd4a5d0657e658 b/test/de_fuzz/corpus/cf3f7ba2800150e1d43365061cfd4a5d0657e658 deleted file mode 100644 index a41b28e67..000000000 Binary files a/test/de_fuzz/corpus/cf3f7ba2800150e1d43365061cfd4a5d0657e658 and /dev/null differ diff --git a/test/de_fuzz/corpus/cf4e4f9a5cd12e3040d930e2c69db40f3737f5f5 b/test/de_fuzz/corpus/cf4e4f9a5cd12e3040d930e2c69db40f3737f5f5 deleted file mode 100644 index d4b209b70..000000000 Binary files a/test/de_fuzz/corpus/cf4e4f9a5cd12e3040d930e2c69db40f3737f5f5 and /dev/null differ diff --git a/test/de_fuzz/corpus/cf9b9e84fa863179291d313f836399e42b8fa124 b/test/de_fuzz/corpus/cf9b9e84fa863179291d313f836399e42b8fa124 deleted file mode 100644 index 2f80a3b2e..000000000 Binary files a/test/de_fuzz/corpus/cf9b9e84fa863179291d313f836399e42b8fa124 and /dev/null differ diff --git a/test/de_fuzz/corpus/cfe25111e907e0947269f0cc2aa7d2ec2e485f96 b/test/de_fuzz/corpus/cfe25111e907e0947269f0cc2aa7d2ec2e485f96 deleted file mode 100644 index 334963f6a..000000000 Binary files a/test/de_fuzz/corpus/cfe25111e907e0947269f0cc2aa7d2ec2e485f96 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_0 b/test/de_fuzz/corpus/corpus_0 deleted file mode 100644 index 09f370e38..000000000 Binary files a/test/de_fuzz/corpus/corpus_0 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1 b/test/de_fuzz/corpus/corpus_1 deleted file mode 100644 index 9c3b88bb4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_10 b/test/de_fuzz/corpus/corpus_10 deleted file mode 100644 index 11fc553ef..000000000 Binary files a/test/de_fuzz/corpus/corpus_10 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_100 b/test/de_fuzz/corpus/corpus_100 deleted file mode 100644 index 0c49df9bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_100 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1000 b/test/de_fuzz/corpus/corpus_1000 deleted file mode 100644 index e5e791b01..000000000 Binary files a/test/de_fuzz/corpus/corpus_1000 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1001 b/test/de_fuzz/corpus/corpus_1001 deleted file mode 100644 index 0faa7991e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1001 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1002 b/test/de_fuzz/corpus/corpus_1002 deleted file mode 100644 index 4117dc719..000000000 Binary files a/test/de_fuzz/corpus/corpus_1002 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1003 b/test/de_fuzz/corpus/corpus_1003 deleted file mode 100644 index 47d38c175..000000000 Binary files a/test/de_fuzz/corpus/corpus_1003 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1004 b/test/de_fuzz/corpus/corpus_1004 deleted file mode 100644 index 29759f6c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1004 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1005 b/test/de_fuzz/corpus/corpus_1005 deleted file mode 100644 index 790c78f82..000000000 Binary files a/test/de_fuzz/corpus/corpus_1005 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1006 b/test/de_fuzz/corpus/corpus_1006 deleted file mode 100644 index ea8fa78f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1006 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1007 b/test/de_fuzz/corpus/corpus_1007 deleted file mode 100644 index db6a64d89..000000000 Binary files a/test/de_fuzz/corpus/corpus_1007 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1008 b/test/de_fuzz/corpus/corpus_1008 deleted file mode 100644 index 5fb3f091f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1008 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1009 b/test/de_fuzz/corpus/corpus_1009 deleted file mode 100644 index 3d9a4345a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1009 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_101 b/test/de_fuzz/corpus/corpus_101 deleted file mode 100644 index a326e3a42..000000000 Binary files a/test/de_fuzz/corpus/corpus_101 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1010 b/test/de_fuzz/corpus/corpus_1010 deleted file mode 100644 index bdcfd6b3d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1010 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1011 b/test/de_fuzz/corpus/corpus_1011 deleted file mode 100644 index 07ce7faec..000000000 Binary files a/test/de_fuzz/corpus/corpus_1011 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1012 b/test/de_fuzz/corpus/corpus_1012 deleted file mode 100644 index 46accc03e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1012 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1013 b/test/de_fuzz/corpus/corpus_1013 deleted file mode 100644 index 0d198d8dc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1013 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1014 b/test/de_fuzz/corpus/corpus_1014 deleted file mode 100644 index b1e59a4a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1014 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1015 b/test/de_fuzz/corpus/corpus_1015 deleted file mode 100644 index eae759428..000000000 Binary files a/test/de_fuzz/corpus/corpus_1015 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1016 b/test/de_fuzz/corpus/corpus_1016 deleted file mode 100644 index 101ef393f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1016 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1017 b/test/de_fuzz/corpus/corpus_1017 deleted file mode 100644 index cffed5066..000000000 Binary files a/test/de_fuzz/corpus/corpus_1017 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1018 b/test/de_fuzz/corpus/corpus_1018 deleted file mode 100644 index fa6e77c36..000000000 Binary files a/test/de_fuzz/corpus/corpus_1018 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1019 b/test/de_fuzz/corpus/corpus_1019 deleted file mode 100644 index d31664e83..000000000 Binary files a/test/de_fuzz/corpus/corpus_1019 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_102 b/test/de_fuzz/corpus/corpus_102 deleted file mode 100644 index e4ecd8917..000000000 Binary files a/test/de_fuzz/corpus/corpus_102 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1020 b/test/de_fuzz/corpus/corpus_1020 deleted file mode 100644 index ac4406487..000000000 Binary files a/test/de_fuzz/corpus/corpus_1020 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1021 b/test/de_fuzz/corpus/corpus_1021 deleted file mode 100644 index dbd659e15..000000000 Binary files a/test/de_fuzz/corpus/corpus_1021 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1022 b/test/de_fuzz/corpus/corpus_1022 deleted file mode 100644 index 407b4cb45..000000000 Binary files a/test/de_fuzz/corpus/corpus_1022 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1023 b/test/de_fuzz/corpus/corpus_1023 deleted file mode 100644 index 8f1d4177e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1023 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1024 b/test/de_fuzz/corpus/corpus_1024 deleted file mode 100644 index 5470bc315..000000000 Binary files a/test/de_fuzz/corpus/corpus_1024 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1025 b/test/de_fuzz/corpus/corpus_1025 deleted file mode 100644 index 2c33ba39d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1025 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1026 b/test/de_fuzz/corpus/corpus_1026 deleted file mode 100644 index f8815bff3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1026 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1027 b/test/de_fuzz/corpus/corpus_1027 deleted file mode 100644 index f54310e9a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1027 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1028 b/test/de_fuzz/corpus/corpus_1028 deleted file mode 100644 index cebb4599d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1028 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1029 b/test/de_fuzz/corpus/corpus_1029 deleted file mode 100644 index b67db6f13..000000000 Binary files a/test/de_fuzz/corpus/corpus_1029 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_103 b/test/de_fuzz/corpus/corpus_103 deleted file mode 100644 index 5323c6972..000000000 Binary files a/test/de_fuzz/corpus/corpus_103 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1030 b/test/de_fuzz/corpus/corpus_1030 deleted file mode 100644 index bf2a40575..000000000 Binary files a/test/de_fuzz/corpus/corpus_1030 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1031 b/test/de_fuzz/corpus/corpus_1031 deleted file mode 100644 index e7c0e61e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1031 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1032 b/test/de_fuzz/corpus/corpus_1032 deleted file mode 100644 index 1bcc15fc8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1032 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1033 b/test/de_fuzz/corpus/corpus_1033 deleted file mode 100644 index e56e05a5f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1033 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1034 b/test/de_fuzz/corpus/corpus_1034 deleted file mode 100644 index 035c9184c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1034 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1035 b/test/de_fuzz/corpus/corpus_1035 deleted file mode 100644 index fd858c0fe..000000000 Binary files a/test/de_fuzz/corpus/corpus_1035 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1036 b/test/de_fuzz/corpus/corpus_1036 deleted file mode 100644 index 9c9540d34..000000000 Binary files a/test/de_fuzz/corpus/corpus_1036 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1037 b/test/de_fuzz/corpus/corpus_1037 deleted file mode 100644 index dbf404062..000000000 Binary files a/test/de_fuzz/corpus/corpus_1037 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1038 b/test/de_fuzz/corpus/corpus_1038 deleted file mode 100644 index 7abdba4d5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1038 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1039 b/test/de_fuzz/corpus/corpus_1039 deleted file mode 100644 index 69945db66..000000000 Binary files a/test/de_fuzz/corpus/corpus_1039 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_104 b/test/de_fuzz/corpus/corpus_104 deleted file mode 100644 index 9bf0a05a4..000000000 Binary files a/test/de_fuzz/corpus/corpus_104 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1040 b/test/de_fuzz/corpus/corpus_1040 deleted file mode 100644 index d5c912539..000000000 Binary files a/test/de_fuzz/corpus/corpus_1040 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1041 b/test/de_fuzz/corpus/corpus_1041 deleted file mode 100644 index 5060cf4d3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1041 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1042 b/test/de_fuzz/corpus/corpus_1042 deleted file mode 100644 index 5c72819c9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1042 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1043 b/test/de_fuzz/corpus/corpus_1043 deleted file mode 100644 index 03e3455d9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1043 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1044 b/test/de_fuzz/corpus/corpus_1044 deleted file mode 100644 index c47e46989..000000000 Binary files a/test/de_fuzz/corpus/corpus_1044 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1045 b/test/de_fuzz/corpus/corpus_1045 deleted file mode 100644 index 2d03088a6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1045 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1046 b/test/de_fuzz/corpus/corpus_1046 deleted file mode 100644 index d9ae63645..000000000 Binary files a/test/de_fuzz/corpus/corpus_1046 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1047 b/test/de_fuzz/corpus/corpus_1047 deleted file mode 100644 index 9cdd643dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1047 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1048 b/test/de_fuzz/corpus/corpus_1048 deleted file mode 100644 index 12ac615a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1048 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1049 b/test/de_fuzz/corpus/corpus_1049 deleted file mode 100644 index 2158d94e3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1049 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_105 b/test/de_fuzz/corpus/corpus_105 deleted file mode 100644 index 6fc4cd0f9..000000000 Binary files a/test/de_fuzz/corpus/corpus_105 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1050 b/test/de_fuzz/corpus/corpus_1050 deleted file mode 100644 index 990edf181..000000000 Binary files a/test/de_fuzz/corpus/corpus_1050 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1051 b/test/de_fuzz/corpus/corpus_1051 deleted file mode 100644 index 0907293b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1051 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1052 b/test/de_fuzz/corpus/corpus_1052 deleted file mode 100644 index 1e34d7054..000000000 Binary files a/test/de_fuzz/corpus/corpus_1052 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1053 b/test/de_fuzz/corpus/corpus_1053 deleted file mode 100644 index 7e9d273f6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1053 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1054 b/test/de_fuzz/corpus/corpus_1054 deleted file mode 100644 index 613280717..000000000 Binary files a/test/de_fuzz/corpus/corpus_1054 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1055 b/test/de_fuzz/corpus/corpus_1055 deleted file mode 100644 index d5875ad0f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1055 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1056 b/test/de_fuzz/corpus/corpus_1056 deleted file mode 100644 index 1f8376ad9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1056 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1057 b/test/de_fuzz/corpus/corpus_1057 deleted file mode 100644 index 397c69832..000000000 Binary files a/test/de_fuzz/corpus/corpus_1057 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1058 b/test/de_fuzz/corpus/corpus_1058 deleted file mode 100644 index d2c31ecb3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1058 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1059 b/test/de_fuzz/corpus/corpus_1059 deleted file mode 100644 index dbe2a8e1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1059 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_106 b/test/de_fuzz/corpus/corpus_106 deleted file mode 100644 index 8e33f2aa7..000000000 Binary files a/test/de_fuzz/corpus/corpus_106 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1060 b/test/de_fuzz/corpus/corpus_1060 deleted file mode 100644 index 513f7ab53..000000000 Binary files a/test/de_fuzz/corpus/corpus_1060 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1061 b/test/de_fuzz/corpus/corpus_1061 deleted file mode 100644 index 1fe3c904a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1061 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1062 b/test/de_fuzz/corpus/corpus_1062 deleted file mode 100644 index 426191933..000000000 Binary files a/test/de_fuzz/corpus/corpus_1062 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1063 b/test/de_fuzz/corpus/corpus_1063 deleted file mode 100644 index e3aec218b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1063 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1064 b/test/de_fuzz/corpus/corpus_1064 deleted file mode 100644 index 620f7b701..000000000 Binary files a/test/de_fuzz/corpus/corpus_1064 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1065 b/test/de_fuzz/corpus/corpus_1065 deleted file mode 100644 index 80284488f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1065 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1066 b/test/de_fuzz/corpus/corpus_1066 deleted file mode 100644 index 65aaaab83..000000000 Binary files a/test/de_fuzz/corpus/corpus_1066 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1067 b/test/de_fuzz/corpus/corpus_1067 deleted file mode 100644 index 12f804b97..000000000 Binary files a/test/de_fuzz/corpus/corpus_1067 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1068 b/test/de_fuzz/corpus/corpus_1068 deleted file mode 100644 index c0fe39475..000000000 Binary files a/test/de_fuzz/corpus/corpus_1068 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1069 b/test/de_fuzz/corpus/corpus_1069 deleted file mode 100644 index d136ca24e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1069 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_107 b/test/de_fuzz/corpus/corpus_107 deleted file mode 100644 index dcabb7066..000000000 Binary files a/test/de_fuzz/corpus/corpus_107 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1070 b/test/de_fuzz/corpus/corpus_1070 deleted file mode 100644 index 09f7c2b09..000000000 Binary files a/test/de_fuzz/corpus/corpus_1070 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1071 b/test/de_fuzz/corpus/corpus_1071 deleted file mode 100644 index d9502c7c8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1071 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1072 b/test/de_fuzz/corpus/corpus_1072 deleted file mode 100644 index 0a757508d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1072 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1073 b/test/de_fuzz/corpus/corpus_1073 deleted file mode 100644 index 29f23cd85..000000000 Binary files a/test/de_fuzz/corpus/corpus_1073 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1074 b/test/de_fuzz/corpus/corpus_1074 deleted file mode 100644 index 6b3c63f51..000000000 Binary files a/test/de_fuzz/corpus/corpus_1074 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1075 b/test/de_fuzz/corpus/corpus_1075 deleted file mode 100644 index 1d7a92c84..000000000 Binary files a/test/de_fuzz/corpus/corpus_1075 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1076 b/test/de_fuzz/corpus/corpus_1076 deleted file mode 100644 index 4572aebc2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1076 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1077 b/test/de_fuzz/corpus/corpus_1077 deleted file mode 100644 index 23909e1ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1077 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1078 b/test/de_fuzz/corpus/corpus_1078 deleted file mode 100644 index 49770555e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1078 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1079 b/test/de_fuzz/corpus/corpus_1079 deleted file mode 100644 index cf52253e8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1079 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_108 b/test/de_fuzz/corpus/corpus_108 deleted file mode 100644 index 61c4c5048..000000000 Binary files a/test/de_fuzz/corpus/corpus_108 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1080 b/test/de_fuzz/corpus/corpus_1080 deleted file mode 100644 index 013d01bce..000000000 Binary files a/test/de_fuzz/corpus/corpus_1080 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1081 b/test/de_fuzz/corpus/corpus_1081 deleted file mode 100644 index 92f7b4e19..000000000 Binary files a/test/de_fuzz/corpus/corpus_1081 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1082 b/test/de_fuzz/corpus/corpus_1082 deleted file mode 100644 index 59781e529..000000000 Binary files a/test/de_fuzz/corpus/corpus_1082 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1083 b/test/de_fuzz/corpus/corpus_1083 deleted file mode 100644 index 00e912932..000000000 Binary files a/test/de_fuzz/corpus/corpus_1083 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1084 b/test/de_fuzz/corpus/corpus_1084 deleted file mode 100644 index a94e4ceea..000000000 Binary files a/test/de_fuzz/corpus/corpus_1084 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1085 b/test/de_fuzz/corpus/corpus_1085 deleted file mode 100644 index 2a44b8535..000000000 Binary files a/test/de_fuzz/corpus/corpus_1085 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1086 b/test/de_fuzz/corpus/corpus_1086 deleted file mode 100644 index a63d97f62..000000000 Binary files a/test/de_fuzz/corpus/corpus_1086 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1087 b/test/de_fuzz/corpus/corpus_1087 deleted file mode 100644 index b4b845c97..000000000 Binary files a/test/de_fuzz/corpus/corpus_1087 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1088 b/test/de_fuzz/corpus/corpus_1088 deleted file mode 100644 index 3930ef206..000000000 Binary files a/test/de_fuzz/corpus/corpus_1088 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1089 b/test/de_fuzz/corpus/corpus_1089 deleted file mode 100644 index 4ded6b1f9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1089 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_109 b/test/de_fuzz/corpus/corpus_109 deleted file mode 100644 index 429295a77..000000000 Binary files a/test/de_fuzz/corpus/corpus_109 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1090 b/test/de_fuzz/corpus/corpus_1090 deleted file mode 100644 index bb84b190f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1090 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1091 b/test/de_fuzz/corpus/corpus_1091 deleted file mode 100644 index e78ed13dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1091 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1092 b/test/de_fuzz/corpus/corpus_1092 deleted file mode 100644 index d90b43eb7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1092 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1093 b/test/de_fuzz/corpus/corpus_1093 deleted file mode 100644 index 7b1c6bfe1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1093 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1094 b/test/de_fuzz/corpus/corpus_1094 deleted file mode 100644 index 496d6d9ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_1094 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1095 b/test/de_fuzz/corpus/corpus_1095 deleted file mode 100644 index 543709ada..000000000 Binary files a/test/de_fuzz/corpus/corpus_1095 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1096 b/test/de_fuzz/corpus/corpus_1096 deleted file mode 100644 index bec22931c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1096 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1097 b/test/de_fuzz/corpus/corpus_1097 deleted file mode 100644 index 9ea024126..000000000 Binary files a/test/de_fuzz/corpus/corpus_1097 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1098 b/test/de_fuzz/corpus/corpus_1098 deleted file mode 100644 index 62841fd3d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1098 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1099 b/test/de_fuzz/corpus/corpus_1099 deleted file mode 100644 index 0aeec1fc0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1099 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_11 b/test/de_fuzz/corpus/corpus_11 deleted file mode 100644 index e6b63fce5..000000000 Binary files a/test/de_fuzz/corpus/corpus_11 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_110 b/test/de_fuzz/corpus/corpus_110 deleted file mode 100644 index 7b2be7e17..000000000 Binary files a/test/de_fuzz/corpus/corpus_110 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1100 b/test/de_fuzz/corpus/corpus_1100 deleted file mode 100644 index f3603d2ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1100 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1101 b/test/de_fuzz/corpus/corpus_1101 deleted file mode 100644 index eac97f553..000000000 Binary files a/test/de_fuzz/corpus/corpus_1101 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1102 b/test/de_fuzz/corpus/corpus_1102 deleted file mode 100644 index 2ac867ea0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1102 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1103 b/test/de_fuzz/corpus/corpus_1103 deleted file mode 100644 index fede2b102..000000000 Binary files a/test/de_fuzz/corpus/corpus_1103 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1104 b/test/de_fuzz/corpus/corpus_1104 deleted file mode 100644 index 99da67d85..000000000 Binary files a/test/de_fuzz/corpus/corpus_1104 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1105 b/test/de_fuzz/corpus/corpus_1105 deleted file mode 100644 index 4d7da58ad..000000000 Binary files a/test/de_fuzz/corpus/corpus_1105 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1106 b/test/de_fuzz/corpus/corpus_1106 deleted file mode 100644 index 33d8882bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1106 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1107 b/test/de_fuzz/corpus/corpus_1107 deleted file mode 100644 index 5df530961..000000000 Binary files a/test/de_fuzz/corpus/corpus_1107 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1108 b/test/de_fuzz/corpus/corpus_1108 deleted file mode 100644 index 6ce6ffbf6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1108 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1109 b/test/de_fuzz/corpus/corpus_1109 deleted file mode 100644 index db67e0ac9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1109 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_111 b/test/de_fuzz/corpus/corpus_111 deleted file mode 100644 index 50c42ed0d..000000000 Binary files a/test/de_fuzz/corpus/corpus_111 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1110 b/test/de_fuzz/corpus/corpus_1110 deleted file mode 100644 index 0127bd803..000000000 Binary files a/test/de_fuzz/corpus/corpus_1110 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1111 b/test/de_fuzz/corpus/corpus_1111 deleted file mode 100644 index 3beba5884..000000000 Binary files a/test/de_fuzz/corpus/corpus_1111 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1112 b/test/de_fuzz/corpus/corpus_1112 deleted file mode 100644 index cef0c2384..000000000 Binary files a/test/de_fuzz/corpus/corpus_1112 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1113 b/test/de_fuzz/corpus/corpus_1113 deleted file mode 100644 index 9361d3766..000000000 Binary files a/test/de_fuzz/corpus/corpus_1113 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1114 b/test/de_fuzz/corpus/corpus_1114 deleted file mode 100644 index 57a48fe27..000000000 Binary files a/test/de_fuzz/corpus/corpus_1114 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1115 b/test/de_fuzz/corpus/corpus_1115 deleted file mode 100644 index 83cc889ff..000000000 Binary files a/test/de_fuzz/corpus/corpus_1115 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1116 b/test/de_fuzz/corpus/corpus_1116 deleted file mode 100644 index 266902fc0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1116 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1117 b/test/de_fuzz/corpus/corpus_1117 deleted file mode 100644 index ef62d4f30..000000000 Binary files a/test/de_fuzz/corpus/corpus_1117 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1118 b/test/de_fuzz/corpus/corpus_1118 deleted file mode 100644 index 5d8d01523..000000000 Binary files a/test/de_fuzz/corpus/corpus_1118 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1119 b/test/de_fuzz/corpus/corpus_1119 deleted file mode 100644 index c5ed2eaf8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1119 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_112 b/test/de_fuzz/corpus/corpus_112 deleted file mode 100644 index 01331220b..000000000 Binary files a/test/de_fuzz/corpus/corpus_112 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1120 b/test/de_fuzz/corpus/corpus_1120 deleted file mode 100644 index 8d87d5363..000000000 Binary files a/test/de_fuzz/corpus/corpus_1120 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1121 b/test/de_fuzz/corpus/corpus_1121 deleted file mode 100644 index 1a91be9ca..000000000 Binary files a/test/de_fuzz/corpus/corpus_1121 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1122 b/test/de_fuzz/corpus/corpus_1122 deleted file mode 100644 index d9b16b45d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1122 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1123 b/test/de_fuzz/corpus/corpus_1123 deleted file mode 100644 index 39f9a9cde..000000000 Binary files a/test/de_fuzz/corpus/corpus_1123 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1124 b/test/de_fuzz/corpus/corpus_1124 deleted file mode 100644 index a62f1efc5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1124 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1125 b/test/de_fuzz/corpus/corpus_1125 deleted file mode 100644 index df3531099..000000000 Binary files a/test/de_fuzz/corpus/corpus_1125 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1126 b/test/de_fuzz/corpus/corpus_1126 deleted file mode 100644 index c53d3cc39..000000000 Binary files a/test/de_fuzz/corpus/corpus_1126 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1127 b/test/de_fuzz/corpus/corpus_1127 deleted file mode 100644 index b93d6858e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1127 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1128 b/test/de_fuzz/corpus/corpus_1128 deleted file mode 100644 index f0881c32c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1128 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1129 b/test/de_fuzz/corpus/corpus_1129 deleted file mode 100644 index b2a3ffb63..000000000 Binary files a/test/de_fuzz/corpus/corpus_1129 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_113 b/test/de_fuzz/corpus/corpus_113 deleted file mode 100644 index 5454eb049..000000000 Binary files a/test/de_fuzz/corpus/corpus_113 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1130 b/test/de_fuzz/corpus/corpus_1130 deleted file mode 100644 index 704a88e10..000000000 Binary files a/test/de_fuzz/corpus/corpus_1130 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1131 b/test/de_fuzz/corpus/corpus_1131 deleted file mode 100644 index 6e61322df..000000000 Binary files a/test/de_fuzz/corpus/corpus_1131 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1132 b/test/de_fuzz/corpus/corpus_1132 deleted file mode 100644 index c5d07b4c5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1132 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1133 b/test/de_fuzz/corpus/corpus_1133 deleted file mode 100644 index 7c7554c13..000000000 Binary files a/test/de_fuzz/corpus/corpus_1133 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1134 b/test/de_fuzz/corpus/corpus_1134 deleted file mode 100644 index bb12352df..000000000 Binary files a/test/de_fuzz/corpus/corpus_1134 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1135 b/test/de_fuzz/corpus/corpus_1135 deleted file mode 100644 index 237ed07d4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1135 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1136 b/test/de_fuzz/corpus/corpus_1136 deleted file mode 100644 index 5af2e2f22..000000000 Binary files a/test/de_fuzz/corpus/corpus_1136 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1137 b/test/de_fuzz/corpus/corpus_1137 deleted file mode 100644 index f90d92176..000000000 Binary files a/test/de_fuzz/corpus/corpus_1137 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1138 b/test/de_fuzz/corpus/corpus_1138 deleted file mode 100644 index 0fd7edd89..000000000 Binary files a/test/de_fuzz/corpus/corpus_1138 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1139 b/test/de_fuzz/corpus/corpus_1139 deleted file mode 100644 index 281fddcf7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1139 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_114 b/test/de_fuzz/corpus/corpus_114 deleted file mode 100644 index 48ea4cb75..000000000 Binary files a/test/de_fuzz/corpus/corpus_114 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1140 b/test/de_fuzz/corpus/corpus_1140 deleted file mode 100644 index 54e4d0a10..000000000 Binary files a/test/de_fuzz/corpus/corpus_1140 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1141 b/test/de_fuzz/corpus/corpus_1141 deleted file mode 100644 index e3e3720e6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1141 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1142 b/test/de_fuzz/corpus/corpus_1142 deleted file mode 100644 index 1e5552d59..000000000 Binary files a/test/de_fuzz/corpus/corpus_1142 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1143 b/test/de_fuzz/corpus/corpus_1143 deleted file mode 100644 index 600d2acf6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1143 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1144 b/test/de_fuzz/corpus/corpus_1144 deleted file mode 100644 index 313bc8761..000000000 Binary files a/test/de_fuzz/corpus/corpus_1144 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1145 b/test/de_fuzz/corpus/corpus_1145 deleted file mode 100644 index 8a802723b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1145 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1146 b/test/de_fuzz/corpus/corpus_1146 deleted file mode 100644 index 858aeca26..000000000 Binary files a/test/de_fuzz/corpus/corpus_1146 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1147 b/test/de_fuzz/corpus/corpus_1147 deleted file mode 100644 index 0de2c0fb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1147 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1148 b/test/de_fuzz/corpus/corpus_1148 deleted file mode 100644 index f3055dd00..000000000 Binary files a/test/de_fuzz/corpus/corpus_1148 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1149 b/test/de_fuzz/corpus/corpus_1149 deleted file mode 100644 index 840409278..000000000 Binary files a/test/de_fuzz/corpus/corpus_1149 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_115 b/test/de_fuzz/corpus/corpus_115 deleted file mode 100644 index 3d0310911..000000000 Binary files a/test/de_fuzz/corpus/corpus_115 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1150 b/test/de_fuzz/corpus/corpus_1150 deleted file mode 100644 index d90ed5042..000000000 Binary files a/test/de_fuzz/corpus/corpus_1150 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1151 b/test/de_fuzz/corpus/corpus_1151 deleted file mode 100644 index 87a643ce6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1151 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1152 b/test/de_fuzz/corpus/corpus_1152 deleted file mode 100644 index 21d6220d6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1152 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1153 b/test/de_fuzz/corpus/corpus_1153 deleted file mode 100644 index 4e0b6a5e3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1153 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1154 b/test/de_fuzz/corpus/corpus_1154 deleted file mode 100644 index d959d28ee..000000000 Binary files a/test/de_fuzz/corpus/corpus_1154 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1155 b/test/de_fuzz/corpus/corpus_1155 deleted file mode 100644 index 5d03ddb12..000000000 Binary files a/test/de_fuzz/corpus/corpus_1155 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1156 b/test/de_fuzz/corpus/corpus_1156 deleted file mode 100644 index e7dde46f7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1156 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1157 b/test/de_fuzz/corpus/corpus_1157 deleted file mode 100644 index 798ffce9d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1157 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1158 b/test/de_fuzz/corpus/corpus_1158 deleted file mode 100644 index 267e1b608..000000000 Binary files a/test/de_fuzz/corpus/corpus_1158 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1159 b/test/de_fuzz/corpus/corpus_1159 deleted file mode 100644 index 346d6e37b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1159 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_116 b/test/de_fuzz/corpus/corpus_116 deleted file mode 100644 index 6529e7d9b..000000000 Binary files a/test/de_fuzz/corpus/corpus_116 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1160 b/test/de_fuzz/corpus/corpus_1160 deleted file mode 100644 index 2d8b19c87..000000000 Binary files a/test/de_fuzz/corpus/corpus_1160 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1161 b/test/de_fuzz/corpus/corpus_1161 deleted file mode 100644 index 03202b872..000000000 Binary files a/test/de_fuzz/corpus/corpus_1161 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1162 b/test/de_fuzz/corpus/corpus_1162 deleted file mode 100644 index 5aa41376f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1162 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1163 b/test/de_fuzz/corpus/corpus_1163 deleted file mode 100644 index 781ac3fe2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1163 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1164 b/test/de_fuzz/corpus/corpus_1164 deleted file mode 100644 index d1104bc29..000000000 Binary files a/test/de_fuzz/corpus/corpus_1164 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1165 b/test/de_fuzz/corpus/corpus_1165 deleted file mode 100644 index 6ea232a48..000000000 Binary files a/test/de_fuzz/corpus/corpus_1165 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1166 b/test/de_fuzz/corpus/corpus_1166 deleted file mode 100644 index f868d1a4e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1166 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1167 b/test/de_fuzz/corpus/corpus_1167 deleted file mode 100644 index 4e2cd5738..000000000 Binary files a/test/de_fuzz/corpus/corpus_1167 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1168 b/test/de_fuzz/corpus/corpus_1168 deleted file mode 100644 index 426a868ca..000000000 Binary files a/test/de_fuzz/corpus/corpus_1168 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1169 b/test/de_fuzz/corpus/corpus_1169 deleted file mode 100644 index f3c8f118d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1169 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_117 b/test/de_fuzz/corpus/corpus_117 deleted file mode 100644 index 7c8c22696..000000000 Binary files a/test/de_fuzz/corpus/corpus_117 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1170 b/test/de_fuzz/corpus/corpus_1170 deleted file mode 100644 index e9f8e5287..000000000 Binary files a/test/de_fuzz/corpus/corpus_1170 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1171 b/test/de_fuzz/corpus/corpus_1171 deleted file mode 100644 index 962e26c50..000000000 Binary files a/test/de_fuzz/corpus/corpus_1171 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1172 b/test/de_fuzz/corpus/corpus_1172 deleted file mode 100644 index 2c1988249..000000000 Binary files a/test/de_fuzz/corpus/corpus_1172 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1173 b/test/de_fuzz/corpus/corpus_1173 deleted file mode 100644 index b4ae680ff..000000000 Binary files a/test/de_fuzz/corpus/corpus_1173 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1174 b/test/de_fuzz/corpus/corpus_1174 deleted file mode 100644 index 4c285e4cc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1174 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1175 b/test/de_fuzz/corpus/corpus_1175 deleted file mode 100644 index 57ec0b84e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1175 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1176 b/test/de_fuzz/corpus/corpus_1176 deleted file mode 100644 index f5d8baf13..000000000 Binary files a/test/de_fuzz/corpus/corpus_1176 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1177 b/test/de_fuzz/corpus/corpus_1177 deleted file mode 100644 index 5d728d4be..000000000 Binary files a/test/de_fuzz/corpus/corpus_1177 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1178 b/test/de_fuzz/corpus/corpus_1178 deleted file mode 100644 index fcc3ebd49..000000000 Binary files a/test/de_fuzz/corpus/corpus_1178 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1179 b/test/de_fuzz/corpus/corpus_1179 deleted file mode 100644 index 762d46ac6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1179 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_118 b/test/de_fuzz/corpus/corpus_118 deleted file mode 100644 index 495b3305f..000000000 Binary files a/test/de_fuzz/corpus/corpus_118 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1180 b/test/de_fuzz/corpus/corpus_1180 deleted file mode 100644 index 5bf486d07..000000000 Binary files a/test/de_fuzz/corpus/corpus_1180 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1181 b/test/de_fuzz/corpus/corpus_1181 deleted file mode 100644 index 698d2027c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1181 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1182 b/test/de_fuzz/corpus/corpus_1182 deleted file mode 100644 index 2d3324530..000000000 Binary files a/test/de_fuzz/corpus/corpus_1182 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1183 b/test/de_fuzz/corpus/corpus_1183 deleted file mode 100644 index bcd10c012..000000000 Binary files a/test/de_fuzz/corpus/corpus_1183 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1184 b/test/de_fuzz/corpus/corpus_1184 deleted file mode 100644 index 7712cb96e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1184 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1185 b/test/de_fuzz/corpus/corpus_1185 deleted file mode 100644 index c284f40ae..000000000 Binary files a/test/de_fuzz/corpus/corpus_1185 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1186 b/test/de_fuzz/corpus/corpus_1186 deleted file mode 100644 index 5590b33c5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1186 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1187 b/test/de_fuzz/corpus/corpus_1187 deleted file mode 100644 index a36c56f9e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1187 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1188 b/test/de_fuzz/corpus/corpus_1188 deleted file mode 100644 index 0b3891ec1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1188 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1189 b/test/de_fuzz/corpus/corpus_1189 deleted file mode 100644 index f2d622689..000000000 Binary files a/test/de_fuzz/corpus/corpus_1189 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_119 b/test/de_fuzz/corpus/corpus_119 deleted file mode 100644 index 7fd07b8a0..000000000 Binary files a/test/de_fuzz/corpus/corpus_119 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1190 b/test/de_fuzz/corpus/corpus_1190 deleted file mode 100644 index 4f4ef3684..000000000 Binary files a/test/de_fuzz/corpus/corpus_1190 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1191 b/test/de_fuzz/corpus/corpus_1191 deleted file mode 100644 index 6a1ad9b07..000000000 Binary files a/test/de_fuzz/corpus/corpus_1191 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1192 b/test/de_fuzz/corpus/corpus_1192 deleted file mode 100644 index d771d2dc0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1192 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1193 b/test/de_fuzz/corpus/corpus_1193 deleted file mode 100644 index d2fa59fe4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1193 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1194 b/test/de_fuzz/corpus/corpus_1194 deleted file mode 100644 index 00132b093..000000000 Binary files a/test/de_fuzz/corpus/corpus_1194 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1195 b/test/de_fuzz/corpus/corpus_1195 deleted file mode 100644 index 0d49ec3a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1195 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1196 b/test/de_fuzz/corpus/corpus_1196 deleted file mode 100644 index bd8078c43..000000000 Binary files a/test/de_fuzz/corpus/corpus_1196 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1197 b/test/de_fuzz/corpus/corpus_1197 deleted file mode 100644 index 58f3ec6c4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1197 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1198 b/test/de_fuzz/corpus/corpus_1198 deleted file mode 100644 index 69653e335..000000000 Binary files a/test/de_fuzz/corpus/corpus_1198 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1199 b/test/de_fuzz/corpus/corpus_1199 deleted file mode 100644 index 072fbc64a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1199 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_12 b/test/de_fuzz/corpus/corpus_12 deleted file mode 100644 index d1cf9c076..000000000 --- a/test/de_fuzz/corpus/corpus_12 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - -"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_120 b/test/de_fuzz/corpus/corpus_120 deleted file mode 100644 index 99b985be8..000000000 Binary files a/test/de_fuzz/corpus/corpus_120 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1200 b/test/de_fuzz/corpus/corpus_1200 deleted file mode 100644 index 37a7a0c87..000000000 Binary files a/test/de_fuzz/corpus/corpus_1200 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1201 b/test/de_fuzz/corpus/corpus_1201 deleted file mode 100644 index 5613bf938..000000000 Binary files a/test/de_fuzz/corpus/corpus_1201 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1202 b/test/de_fuzz/corpus/corpus_1202 deleted file mode 100644 index 380670a5c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1202 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1203 b/test/de_fuzz/corpus/corpus_1203 deleted file mode 100644 index 1229ac065..000000000 Binary files a/test/de_fuzz/corpus/corpus_1203 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1204 b/test/de_fuzz/corpus/corpus_1204 deleted file mode 100644 index 8ebb400b6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1204 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1205 b/test/de_fuzz/corpus/corpus_1205 deleted file mode 100644 index eaeda638c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1205 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1206 b/test/de_fuzz/corpus/corpus_1206 deleted file mode 100644 index 5a4ca7d87..000000000 Binary files a/test/de_fuzz/corpus/corpus_1206 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1207 b/test/de_fuzz/corpus/corpus_1207 deleted file mode 100644 index 9b3ed533a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1207 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1208 b/test/de_fuzz/corpus/corpus_1208 deleted file mode 100644 index a8b55f775..000000000 Binary files a/test/de_fuzz/corpus/corpus_1208 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1209 b/test/de_fuzz/corpus/corpus_1209 deleted file mode 100644 index 7f9cb65cd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1209 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_121 b/test/de_fuzz/corpus/corpus_121 deleted file mode 100644 index 9ec14dec6..000000000 Binary files a/test/de_fuzz/corpus/corpus_121 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1210 b/test/de_fuzz/corpus/corpus_1210 deleted file mode 100644 index 41542cf58..000000000 Binary files a/test/de_fuzz/corpus/corpus_1210 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1211 b/test/de_fuzz/corpus/corpus_1211 deleted file mode 100644 index f66ed19e4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1211 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1212 b/test/de_fuzz/corpus/corpus_1212 deleted file mode 100644 index c617d0d43..000000000 Binary files a/test/de_fuzz/corpus/corpus_1212 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1213 b/test/de_fuzz/corpus/corpus_1213 deleted file mode 100644 index c99effb2c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1213 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1214 b/test/de_fuzz/corpus/corpus_1214 deleted file mode 100644 index 564f7d921..000000000 Binary files a/test/de_fuzz/corpus/corpus_1214 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1215 b/test/de_fuzz/corpus/corpus_1215 deleted file mode 100644 index c723867da..000000000 Binary files a/test/de_fuzz/corpus/corpus_1215 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1216 b/test/de_fuzz/corpus/corpus_1216 deleted file mode 100644 index 696a2da5b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1216 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1217 b/test/de_fuzz/corpus/corpus_1217 deleted file mode 100644 index 8338acc6c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1217 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1218 b/test/de_fuzz/corpus/corpus_1218 deleted file mode 100644 index de78ba75b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1218 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1219 b/test/de_fuzz/corpus/corpus_1219 deleted file mode 100644 index 12a50c97d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1219 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_122 b/test/de_fuzz/corpus/corpus_122 deleted file mode 100644 index 7af54af14..000000000 Binary files a/test/de_fuzz/corpus/corpus_122 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1220 b/test/de_fuzz/corpus/corpus_1220 deleted file mode 100644 index 9255ba2ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1220 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1221 b/test/de_fuzz/corpus/corpus_1221 deleted file mode 100644 index 9d63df44f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1221 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1222 b/test/de_fuzz/corpus/corpus_1222 deleted file mode 100644 index 9045c483d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1222 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1223 b/test/de_fuzz/corpus/corpus_1223 deleted file mode 100644 index aadb07c91..000000000 Binary files a/test/de_fuzz/corpus/corpus_1223 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1224 b/test/de_fuzz/corpus/corpus_1224 deleted file mode 100644 index 812199b80..000000000 Binary files a/test/de_fuzz/corpus/corpus_1224 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1225 b/test/de_fuzz/corpus/corpus_1225 deleted file mode 100644 index c9e8bf6c2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1225 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1226 b/test/de_fuzz/corpus/corpus_1226 deleted file mode 100644 index ab143dc4c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1226 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1227 b/test/de_fuzz/corpus/corpus_1227 deleted file mode 100644 index 1fed2a3df..000000000 Binary files a/test/de_fuzz/corpus/corpus_1227 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1228 b/test/de_fuzz/corpus/corpus_1228 deleted file mode 100644 index 05bc5dc8a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1228 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1229 b/test/de_fuzz/corpus/corpus_1229 deleted file mode 100644 index 9d8ae3392..000000000 Binary files a/test/de_fuzz/corpus/corpus_1229 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_123 b/test/de_fuzz/corpus/corpus_123 deleted file mode 100644 index 0d401292a..000000000 Binary files a/test/de_fuzz/corpus/corpus_123 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1230 b/test/de_fuzz/corpus/corpus_1230 deleted file mode 100644 index ce399de7c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1230 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1231 b/test/de_fuzz/corpus/corpus_1231 deleted file mode 100644 index 60ebbd95c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1231 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1232 b/test/de_fuzz/corpus/corpus_1232 deleted file mode 100644 index 99c3ecb27..000000000 Binary files a/test/de_fuzz/corpus/corpus_1232 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1233 b/test/de_fuzz/corpus/corpus_1233 deleted file mode 100644 index d74adbaf9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1233 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1234 b/test/de_fuzz/corpus/corpus_1234 deleted file mode 100644 index e6ffbea63..000000000 Binary files a/test/de_fuzz/corpus/corpus_1234 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1235 b/test/de_fuzz/corpus/corpus_1235 deleted file mode 100644 index 8a265fc45..000000000 Binary files a/test/de_fuzz/corpus/corpus_1235 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1236 b/test/de_fuzz/corpus/corpus_1236 deleted file mode 100644 index 3fdefa26c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1236 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1237 b/test/de_fuzz/corpus/corpus_1237 deleted file mode 100644 index 7c493b77b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1237 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1238 b/test/de_fuzz/corpus/corpus_1238 deleted file mode 100644 index 886b152cc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1238 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1239 b/test/de_fuzz/corpus/corpus_1239 deleted file mode 100644 index 5796f3019..000000000 Binary files a/test/de_fuzz/corpus/corpus_1239 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_124 b/test/de_fuzz/corpus/corpus_124 deleted file mode 100644 index a8b7e2c1b..000000000 Binary files a/test/de_fuzz/corpus/corpus_124 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1240 b/test/de_fuzz/corpus/corpus_1240 deleted file mode 100644 index ad8e53bb1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1240 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1241 b/test/de_fuzz/corpus/corpus_1241 deleted file mode 100644 index a73a5e450..000000000 Binary files a/test/de_fuzz/corpus/corpus_1241 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1242 b/test/de_fuzz/corpus/corpus_1242 deleted file mode 100644 index 86fb6c041..000000000 Binary files a/test/de_fuzz/corpus/corpus_1242 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1243 b/test/de_fuzz/corpus/corpus_1243 deleted file mode 100644 index 2db343821..000000000 Binary files a/test/de_fuzz/corpus/corpus_1243 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1244 b/test/de_fuzz/corpus/corpus_1244 deleted file mode 100644 index 68960dc7b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1244 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1245 b/test/de_fuzz/corpus/corpus_1245 deleted file mode 100644 index 4c6389492..000000000 Binary files a/test/de_fuzz/corpus/corpus_1245 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1246 b/test/de_fuzz/corpus/corpus_1246 deleted file mode 100644 index 73a8fe7bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1246 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1247 b/test/de_fuzz/corpus/corpus_1247 deleted file mode 100644 index 6d6c8133b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1247 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1248 b/test/de_fuzz/corpus/corpus_1248 deleted file mode 100644 index e08cd0b9a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1248 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1249 b/test/de_fuzz/corpus/corpus_1249 deleted file mode 100644 index 4d299d1b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1249 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_125 b/test/de_fuzz/corpus/corpus_125 deleted file mode 100644 index dedaf6f3c..000000000 Binary files a/test/de_fuzz/corpus/corpus_125 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1250 b/test/de_fuzz/corpus/corpus_1250 deleted file mode 100644 index bbc682e31..000000000 Binary files a/test/de_fuzz/corpus/corpus_1250 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1251 b/test/de_fuzz/corpus/corpus_1251 deleted file mode 100644 index dabe697ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_1251 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1252 b/test/de_fuzz/corpus/corpus_1252 deleted file mode 100644 index b675cd780..000000000 Binary files a/test/de_fuzz/corpus/corpus_1252 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1253 b/test/de_fuzz/corpus/corpus_1253 deleted file mode 100644 index 5d2757571..000000000 Binary files a/test/de_fuzz/corpus/corpus_1253 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1254 b/test/de_fuzz/corpus/corpus_1254 deleted file mode 100644 index 97fc7aa49..000000000 Binary files a/test/de_fuzz/corpus/corpus_1254 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1255 b/test/de_fuzz/corpus/corpus_1255 deleted file mode 100644 index bb919598b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1255 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1256 b/test/de_fuzz/corpus/corpus_1256 deleted file mode 100644 index 292a28281..000000000 Binary files a/test/de_fuzz/corpus/corpus_1256 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1257 b/test/de_fuzz/corpus/corpus_1257 deleted file mode 100644 index 957f09edb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1257 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1258 b/test/de_fuzz/corpus/corpus_1258 deleted file mode 100644 index d70b98065..000000000 Binary files a/test/de_fuzz/corpus/corpus_1258 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1259 b/test/de_fuzz/corpus/corpus_1259 deleted file mode 100644 index c1952f8d2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1259 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_126 b/test/de_fuzz/corpus/corpus_126 deleted file mode 100644 index 48eb8a6a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_126 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1260 b/test/de_fuzz/corpus/corpus_1260 deleted file mode 100644 index 74571ae7a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1260 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1261 b/test/de_fuzz/corpus/corpus_1261 deleted file mode 100644 index 10ecaa620..000000000 Binary files a/test/de_fuzz/corpus/corpus_1261 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1262 b/test/de_fuzz/corpus/corpus_1262 deleted file mode 100644 index 9df8fc61d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1262 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1263 b/test/de_fuzz/corpus/corpus_1263 deleted file mode 100644 index 8098091a9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1263 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1264 b/test/de_fuzz/corpus/corpus_1264 deleted file mode 100644 index af0d09beb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1264 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1265 b/test/de_fuzz/corpus/corpus_1265 deleted file mode 100644 index e6b84bd56..000000000 Binary files a/test/de_fuzz/corpus/corpus_1265 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1266 b/test/de_fuzz/corpus/corpus_1266 deleted file mode 100644 index eeca3706d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1266 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1267 b/test/de_fuzz/corpus/corpus_1267 deleted file mode 100644 index 661d5d369..000000000 Binary files a/test/de_fuzz/corpus/corpus_1267 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1268 b/test/de_fuzz/corpus/corpus_1268 deleted file mode 100644 index 91747beac..000000000 Binary files a/test/de_fuzz/corpus/corpus_1268 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1269 b/test/de_fuzz/corpus/corpus_1269 deleted file mode 100644 index 510215fe9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1269 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_127 b/test/de_fuzz/corpus/corpus_127 deleted file mode 100644 index 97696a10d..000000000 Binary files a/test/de_fuzz/corpus/corpus_127 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1270 b/test/de_fuzz/corpus/corpus_1270 deleted file mode 100644 index cd5dd5dda..000000000 Binary files a/test/de_fuzz/corpus/corpus_1270 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1271 b/test/de_fuzz/corpus/corpus_1271 deleted file mode 100644 index 2c48cb411..000000000 Binary files a/test/de_fuzz/corpus/corpus_1271 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1272 b/test/de_fuzz/corpus/corpus_1272 deleted file mode 100644 index f45ac21fd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1272 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1273 b/test/de_fuzz/corpus/corpus_1273 deleted file mode 100644 index 89a745ee3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1273 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1274 b/test/de_fuzz/corpus/corpus_1274 deleted file mode 100644 index 8b93e9e0e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1274 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1275 b/test/de_fuzz/corpus/corpus_1275 deleted file mode 100644 index fb285a9ec..000000000 Binary files a/test/de_fuzz/corpus/corpus_1275 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1276 b/test/de_fuzz/corpus/corpus_1276 deleted file mode 100644 index 9a463ea1b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1276 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1277 b/test/de_fuzz/corpus/corpus_1277 deleted file mode 100644 index de85b0c14..000000000 Binary files a/test/de_fuzz/corpus/corpus_1277 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1278 b/test/de_fuzz/corpus/corpus_1278 deleted file mode 100644 index a8cde2987..000000000 Binary files a/test/de_fuzz/corpus/corpus_1278 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1279 b/test/de_fuzz/corpus/corpus_1279 deleted file mode 100644 index fa8bf0183..000000000 Binary files a/test/de_fuzz/corpus/corpus_1279 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_128 b/test/de_fuzz/corpus/corpus_128 deleted file mode 100644 index 5be2ae907..000000000 Binary files a/test/de_fuzz/corpus/corpus_128 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1280 b/test/de_fuzz/corpus/corpus_1280 deleted file mode 100644 index 8f08c86f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1280 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1281 b/test/de_fuzz/corpus/corpus_1281 deleted file mode 100644 index 37e6209b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1281 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1282 b/test/de_fuzz/corpus/corpus_1282 deleted file mode 100644 index 62e458970..000000000 Binary files a/test/de_fuzz/corpus/corpus_1282 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1283 b/test/de_fuzz/corpus/corpus_1283 deleted file mode 100644 index 0d5fe5431..000000000 Binary files a/test/de_fuzz/corpus/corpus_1283 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1284 b/test/de_fuzz/corpus/corpus_1284 deleted file mode 100644 index 281acee6c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1284 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1285 b/test/de_fuzz/corpus/corpus_1285 deleted file mode 100644 index ce4b339a0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1285 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1286 b/test/de_fuzz/corpus/corpus_1286 deleted file mode 100644 index dc46215e3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1286 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1287 b/test/de_fuzz/corpus/corpus_1287 deleted file mode 100644 index e3ab20b83..000000000 Binary files a/test/de_fuzz/corpus/corpus_1287 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1288 b/test/de_fuzz/corpus/corpus_1288 deleted file mode 100644 index 6af28c1da..000000000 Binary files a/test/de_fuzz/corpus/corpus_1288 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1289 b/test/de_fuzz/corpus/corpus_1289 deleted file mode 100644 index daf37d609..000000000 Binary files a/test/de_fuzz/corpus/corpus_1289 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_129 b/test/de_fuzz/corpus/corpus_129 deleted file mode 100644 index d759b69a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_129 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1290 b/test/de_fuzz/corpus/corpus_1290 deleted file mode 100644 index 14f9fe7bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1290 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1291 b/test/de_fuzz/corpus/corpus_1291 deleted file mode 100644 index 6cc3908f1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1291 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1292 b/test/de_fuzz/corpus/corpus_1292 deleted file mode 100644 index 6dd76a55a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1292 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1293 b/test/de_fuzz/corpus/corpus_1293 deleted file mode 100644 index 0097ac88e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1293 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1294 b/test/de_fuzz/corpus/corpus_1294 deleted file mode 100644 index da1d5b5d1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1294 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1295 b/test/de_fuzz/corpus/corpus_1295 deleted file mode 100644 index 14091c1f7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1295 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1296 b/test/de_fuzz/corpus/corpus_1296 deleted file mode 100644 index e2ded9a2b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1296 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1297 b/test/de_fuzz/corpus/corpus_1297 deleted file mode 100644 index b89685996..000000000 Binary files a/test/de_fuzz/corpus/corpus_1297 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1298 b/test/de_fuzz/corpus/corpus_1298 deleted file mode 100644 index 90b651142..000000000 Binary files a/test/de_fuzz/corpus/corpus_1298 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1299 b/test/de_fuzz/corpus/corpus_1299 deleted file mode 100644 index 03f239331..000000000 Binary files a/test/de_fuzz/corpus/corpus_1299 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_13 b/test/de_fuzz/corpus/corpus_13 deleted file mode 100644 index 4bd2625c3..000000000 --- a/test/de_fuzz/corpus/corpus_13 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - -"A. Other" (a comment) \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_130 b/test/de_fuzz/corpus/corpus_130 deleted file mode 100644 index 56431a227..000000000 Binary files a/test/de_fuzz/corpus/corpus_130 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1300 b/test/de_fuzz/corpus/corpus_1300 deleted file mode 100644 index 8d5e9c9dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1300 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1301 b/test/de_fuzz/corpus/corpus_1301 deleted file mode 100644 index 46104a20f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1301 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1302 b/test/de_fuzz/corpus/corpus_1302 deleted file mode 100644 index 0369e9056..000000000 Binary files a/test/de_fuzz/corpus/corpus_1302 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1303 b/test/de_fuzz/corpus/corpus_1303 deleted file mode 100644 index da4d7fef1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1303 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1304 b/test/de_fuzz/corpus/corpus_1304 deleted file mode 100644 index 096221b2a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1304 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1305 b/test/de_fuzz/corpus/corpus_1305 deleted file mode 100644 index b717bd1a6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1305 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1306 b/test/de_fuzz/corpus/corpus_1306 deleted file mode 100644 index 0a19dfa2b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1306 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1307 b/test/de_fuzz/corpus/corpus_1307 deleted file mode 100644 index d39acec8d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1307 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1308 b/test/de_fuzz/corpus/corpus_1308 deleted file mode 100644 index d06fecd0e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1308 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1309 b/test/de_fuzz/corpus/corpus_1309 deleted file mode 100644 index 815893199..000000000 Binary files a/test/de_fuzz/corpus/corpus_1309 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_131 b/test/de_fuzz/corpus/corpus_131 deleted file mode 100644 index 4bbcb7f35..000000000 Binary files a/test/de_fuzz/corpus/corpus_131 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1310 b/test/de_fuzz/corpus/corpus_1310 deleted file mode 100644 index 69a684de5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1310 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1311 b/test/de_fuzz/corpus/corpus_1311 deleted file mode 100644 index ed7b4806a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1311 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1312 b/test/de_fuzz/corpus/corpus_1312 deleted file mode 100644 index 1dbf5c51b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1312 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1313 b/test/de_fuzz/corpus/corpus_1313 deleted file mode 100644 index 7431deae3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1313 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1314 b/test/de_fuzz/corpus/corpus_1314 deleted file mode 100644 index ece1b95c0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1314 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1315 b/test/de_fuzz/corpus/corpus_1315 deleted file mode 100644 index c73732f15..000000000 Binary files a/test/de_fuzz/corpus/corpus_1315 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1316 b/test/de_fuzz/corpus/corpus_1316 deleted file mode 100644 index 382ee2008..000000000 Binary files a/test/de_fuzz/corpus/corpus_1316 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1317 b/test/de_fuzz/corpus/corpus_1317 deleted file mode 100644 index 115e54e4b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1317 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1318 b/test/de_fuzz/corpus/corpus_1318 deleted file mode 100644 index 8257f6920..000000000 Binary files a/test/de_fuzz/corpus/corpus_1318 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1319 b/test/de_fuzz/corpus/corpus_1319 deleted file mode 100644 index 1c2cb10f6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1319 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_132 b/test/de_fuzz/corpus/corpus_132 deleted file mode 100644 index c5a37f1cd..000000000 Binary files a/test/de_fuzz/corpus/corpus_132 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1320 b/test/de_fuzz/corpus/corpus_1320 deleted file mode 100644 index a318f0037..000000000 Binary files a/test/de_fuzz/corpus/corpus_1320 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1321 b/test/de_fuzz/corpus/corpus_1321 deleted file mode 100644 index d24f36daf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1321 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1322 b/test/de_fuzz/corpus/corpus_1322 deleted file mode 100644 index d61422a00..000000000 Binary files a/test/de_fuzz/corpus/corpus_1322 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1323 b/test/de_fuzz/corpus/corpus_1323 deleted file mode 100644 index da5290f06..000000000 Binary files a/test/de_fuzz/corpus/corpus_1323 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1324 b/test/de_fuzz/corpus/corpus_1324 deleted file mode 100644 index 8ffff32f6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1324 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1325 b/test/de_fuzz/corpus/corpus_1325 deleted file mode 100644 index 4dbff4e43..000000000 Binary files a/test/de_fuzz/corpus/corpus_1325 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1326 b/test/de_fuzz/corpus/corpus_1326 deleted file mode 100644 index 3a9db6d00..000000000 Binary files a/test/de_fuzz/corpus/corpus_1326 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1327 b/test/de_fuzz/corpus/corpus_1327 deleted file mode 100644 index ece3ee921..000000000 Binary files a/test/de_fuzz/corpus/corpus_1327 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1328 b/test/de_fuzz/corpus/corpus_1328 deleted file mode 100644 index 4b4b97f10..000000000 Binary files a/test/de_fuzz/corpus/corpus_1328 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1329 b/test/de_fuzz/corpus/corpus_1329 deleted file mode 100644 index 54eb04994..000000000 Binary files a/test/de_fuzz/corpus/corpus_1329 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_133 b/test/de_fuzz/corpus/corpus_133 deleted file mode 100644 index 8ff786561..000000000 Binary files a/test/de_fuzz/corpus/corpus_133 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1330 b/test/de_fuzz/corpus/corpus_1330 deleted file mode 100644 index 6964699a0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1330 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1331 b/test/de_fuzz/corpus/corpus_1331 deleted file mode 100644 index b9c991f91..000000000 Binary files a/test/de_fuzz/corpus/corpus_1331 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1332 b/test/de_fuzz/corpus/corpus_1332 deleted file mode 100644 index 85541fd7b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1332 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1333 b/test/de_fuzz/corpus/corpus_1333 deleted file mode 100644 index 907458cfd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1333 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1334 b/test/de_fuzz/corpus/corpus_1334 deleted file mode 100644 index a3acf6299..000000000 Binary files a/test/de_fuzz/corpus/corpus_1334 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1335 b/test/de_fuzz/corpus/corpus_1335 deleted file mode 100644 index adfacd147..000000000 Binary files a/test/de_fuzz/corpus/corpus_1335 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1336 b/test/de_fuzz/corpus/corpus_1336 deleted file mode 100644 index b1669c03f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1336 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1337 b/test/de_fuzz/corpus/corpus_1337 deleted file mode 100644 index 6df05f2c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1337 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1338 b/test/de_fuzz/corpus/corpus_1338 deleted file mode 100644 index 685e55f72..000000000 Binary files a/test/de_fuzz/corpus/corpus_1338 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1339 b/test/de_fuzz/corpus/corpus_1339 deleted file mode 100644 index 659886d54..000000000 Binary files a/test/de_fuzz/corpus/corpus_1339 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_134 b/test/de_fuzz/corpus/corpus_134 deleted file mode 100644 index 9c9eccbd6..000000000 Binary files a/test/de_fuzz/corpus/corpus_134 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1340 b/test/de_fuzz/corpus/corpus_1340 deleted file mode 100644 index 2517202ed..000000000 Binary files a/test/de_fuzz/corpus/corpus_1340 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1341 b/test/de_fuzz/corpus/corpus_1341 deleted file mode 100644 index c57351542..000000000 Binary files a/test/de_fuzz/corpus/corpus_1341 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1342 b/test/de_fuzz/corpus/corpus_1342 deleted file mode 100644 index c59dda305..000000000 Binary files a/test/de_fuzz/corpus/corpus_1342 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1343 b/test/de_fuzz/corpus/corpus_1343 deleted file mode 100644 index ec56b2251..000000000 Binary files a/test/de_fuzz/corpus/corpus_1343 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1344 b/test/de_fuzz/corpus/corpus_1344 deleted file mode 100644 index a11bc5051..000000000 Binary files a/test/de_fuzz/corpus/corpus_1344 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1345 b/test/de_fuzz/corpus/corpus_1345 deleted file mode 100644 index 2424e13ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_1345 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1346 b/test/de_fuzz/corpus/corpus_1346 deleted file mode 100644 index b04027abe..000000000 Binary files a/test/de_fuzz/corpus/corpus_1346 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1347 b/test/de_fuzz/corpus/corpus_1347 deleted file mode 100644 index 659bc224d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1347 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1348 b/test/de_fuzz/corpus/corpus_1348 deleted file mode 100644 index 3f7f822c3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1348 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1349 b/test/de_fuzz/corpus/corpus_1349 deleted file mode 100644 index 64be09991..000000000 Binary files a/test/de_fuzz/corpus/corpus_1349 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_135 b/test/de_fuzz/corpus/corpus_135 deleted file mode 100644 index 1134f662b..000000000 Binary files a/test/de_fuzz/corpus/corpus_135 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1350 b/test/de_fuzz/corpus/corpus_1350 deleted file mode 100644 index d1587754c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1350 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1351 b/test/de_fuzz/corpus/corpus_1351 deleted file mode 100644 index 84be78575..000000000 Binary files a/test/de_fuzz/corpus/corpus_1351 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1352 b/test/de_fuzz/corpus/corpus_1352 deleted file mode 100644 index 4cddb74e0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1352 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1353 b/test/de_fuzz/corpus/corpus_1353 deleted file mode 100644 index dac49f0a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1353 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1354 b/test/de_fuzz/corpus/corpus_1354 deleted file mode 100644 index 3edb41020..000000000 Binary files a/test/de_fuzz/corpus/corpus_1354 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1355 b/test/de_fuzz/corpus/corpus_1355 deleted file mode 100644 index 11fe1e79c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1355 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1356 b/test/de_fuzz/corpus/corpus_1356 deleted file mode 100644 index 42a5c454f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1356 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1357 b/test/de_fuzz/corpus/corpus_1357 deleted file mode 100644 index 9172ffbe7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1357 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1358 b/test/de_fuzz/corpus/corpus_1358 deleted file mode 100644 index 141b2f04f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1358 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1359 b/test/de_fuzz/corpus/corpus_1359 deleted file mode 100644 index 6bb8da9a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1359 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_136 b/test/de_fuzz/corpus/corpus_136 deleted file mode 100644 index d9855b5e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_136 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1360 b/test/de_fuzz/corpus/corpus_1360 deleted file mode 100644 index bdcad57f7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1360 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1361 b/test/de_fuzz/corpus/corpus_1361 deleted file mode 100644 index 915d6aa5f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1361 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1362 b/test/de_fuzz/corpus/corpus_1362 deleted file mode 100644 index d5999b633..000000000 Binary files a/test/de_fuzz/corpus/corpus_1362 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1363 b/test/de_fuzz/corpus/corpus_1363 deleted file mode 100644 index b46180a8a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1363 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1364 b/test/de_fuzz/corpus/corpus_1364 deleted file mode 100644 index d426a1f1d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1364 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1365 b/test/de_fuzz/corpus/corpus_1365 deleted file mode 100644 index 3594552d6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1365 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1366 b/test/de_fuzz/corpus/corpus_1366 deleted file mode 100644 index 11cc3688f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1366 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1367 b/test/de_fuzz/corpus/corpus_1367 deleted file mode 100644 index dd612e8bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1367 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1368 b/test/de_fuzz/corpus/corpus_1368 deleted file mode 100644 index 74db3a798..000000000 Binary files a/test/de_fuzz/corpus/corpus_1368 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1369 b/test/de_fuzz/corpus/corpus_1369 deleted file mode 100644 index f85891110..000000000 Binary files a/test/de_fuzz/corpus/corpus_1369 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_137 b/test/de_fuzz/corpus/corpus_137 deleted file mode 100644 index f4ddd5774..000000000 Binary files a/test/de_fuzz/corpus/corpus_137 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1370 b/test/de_fuzz/corpus/corpus_1370 deleted file mode 100644 index 7ad395658..000000000 Binary files a/test/de_fuzz/corpus/corpus_1370 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1371 b/test/de_fuzz/corpus/corpus_1371 deleted file mode 100644 index 70da2c05e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1371 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1372 b/test/de_fuzz/corpus/corpus_1372 deleted file mode 100644 index 9fb8ae8c0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1372 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1373 b/test/de_fuzz/corpus/corpus_1373 deleted file mode 100644 index 2ffb5127c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1373 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1374 b/test/de_fuzz/corpus/corpus_1374 deleted file mode 100644 index 1a03cef0b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1374 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1375 b/test/de_fuzz/corpus/corpus_1375 deleted file mode 100644 index 1642589b8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1375 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1376 b/test/de_fuzz/corpus/corpus_1376 deleted file mode 100644 index 3ba4cdfb6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1376 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1377 b/test/de_fuzz/corpus/corpus_1377 deleted file mode 100644 index f35b828ec..000000000 Binary files a/test/de_fuzz/corpus/corpus_1377 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1378 b/test/de_fuzz/corpus/corpus_1378 deleted file mode 100644 index aa994ccd8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1378 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1379 b/test/de_fuzz/corpus/corpus_1379 deleted file mode 100644 index 88806fedd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1379 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_138 b/test/de_fuzz/corpus/corpus_138 deleted file mode 100644 index 48080bce4..000000000 Binary files a/test/de_fuzz/corpus/corpus_138 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1380 b/test/de_fuzz/corpus/corpus_1380 deleted file mode 100644 index bb437e2d2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1380 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1381 b/test/de_fuzz/corpus/corpus_1381 deleted file mode 100644 index 2bcb1fb29..000000000 Binary files a/test/de_fuzz/corpus/corpus_1381 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1382 b/test/de_fuzz/corpus/corpus_1382 deleted file mode 100644 index 0f08c0b49..000000000 Binary files a/test/de_fuzz/corpus/corpus_1382 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1383 b/test/de_fuzz/corpus/corpus_1383 deleted file mode 100644 index e3ddd1106..000000000 Binary files a/test/de_fuzz/corpus/corpus_1383 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1384 b/test/de_fuzz/corpus/corpus_1384 deleted file mode 100644 index 2c5bfc2b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1384 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1385 b/test/de_fuzz/corpus/corpus_1385 deleted file mode 100644 index 47236fc8f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1385 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1386 b/test/de_fuzz/corpus/corpus_1386 deleted file mode 100644 index e275b7338..000000000 Binary files a/test/de_fuzz/corpus/corpus_1386 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1387 b/test/de_fuzz/corpus/corpus_1387 deleted file mode 100644 index a3a0f4033..000000000 Binary files a/test/de_fuzz/corpus/corpus_1387 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1388 b/test/de_fuzz/corpus/corpus_1388 deleted file mode 100644 index e93da26f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1388 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1389 b/test/de_fuzz/corpus/corpus_1389 deleted file mode 100644 index f532b5b23..000000000 Binary files a/test/de_fuzz/corpus/corpus_1389 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_139 b/test/de_fuzz/corpus/corpus_139 deleted file mode 100644 index 55b01347f..000000000 Binary files a/test/de_fuzz/corpus/corpus_139 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1390 b/test/de_fuzz/corpus/corpus_1390 deleted file mode 100644 index d84f5958d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1390 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1391 b/test/de_fuzz/corpus/corpus_1391 deleted file mode 100644 index 2c6fad1ab..000000000 Binary files a/test/de_fuzz/corpus/corpus_1391 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1392 b/test/de_fuzz/corpus/corpus_1392 deleted file mode 100644 index 966a0cec0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1392 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1393 b/test/de_fuzz/corpus/corpus_1393 deleted file mode 100644 index 4279a8198..000000000 Binary files a/test/de_fuzz/corpus/corpus_1393 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1394 b/test/de_fuzz/corpus/corpus_1394 deleted file mode 100644 index ac89071b6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1394 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1395 b/test/de_fuzz/corpus/corpus_1395 deleted file mode 100644 index 72afbc90a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1395 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1396 b/test/de_fuzz/corpus/corpus_1396 deleted file mode 100644 index a37c35bc3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1396 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1397 b/test/de_fuzz/corpus/corpus_1397 deleted file mode 100644 index 3e432e77b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1397 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1398 b/test/de_fuzz/corpus/corpus_1398 deleted file mode 100644 index 2998ada17..000000000 Binary files a/test/de_fuzz/corpus/corpus_1398 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1399 b/test/de_fuzz/corpus/corpus_1399 deleted file mode 100644 index 0837a5f85..000000000 Binary files a/test/de_fuzz/corpus/corpus_1399 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_14 b/test/de_fuzz/corpus/corpus_14 deleted file mode 100644 index c36ec4a1d..000000000 --- a/test/de_fuzz/corpus/corpus_14 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_140 b/test/de_fuzz/corpus/corpus_140 deleted file mode 100644 index 3da4dbc13..000000000 Binary files a/test/de_fuzz/corpus/corpus_140 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1400 b/test/de_fuzz/corpus/corpus_1400 deleted file mode 100644 index 7b881f15f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1400 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1401 b/test/de_fuzz/corpus/corpus_1401 deleted file mode 100644 index 91ab50925..000000000 Binary files a/test/de_fuzz/corpus/corpus_1401 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1402 b/test/de_fuzz/corpus/corpus_1402 deleted file mode 100644 index 8cb4371b6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1402 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1403 b/test/de_fuzz/corpus/corpus_1403 deleted file mode 100644 index 6e82dd050..000000000 Binary files a/test/de_fuzz/corpus/corpus_1403 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1404 b/test/de_fuzz/corpus/corpus_1404 deleted file mode 100644 index fc2b7253c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1404 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1405 b/test/de_fuzz/corpus/corpus_1405 deleted file mode 100644 index 343e429de..000000000 Binary files a/test/de_fuzz/corpus/corpus_1405 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1406 b/test/de_fuzz/corpus/corpus_1406 deleted file mode 100644 index b6df6793f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1406 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1407 b/test/de_fuzz/corpus/corpus_1407 deleted file mode 100644 index f17f4c6f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1407 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1408 b/test/de_fuzz/corpus/corpus_1408 deleted file mode 100644 index a2306a88b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1408 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1409 b/test/de_fuzz/corpus/corpus_1409 deleted file mode 100644 index 06e361599..000000000 Binary files a/test/de_fuzz/corpus/corpus_1409 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_141 b/test/de_fuzz/corpus/corpus_141 deleted file mode 100644 index eec6449c6..000000000 Binary files a/test/de_fuzz/corpus/corpus_141 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1410 b/test/de_fuzz/corpus/corpus_1410 deleted file mode 100644 index 5e208b02f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1410 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1411 b/test/de_fuzz/corpus/corpus_1411 deleted file mode 100644 index 725e6d957..000000000 Binary files a/test/de_fuzz/corpus/corpus_1411 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1412 b/test/de_fuzz/corpus/corpus_1412 deleted file mode 100644 index 17d795806..000000000 Binary files a/test/de_fuzz/corpus/corpus_1412 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1413 b/test/de_fuzz/corpus/corpus_1413 deleted file mode 100644 index 8b39f74bd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1413 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1414 b/test/de_fuzz/corpus/corpus_1414 deleted file mode 100644 index 14f825828..000000000 Binary files a/test/de_fuzz/corpus/corpus_1414 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1415 b/test/de_fuzz/corpus/corpus_1415 deleted file mode 100644 index 4094929a4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1415 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1416 b/test/de_fuzz/corpus/corpus_1416 deleted file mode 100644 index 7af2866c3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1416 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1417 b/test/de_fuzz/corpus/corpus_1417 deleted file mode 100644 index 262df8f3c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1417 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1418 b/test/de_fuzz/corpus/corpus_1418 deleted file mode 100644 index 286c932a8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1418 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1419 b/test/de_fuzz/corpus/corpus_1419 deleted file mode 100644 index 7cd0a5c75..000000000 Binary files a/test/de_fuzz/corpus/corpus_1419 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_142 b/test/de_fuzz/corpus/corpus_142 deleted file mode 100644 index 549d6ee97..000000000 Binary files a/test/de_fuzz/corpus/corpus_142 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1420 b/test/de_fuzz/corpus/corpus_1420 deleted file mode 100644 index c5410149e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1420 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1421 b/test/de_fuzz/corpus/corpus_1421 deleted file mode 100644 index 28d865db2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1421 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1422 b/test/de_fuzz/corpus/corpus_1422 deleted file mode 100644 index b11cf4af9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1422 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1423 b/test/de_fuzz/corpus/corpus_1423 deleted file mode 100644 index 93e20ea9a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1423 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1424 b/test/de_fuzz/corpus/corpus_1424 deleted file mode 100644 index 28d93bdaa..000000000 Binary files a/test/de_fuzz/corpus/corpus_1424 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1425 b/test/de_fuzz/corpus/corpus_1425 deleted file mode 100644 index a5825627d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1425 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1426 b/test/de_fuzz/corpus/corpus_1426 deleted file mode 100644 index b7b665e17..000000000 Binary files a/test/de_fuzz/corpus/corpus_1426 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1427 b/test/de_fuzz/corpus/corpus_1427 deleted file mode 100644 index c1add3c48..000000000 Binary files a/test/de_fuzz/corpus/corpus_1427 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1428 b/test/de_fuzz/corpus/corpus_1428 deleted file mode 100644 index 404f54013..000000000 Binary files a/test/de_fuzz/corpus/corpus_1428 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1429 b/test/de_fuzz/corpus/corpus_1429 deleted file mode 100644 index 7f57defdb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1429 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_143 b/test/de_fuzz/corpus/corpus_143 deleted file mode 100644 index 380ec96a5..000000000 Binary files a/test/de_fuzz/corpus/corpus_143 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1430 b/test/de_fuzz/corpus/corpus_1430 deleted file mode 100644 index 1ba4dfdc5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1430 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1431 b/test/de_fuzz/corpus/corpus_1431 deleted file mode 100644 index 47fac1e87..000000000 Binary files a/test/de_fuzz/corpus/corpus_1431 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1432 b/test/de_fuzz/corpus/corpus_1432 deleted file mode 100644 index 931b53df3..000000000 Binary files a/test/de_fuzz/corpus/corpus_1432 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1433 b/test/de_fuzz/corpus/corpus_1433 deleted file mode 100644 index 36de00d50..000000000 Binary files a/test/de_fuzz/corpus/corpus_1433 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1434 b/test/de_fuzz/corpus/corpus_1434 deleted file mode 100644 index a2d9d99b5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1434 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1435 b/test/de_fuzz/corpus/corpus_1435 deleted file mode 100644 index a5ff6783d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1435 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1436 b/test/de_fuzz/corpus/corpus_1436 deleted file mode 100644 index ffb15be19..000000000 Binary files a/test/de_fuzz/corpus/corpus_1436 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1437 b/test/de_fuzz/corpus/corpus_1437 deleted file mode 100644 index e012c9249..000000000 Binary files a/test/de_fuzz/corpus/corpus_1437 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1438 b/test/de_fuzz/corpus/corpus_1438 deleted file mode 100644 index 248422b4d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1438 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1439 b/test/de_fuzz/corpus/corpus_1439 deleted file mode 100644 index e0c8e3d08..000000000 Binary files a/test/de_fuzz/corpus/corpus_1439 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_144 b/test/de_fuzz/corpus/corpus_144 deleted file mode 100644 index eb9f2709b..000000000 Binary files a/test/de_fuzz/corpus/corpus_144 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1440 b/test/de_fuzz/corpus/corpus_1440 deleted file mode 100644 index 1aa5acbc5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1440 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1441 b/test/de_fuzz/corpus/corpus_1441 deleted file mode 100644 index ffcd076c0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1441 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1442 b/test/de_fuzz/corpus/corpus_1442 deleted file mode 100644 index 2f48bd57c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1442 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1443 b/test/de_fuzz/corpus/corpus_1443 deleted file mode 100644 index 157f1f356..000000000 Binary files a/test/de_fuzz/corpus/corpus_1443 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1444 b/test/de_fuzz/corpus/corpus_1444 deleted file mode 100644 index 92d1d6a7d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1444 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1445 b/test/de_fuzz/corpus/corpus_1445 deleted file mode 100644 index 144fafaa7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1445 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1446 b/test/de_fuzz/corpus/corpus_1446 deleted file mode 100644 index c44c37599..000000000 Binary files a/test/de_fuzz/corpus/corpus_1446 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1447 b/test/de_fuzz/corpus/corpus_1447 deleted file mode 100644 index de33936d5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1447 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1448 b/test/de_fuzz/corpus/corpus_1448 deleted file mode 100644 index 3a7afe6cc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1448 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1449 b/test/de_fuzz/corpus/corpus_1449 deleted file mode 100644 index ea4e326d1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1449 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_145 b/test/de_fuzz/corpus/corpus_145 deleted file mode 100644 index 1683bad6b..000000000 Binary files a/test/de_fuzz/corpus/corpus_145 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1450 b/test/de_fuzz/corpus/corpus_1450 deleted file mode 100644 index 4da317678..000000000 Binary files a/test/de_fuzz/corpus/corpus_1450 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1451 b/test/de_fuzz/corpus/corpus_1451 deleted file mode 100644 index 18634ca18..000000000 Binary files a/test/de_fuzz/corpus/corpus_1451 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1452 b/test/de_fuzz/corpus/corpus_1452 deleted file mode 100644 index b773de7a4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1452 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1453 b/test/de_fuzz/corpus/corpus_1453 deleted file mode 100644 index 18e2278da..000000000 Binary files a/test/de_fuzz/corpus/corpus_1453 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1454 b/test/de_fuzz/corpus/corpus_1454 deleted file mode 100644 index 68bdc06c4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1454 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1455 b/test/de_fuzz/corpus/corpus_1455 deleted file mode 100644 index b31c1c03d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1455 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1456 b/test/de_fuzz/corpus/corpus_1456 deleted file mode 100644 index 1afffc7d9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1456 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1457 b/test/de_fuzz/corpus/corpus_1457 deleted file mode 100644 index aeb047988..000000000 Binary files a/test/de_fuzz/corpus/corpus_1457 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1458 b/test/de_fuzz/corpus/corpus_1458 deleted file mode 100644 index bff55a214..000000000 Binary files a/test/de_fuzz/corpus/corpus_1458 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1459 b/test/de_fuzz/corpus/corpus_1459 deleted file mode 100644 index e131688d9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1459 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_146 b/test/de_fuzz/corpus/corpus_146 deleted file mode 100644 index 1781937b5..000000000 Binary files a/test/de_fuzz/corpus/corpus_146 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1460 b/test/de_fuzz/corpus/corpus_1460 deleted file mode 100644 index f5ad12dc5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1460 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1461 b/test/de_fuzz/corpus/corpus_1461 deleted file mode 100644 index f8a12fd84..000000000 Binary files a/test/de_fuzz/corpus/corpus_1461 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1462 b/test/de_fuzz/corpus/corpus_1462 deleted file mode 100644 index 316729474..000000000 Binary files a/test/de_fuzz/corpus/corpus_1462 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1463 b/test/de_fuzz/corpus/corpus_1463 deleted file mode 100644 index aa0922012..000000000 Binary files a/test/de_fuzz/corpus/corpus_1463 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1464 b/test/de_fuzz/corpus/corpus_1464 deleted file mode 100644 index 924f87735..000000000 Binary files a/test/de_fuzz/corpus/corpus_1464 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1465 b/test/de_fuzz/corpus/corpus_1465 deleted file mode 100644 index 3057d6329..000000000 Binary files a/test/de_fuzz/corpus/corpus_1465 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1466 b/test/de_fuzz/corpus/corpus_1466 deleted file mode 100644 index 86724370b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1466 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1467 b/test/de_fuzz/corpus/corpus_1467 deleted file mode 100644 index f17ab08ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_1467 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1468 b/test/de_fuzz/corpus/corpus_1468 deleted file mode 100644 index 0f600b489..000000000 Binary files a/test/de_fuzz/corpus/corpus_1468 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1469 b/test/de_fuzz/corpus/corpus_1469 deleted file mode 100644 index 4831f2c89..000000000 Binary files a/test/de_fuzz/corpus/corpus_1469 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_147 b/test/de_fuzz/corpus/corpus_147 deleted file mode 100644 index 4ccd02bbb..000000000 Binary files a/test/de_fuzz/corpus/corpus_147 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1470 b/test/de_fuzz/corpus/corpus_1470 deleted file mode 100644 index a7ab8b0d9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1470 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1471 b/test/de_fuzz/corpus/corpus_1471 deleted file mode 100644 index b8ca02921..000000000 Binary files a/test/de_fuzz/corpus/corpus_1471 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1472 b/test/de_fuzz/corpus/corpus_1472 deleted file mode 100644 index a6e06e64f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1472 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1473 b/test/de_fuzz/corpus/corpus_1473 deleted file mode 100644 index ee4963f33..000000000 Binary files a/test/de_fuzz/corpus/corpus_1473 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1474 b/test/de_fuzz/corpus/corpus_1474 deleted file mode 100644 index 29ec60b30..000000000 Binary files a/test/de_fuzz/corpus/corpus_1474 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1475 b/test/de_fuzz/corpus/corpus_1475 deleted file mode 100644 index cdf9ccd98..000000000 Binary files a/test/de_fuzz/corpus/corpus_1475 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1476 b/test/de_fuzz/corpus/corpus_1476 deleted file mode 100644 index 53a3204d7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1476 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1477 b/test/de_fuzz/corpus/corpus_1477 deleted file mode 100644 index c0628e69f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1477 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1478 b/test/de_fuzz/corpus/corpus_1478 deleted file mode 100644 index a97ae7f6b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1478 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1479 b/test/de_fuzz/corpus/corpus_1479 deleted file mode 100644 index 03e1acd1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1479 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_148 b/test/de_fuzz/corpus/corpus_148 deleted file mode 100644 index 247e961a9..000000000 Binary files a/test/de_fuzz/corpus/corpus_148 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1480 b/test/de_fuzz/corpus/corpus_1480 deleted file mode 100644 index 839ecdf46..000000000 Binary files a/test/de_fuzz/corpus/corpus_1480 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1481 b/test/de_fuzz/corpus/corpus_1481 deleted file mode 100644 index 85b85aab1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1481 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1482 b/test/de_fuzz/corpus/corpus_1482 deleted file mode 100644 index 0efbc228a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1482 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1483 b/test/de_fuzz/corpus/corpus_1483 deleted file mode 100644 index afd94df3b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1483 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1484 b/test/de_fuzz/corpus/corpus_1484 deleted file mode 100644 index 019fc6b54..000000000 Binary files a/test/de_fuzz/corpus/corpus_1484 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1485 b/test/de_fuzz/corpus/corpus_1485 deleted file mode 100644 index 81d1a01ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1485 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1486 b/test/de_fuzz/corpus/corpus_1486 deleted file mode 100644 index 6936e389f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1486 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1487 b/test/de_fuzz/corpus/corpus_1487 deleted file mode 100644 index 5aa3a2d5d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1487 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1488 b/test/de_fuzz/corpus/corpus_1488 deleted file mode 100644 index e480a6656..000000000 Binary files a/test/de_fuzz/corpus/corpus_1488 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1489 b/test/de_fuzz/corpus/corpus_1489 deleted file mode 100644 index f544b10da..000000000 Binary files a/test/de_fuzz/corpus/corpus_1489 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_149 b/test/de_fuzz/corpus/corpus_149 deleted file mode 100644 index dccbac365..000000000 Binary files a/test/de_fuzz/corpus/corpus_149 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1490 b/test/de_fuzz/corpus/corpus_1490 deleted file mode 100644 index c010344bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1490 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1491 b/test/de_fuzz/corpus/corpus_1491 deleted file mode 100644 index 68466c445..000000000 Binary files a/test/de_fuzz/corpus/corpus_1491 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1492 b/test/de_fuzz/corpus/corpus_1492 deleted file mode 100644 index d33abca13..000000000 Binary files a/test/de_fuzz/corpus/corpus_1492 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1493 b/test/de_fuzz/corpus/corpus_1493 deleted file mode 100644 index 129a53d1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1493 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1494 b/test/de_fuzz/corpus/corpus_1494 deleted file mode 100644 index 47839988e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1494 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1495 b/test/de_fuzz/corpus/corpus_1495 deleted file mode 100644 index 8f143e213..000000000 Binary files a/test/de_fuzz/corpus/corpus_1495 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1496 b/test/de_fuzz/corpus/corpus_1496 deleted file mode 100644 index b80aca5a5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1496 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1497 b/test/de_fuzz/corpus/corpus_1497 deleted file mode 100644 index 866cb696a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1497 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1498 b/test/de_fuzz/corpus/corpus_1498 deleted file mode 100644 index 1901bdc7b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1498 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1499 b/test/de_fuzz/corpus/corpus_1499 deleted file mode 100644 index 23a2586c5..000000000 Binary files a/test/de_fuzz/corpus/corpus_1499 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_15 b/test/de_fuzz/corpus/corpus_15 deleted file mode 100644 index aaf19329f..000000000 --- a/test/de_fuzz/corpus/corpus_15 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - -A missing angle @,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - -A. Other (a comment) \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_160 b/test/de_fuzz/corpus/corpus_160 deleted file mode 100644 index 358a9f790..000000000 Binary files a/test/de_fuzz/corpus/corpus_160 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1600 b/test/de_fuzz/corpus/corpus_1600 deleted file mode 100644 index 84ddd9e93..000000000 Binary files a/test/de_fuzz/corpus/corpus_1600 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1601 b/test/de_fuzz/corpus/corpus_1601 deleted file mode 100644 index 141295cd7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1601 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1602 b/test/de_fuzz/corpus/corpus_1602 deleted file mode 100644 index 0b692962b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1602 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1603 b/test/de_fuzz/corpus/corpus_1603 deleted file mode 100644 index d3893024d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1603 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1604 b/test/de_fuzz/corpus/corpus_1604 deleted file mode 100644 index d6a0e6497..000000000 Binary files a/test/de_fuzz/corpus/corpus_1604 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1605 b/test/de_fuzz/corpus/corpus_1605 deleted file mode 100644 index f2c67e557..000000000 Binary files a/test/de_fuzz/corpus/corpus_1605 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1606 b/test/de_fuzz/corpus/corpus_1606 deleted file mode 100644 index dd57d4581..000000000 Binary files a/test/de_fuzz/corpus/corpus_1606 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1607 b/test/de_fuzz/corpus/corpus_1607 deleted file mode 100644 index b87d7b1b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1607 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1608 b/test/de_fuzz/corpus/corpus_1608 deleted file mode 100644 index 4e5dbbae9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1608 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1609 b/test/de_fuzz/corpus/corpus_1609 deleted file mode 100644 index e9d3df8b9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1609 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_161 b/test/de_fuzz/corpus/corpus_161 deleted file mode 100644 index e09f4372c..000000000 Binary files a/test/de_fuzz/corpus/corpus_161 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1610 b/test/de_fuzz/corpus/corpus_1610 deleted file mode 100644 index d21520cc4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1610 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1611 b/test/de_fuzz/corpus/corpus_1611 deleted file mode 100644 index 4046212ce..000000000 Binary files a/test/de_fuzz/corpus/corpus_1611 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1612 b/test/de_fuzz/corpus/corpus_1612 deleted file mode 100644 index 7adc90411..000000000 Binary files a/test/de_fuzz/corpus/corpus_1612 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1613 b/test/de_fuzz/corpus/corpus_1613 deleted file mode 100644 index b351c0524..000000000 Binary files a/test/de_fuzz/corpus/corpus_1613 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1614 b/test/de_fuzz/corpus/corpus_1614 deleted file mode 100644 index 7fc3ba40f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1614 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1615 b/test/de_fuzz/corpus/corpus_1615 deleted file mode 100644 index 613994424..000000000 Binary files a/test/de_fuzz/corpus/corpus_1615 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1616 b/test/de_fuzz/corpus/corpus_1616 deleted file mode 100644 index 144df5e20..000000000 Binary files a/test/de_fuzz/corpus/corpus_1616 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1617 b/test/de_fuzz/corpus/corpus_1617 deleted file mode 100644 index 7b7742b62..000000000 Binary files a/test/de_fuzz/corpus/corpus_1617 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1618 b/test/de_fuzz/corpus/corpus_1618 deleted file mode 100644 index 85f835655..000000000 Binary files a/test/de_fuzz/corpus/corpus_1618 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1619 b/test/de_fuzz/corpus/corpus_1619 deleted file mode 100644 index b551c15cf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1619 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_162 b/test/de_fuzz/corpus/corpus_162 deleted file mode 100644 index 7b86c9149..000000000 Binary files a/test/de_fuzz/corpus/corpus_162 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1620 b/test/de_fuzz/corpus/corpus_1620 deleted file mode 100644 index 1d37d72c9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1620 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1621 b/test/de_fuzz/corpus/corpus_1621 deleted file mode 100644 index fa91dda50..000000000 Binary files a/test/de_fuzz/corpus/corpus_1621 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1622 b/test/de_fuzz/corpus/corpus_1622 deleted file mode 100644 index 241c90e45..000000000 Binary files a/test/de_fuzz/corpus/corpus_1622 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1623 b/test/de_fuzz/corpus/corpus_1623 deleted file mode 100644 index 9788c22b6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1623 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1624 b/test/de_fuzz/corpus/corpus_1624 deleted file mode 100644 index c145a85e9..000000000 Binary files a/test/de_fuzz/corpus/corpus_1624 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1625 b/test/de_fuzz/corpus/corpus_1625 deleted file mode 100644 index 759099cfb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1625 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1626 b/test/de_fuzz/corpus/corpus_1626 deleted file mode 100644 index a933ede6d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1626 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1627 b/test/de_fuzz/corpus/corpus_1627 deleted file mode 100644 index bc63dc870..000000000 Binary files a/test/de_fuzz/corpus/corpus_1627 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1628 b/test/de_fuzz/corpus/corpus_1628 deleted file mode 100644 index 12702e7f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1628 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1629 b/test/de_fuzz/corpus/corpus_1629 deleted file mode 100644 index 927db6f78..000000000 Binary files a/test/de_fuzz/corpus/corpus_1629 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_163 b/test/de_fuzz/corpus/corpus_163 deleted file mode 100644 index b33d2d359..000000000 Binary files a/test/de_fuzz/corpus/corpus_163 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1630 b/test/de_fuzz/corpus/corpus_1630 deleted file mode 100644 index 14ca2d4fe..000000000 Binary files a/test/de_fuzz/corpus/corpus_1630 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1631 b/test/de_fuzz/corpus/corpus_1631 deleted file mode 100644 index 4fa43cd2d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1631 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1632 b/test/de_fuzz/corpus/corpus_1632 deleted file mode 100644 index 76950e301..000000000 Binary files a/test/de_fuzz/corpus/corpus_1632 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1633 b/test/de_fuzz/corpus/corpus_1633 deleted file mode 100644 index 34b332d8f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1633 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1634 b/test/de_fuzz/corpus/corpus_1634 deleted file mode 100644 index b51324558..000000000 Binary files a/test/de_fuzz/corpus/corpus_1634 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1635 b/test/de_fuzz/corpus/corpus_1635 deleted file mode 100644 index 6714a4876..000000000 Binary files a/test/de_fuzz/corpus/corpus_1635 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1636 b/test/de_fuzz/corpus/corpus_1636 deleted file mode 100644 index 3ac34b85d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1636 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1637 b/test/de_fuzz/corpus/corpus_1637 deleted file mode 100644 index ad5727ce6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1637 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1638 b/test/de_fuzz/corpus/corpus_1638 deleted file mode 100644 index 56ffb487f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1638 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1639 b/test/de_fuzz/corpus/corpus_1639 deleted file mode 100644 index 2012ca45e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1639 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_164 b/test/de_fuzz/corpus/corpus_164 deleted file mode 100644 index b3f21e128..000000000 Binary files a/test/de_fuzz/corpus/corpus_164 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1640 b/test/de_fuzz/corpus/corpus_1640 deleted file mode 100644 index 0cbbc9021..000000000 Binary files a/test/de_fuzz/corpus/corpus_1640 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1641 b/test/de_fuzz/corpus/corpus_1641 deleted file mode 100644 index d0d954eb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_1641 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1642 b/test/de_fuzz/corpus/corpus_1642 deleted file mode 100644 index 7bbf06489..000000000 Binary files a/test/de_fuzz/corpus/corpus_1642 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1643 b/test/de_fuzz/corpus/corpus_1643 deleted file mode 100644 index aeeb2a765..000000000 Binary files a/test/de_fuzz/corpus/corpus_1643 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1644 b/test/de_fuzz/corpus/corpus_1644 deleted file mode 100644 index 43f8218bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1644 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1645 b/test/de_fuzz/corpus/corpus_1645 deleted file mode 100644 index 2acdf4102..000000000 Binary files a/test/de_fuzz/corpus/corpus_1645 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1646 b/test/de_fuzz/corpus/corpus_1646 deleted file mode 100644 index 444739a3a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1646 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1647 b/test/de_fuzz/corpus/corpus_1647 deleted file mode 100644 index c1d5f6639..000000000 Binary files a/test/de_fuzz/corpus/corpus_1647 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1648 b/test/de_fuzz/corpus/corpus_1648 deleted file mode 100644 index a7f8944ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1648 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1649 b/test/de_fuzz/corpus/corpus_1649 deleted file mode 100644 index e8ed97639..000000000 Binary files a/test/de_fuzz/corpus/corpus_1649 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_165 b/test/de_fuzz/corpus/corpus_165 deleted file mode 100644 index 450308d17..000000000 Binary files a/test/de_fuzz/corpus/corpus_165 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1650 b/test/de_fuzz/corpus/corpus_1650 deleted file mode 100644 index 3303fb26c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1650 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1651 b/test/de_fuzz/corpus/corpus_1651 deleted file mode 100644 index 3224a14fa..000000000 Binary files a/test/de_fuzz/corpus/corpus_1651 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1652 b/test/de_fuzz/corpus/corpus_1652 deleted file mode 100644 index c64e85b6f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1652 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1653 b/test/de_fuzz/corpus/corpus_1653 deleted file mode 100644 index 3c5cc3b34..000000000 Binary files a/test/de_fuzz/corpus/corpus_1653 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1654 b/test/de_fuzz/corpus/corpus_1654 deleted file mode 100644 index ee759ea23..000000000 Binary files a/test/de_fuzz/corpus/corpus_1654 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1655 b/test/de_fuzz/corpus/corpus_1655 deleted file mode 100644 index 7fd783d73..000000000 Binary files a/test/de_fuzz/corpus/corpus_1655 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1656 b/test/de_fuzz/corpus/corpus_1656 deleted file mode 100644 index b2ecc705a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1656 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1657 b/test/de_fuzz/corpus/corpus_1657 deleted file mode 100644 index ad4a28fa2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1657 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1658 b/test/de_fuzz/corpus/corpus_1658 deleted file mode 100644 index b6e45f9cd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1658 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1659 b/test/de_fuzz/corpus/corpus_1659 deleted file mode 100644 index 10e90d39a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1659 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_166 b/test/de_fuzz/corpus/corpus_166 deleted file mode 100644 index 5acc9b65f..000000000 Binary files a/test/de_fuzz/corpus/corpus_166 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1660 b/test/de_fuzz/corpus/corpus_1660 deleted file mode 100644 index 277b64857..000000000 Binary files a/test/de_fuzz/corpus/corpus_1660 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1661 b/test/de_fuzz/corpus/corpus_1661 deleted file mode 100644 index ebcb12c36..000000000 Binary files a/test/de_fuzz/corpus/corpus_1661 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1662 b/test/de_fuzz/corpus/corpus_1662 deleted file mode 100644 index e5fdc27ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_1662 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1663 b/test/de_fuzz/corpus/corpus_1663 deleted file mode 100644 index 741cab7cb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1663 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1664 b/test/de_fuzz/corpus/corpus_1664 deleted file mode 100644 index 8d08ac10d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1664 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1665 b/test/de_fuzz/corpus/corpus_1665 deleted file mode 100644 index 1e9a5c7bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1665 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1666 b/test/de_fuzz/corpus/corpus_1666 deleted file mode 100644 index 171ed770d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1666 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1667 b/test/de_fuzz/corpus/corpus_1667 deleted file mode 100644 index 521cdfb0a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1667 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1668 b/test/de_fuzz/corpus/corpus_1668 deleted file mode 100644 index e5bb54b7f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1668 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1669 b/test/de_fuzz/corpus/corpus_1669 deleted file mode 100644 index a4172fec6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1669 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_167 b/test/de_fuzz/corpus/corpus_167 deleted file mode 100644 index 89f6a1864..000000000 Binary files a/test/de_fuzz/corpus/corpus_167 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1670 b/test/de_fuzz/corpus/corpus_1670 deleted file mode 100644 index 53fd3acdb..000000000 Binary files a/test/de_fuzz/corpus/corpus_1670 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1671 b/test/de_fuzz/corpus/corpus_1671 deleted file mode 100644 index 6fe2db5bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1671 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1672 b/test/de_fuzz/corpus/corpus_1672 deleted file mode 100644 index a0b028ea0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1672 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1673 b/test/de_fuzz/corpus/corpus_1673 deleted file mode 100644 index 989a77ed7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1673 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1674 b/test/de_fuzz/corpus/corpus_1674 deleted file mode 100644 index 3a5bd2761..000000000 Binary files a/test/de_fuzz/corpus/corpus_1674 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1675 b/test/de_fuzz/corpus/corpus_1675 deleted file mode 100644 index 604c565f2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1675 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1676 b/test/de_fuzz/corpus/corpus_1676 deleted file mode 100644 index 2b672b328..000000000 Binary files a/test/de_fuzz/corpus/corpus_1676 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1677 b/test/de_fuzz/corpus/corpus_1677 deleted file mode 100644 index 4f885241a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1677 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1678 b/test/de_fuzz/corpus/corpus_1678 deleted file mode 100644 index 2a2b799d6..000000000 Binary files a/test/de_fuzz/corpus/corpus_1678 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1679 b/test/de_fuzz/corpus/corpus_1679 deleted file mode 100644 index 03a666a2b..000000000 Binary files a/test/de_fuzz/corpus/corpus_1679 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_168 b/test/de_fuzz/corpus/corpus_168 deleted file mode 100644 index fa6ae3332..000000000 Binary files a/test/de_fuzz/corpus/corpus_168 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1680 b/test/de_fuzz/corpus/corpus_1680 deleted file mode 100644 index c9ac373b2..000000000 Binary files a/test/de_fuzz/corpus/corpus_1680 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1681 b/test/de_fuzz/corpus/corpus_1681 deleted file mode 100644 index 816afc532..000000000 Binary files a/test/de_fuzz/corpus/corpus_1681 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1682 b/test/de_fuzz/corpus/corpus_1682 deleted file mode 100644 index 555ed4c9c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1682 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1683 b/test/de_fuzz/corpus/corpus_1683 deleted file mode 100644 index 8684d7124..000000000 Binary files a/test/de_fuzz/corpus/corpus_1683 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1684 b/test/de_fuzz/corpus/corpus_1684 deleted file mode 100644 index 83c668d57..000000000 Binary files a/test/de_fuzz/corpus/corpus_1684 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1685 b/test/de_fuzz/corpus/corpus_1685 deleted file mode 100644 index 872d310bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_1685 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1686 b/test/de_fuzz/corpus/corpus_1686 deleted file mode 100644 index e1cebe165..000000000 Binary files a/test/de_fuzz/corpus/corpus_1686 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1687 b/test/de_fuzz/corpus/corpus_1687 deleted file mode 100644 index a35707413..000000000 Binary files a/test/de_fuzz/corpus/corpus_1687 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1688 b/test/de_fuzz/corpus/corpus_1688 deleted file mode 100644 index 63daa05a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_1688 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1689 b/test/de_fuzz/corpus/corpus_1689 deleted file mode 100644 index 547933f5f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1689 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_169 b/test/de_fuzz/corpus/corpus_169 deleted file mode 100644 index 2afc1b93d..000000000 Binary files a/test/de_fuzz/corpus/corpus_169 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1690 b/test/de_fuzz/corpus/corpus_1690 deleted file mode 100644 index 944141e19..000000000 Binary files a/test/de_fuzz/corpus/corpus_1690 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1691 b/test/de_fuzz/corpus/corpus_1691 deleted file mode 100644 index cbc22df55..000000000 Binary files a/test/de_fuzz/corpus/corpus_1691 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1692 b/test/de_fuzz/corpus/corpus_1692 deleted file mode 100644 index b1b9325f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1692 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1693 b/test/de_fuzz/corpus/corpus_1693 deleted file mode 100644 index d5edba58d..000000000 Binary files a/test/de_fuzz/corpus/corpus_1693 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1694 b/test/de_fuzz/corpus/corpus_1694 deleted file mode 100644 index a360da7b4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1694 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1695 b/test/de_fuzz/corpus/corpus_1695 deleted file mode 100644 index eb7944d77..000000000 Binary files a/test/de_fuzz/corpus/corpus_1695 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1696 b/test/de_fuzz/corpus/corpus_1696 deleted file mode 100644 index 4d910723e..000000000 Binary files a/test/de_fuzz/corpus/corpus_1696 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1697 b/test/de_fuzz/corpus/corpus_1697 deleted file mode 100644 index 549bd302a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1697 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1698 b/test/de_fuzz/corpus/corpus_1698 deleted file mode 100644 index a88ebe3b4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1698 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1699 b/test/de_fuzz/corpus/corpus_1699 deleted file mode 100644 index 90eb1ac0c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1699 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_17 b/test/de_fuzz/corpus/corpus_17 deleted file mode 100644 index c1fbbca40..000000000 --- a/test/de_fuzz/corpus/corpus_17 +++ /dev/null @@ -1,193 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - -Alan Other \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_170 b/test/de_fuzz/corpus/corpus_170 deleted file mode 100644 index b053df526..000000000 Binary files a/test/de_fuzz/corpus/corpus_170 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1700 b/test/de_fuzz/corpus/corpus_1700 deleted file mode 100644 index a397988be..000000000 Binary files a/test/de_fuzz/corpus/corpus_1700 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1701 b/test/de_fuzz/corpus/corpus_1701 deleted file mode 100644 index afaaf8951..000000000 Binary files a/test/de_fuzz/corpus/corpus_1701 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1702 b/test/de_fuzz/corpus/corpus_1702 deleted file mode 100644 index 8ad521c60..000000000 Binary files a/test/de_fuzz/corpus/corpus_1702 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1703 b/test/de_fuzz/corpus/corpus_1703 deleted file mode 100644 index 28c86af42..000000000 Binary files a/test/de_fuzz/corpus/corpus_1703 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1704 b/test/de_fuzz/corpus/corpus_1704 deleted file mode 100644 index a28a67136..000000000 Binary files a/test/de_fuzz/corpus/corpus_1704 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1705 b/test/de_fuzz/corpus/corpus_1705 deleted file mode 100644 index a1b2adc78..000000000 Binary files a/test/de_fuzz/corpus/corpus_1705 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1706 b/test/de_fuzz/corpus/corpus_1706 deleted file mode 100644 index 19d14c40c..000000000 Binary files a/test/de_fuzz/corpus/corpus_1706 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1707 b/test/de_fuzz/corpus/corpus_1707 deleted file mode 100644 index d32725156..000000000 Binary files a/test/de_fuzz/corpus/corpus_1707 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1708 b/test/de_fuzz/corpus/corpus_1708 deleted file mode 100644 index 331d5bb76..000000000 Binary files a/test/de_fuzz/corpus/corpus_1708 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1709 b/test/de_fuzz/corpus/corpus_1709 deleted file mode 100644 index 907c3eff4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1709 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_171 b/test/de_fuzz/corpus/corpus_171 deleted file mode 100644 index 3fed3cbbd..000000000 Binary files a/test/de_fuzz/corpus/corpus_171 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1710 b/test/de_fuzz/corpus/corpus_1710 deleted file mode 100644 index 079a8e8c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_1710 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1711 b/test/de_fuzz/corpus/corpus_1711 deleted file mode 100644 index fd24e7ff4..000000000 Binary files a/test/de_fuzz/corpus/corpus_1711 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1712 b/test/de_fuzz/corpus/corpus_1712 deleted file mode 100644 index 38af48c73..000000000 Binary files a/test/de_fuzz/corpus/corpus_1712 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1713 b/test/de_fuzz/corpus/corpus_1713 deleted file mode 100644 index 74ab8830a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1713 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1714 b/test/de_fuzz/corpus/corpus_1714 deleted file mode 100644 index ca3591ff0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1714 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1715 b/test/de_fuzz/corpus/corpus_1715 deleted file mode 100644 index 66a17d382..000000000 Binary files a/test/de_fuzz/corpus/corpus_1715 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1716 b/test/de_fuzz/corpus/corpus_1716 deleted file mode 100644 index d3a1a0e09..000000000 Binary files a/test/de_fuzz/corpus/corpus_1716 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1717 b/test/de_fuzz/corpus/corpus_1717 deleted file mode 100644 index a5f3c9afc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1717 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1718 b/test/de_fuzz/corpus/corpus_1718 deleted file mode 100644 index 81b0c08fc..000000000 Binary files a/test/de_fuzz/corpus/corpus_1718 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1719 b/test/de_fuzz/corpus/corpus_1719 deleted file mode 100644 index 0bb3c5caa..000000000 Binary files a/test/de_fuzz/corpus/corpus_1719 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_172 b/test/de_fuzz/corpus/corpus_172 deleted file mode 100644 index 968f11a7b..000000000 Binary files a/test/de_fuzz/corpus/corpus_172 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1720 b/test/de_fuzz/corpus/corpus_1720 deleted file mode 100644 index 90d9fcd36..000000000 Binary files a/test/de_fuzz/corpus/corpus_1720 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1721 b/test/de_fuzz/corpus/corpus_1721 deleted file mode 100644 index 01ec08bb0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1721 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1722 b/test/de_fuzz/corpus/corpus_1722 deleted file mode 100644 index 686bd11cd..000000000 Binary files a/test/de_fuzz/corpus/corpus_1722 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1723 b/test/de_fuzz/corpus/corpus_1723 deleted file mode 100644 index 2fbd0048a..000000000 Binary files a/test/de_fuzz/corpus/corpus_1723 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1724 b/test/de_fuzz/corpus/corpus_1724 deleted file mode 100644 index 652ddda4f..000000000 Binary files a/test/de_fuzz/corpus/corpus_1724 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1725 b/test/de_fuzz/corpus/corpus_1725 deleted file mode 100644 index f7a7549e0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1725 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1726 b/test/de_fuzz/corpus/corpus_1726 deleted file mode 100644 index 8b9f033e0..000000000 Binary files a/test/de_fuzz/corpus/corpus_1726 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1727 b/test/de_fuzz/corpus/corpus_1727 deleted file mode 100644 index dd86c2756..000000000 Binary files a/test/de_fuzz/corpus/corpus_1727 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1728 b/test/de_fuzz/corpus/corpus_1728 deleted file mode 100644 index b9b6ea738..000000000 Binary files a/test/de_fuzz/corpus/corpus_1728 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1729 b/test/de_fuzz/corpus/corpus_1729 deleted file mode 100644 index b9b0c5e52..000000000 Binary files a/test/de_fuzz/corpus/corpus_1729 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_173 b/test/de_fuzz/corpus/corpus_173 deleted file mode 100644 index 66df7ec0c..000000000 Binary files a/test/de_fuzz/corpus/corpus_173 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_1730 b/test/de_fuzz/corpus/corpus_1730 deleted file mode 100644 index 9da624697..000000000 Binary files a/test/de_fuzz/corpus/corpus_1730 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_174 b/test/de_fuzz/corpus/corpus_174 deleted file mode 100644 index 92be1288b..000000000 Binary files a/test/de_fuzz/corpus/corpus_174 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_175 b/test/de_fuzz/corpus/corpus_175 deleted file mode 100644 index cefdd0510..000000000 Binary files a/test/de_fuzz/corpus/corpus_175 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_176 b/test/de_fuzz/corpus/corpus_176 deleted file mode 100644 index 700d9c542..000000000 Binary files a/test/de_fuzz/corpus/corpus_176 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_177 b/test/de_fuzz/corpus/corpus_177 deleted file mode 100644 index a0db85950..000000000 Binary files a/test/de_fuzz/corpus/corpus_177 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_178 b/test/de_fuzz/corpus/corpus_178 deleted file mode 100644 index f6a95bc84..000000000 Binary files a/test/de_fuzz/corpus/corpus_178 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_179 b/test/de_fuzz/corpus/corpus_179 deleted file mode 100644 index a3785054d..000000000 Binary files a/test/de_fuzz/corpus/corpus_179 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_18 b/test/de_fuzz/corpus/corpus_18 deleted file mode 100644 index 147369130..000000000 Binary files a/test/de_fuzz/corpus/corpus_18 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_180 b/test/de_fuzz/corpus/corpus_180 deleted file mode 100644 index cdeec6a83..000000000 Binary files a/test/de_fuzz/corpus/corpus_180 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_181 b/test/de_fuzz/corpus/corpus_181 deleted file mode 100644 index 13fa47d44..000000000 Binary files a/test/de_fuzz/corpus/corpus_181 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_182 b/test/de_fuzz/corpus/corpus_182 deleted file mode 100644 index 2383d0413..000000000 Binary files a/test/de_fuzz/corpus/corpus_182 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_183 b/test/de_fuzz/corpus/corpus_183 deleted file mode 100644 index 227976480..000000000 Binary files a/test/de_fuzz/corpus/corpus_183 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_184 b/test/de_fuzz/corpus/corpus_184 deleted file mode 100644 index 560ca9079..000000000 Binary files a/test/de_fuzz/corpus/corpus_184 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_185 b/test/de_fuzz/corpus/corpus_185 deleted file mode 100644 index ff0a1ff1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_185 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_186 b/test/de_fuzz/corpus/corpus_186 deleted file mode 100644 index 151049fb9..000000000 Binary files a/test/de_fuzz/corpus/corpus_186 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_187 b/test/de_fuzz/corpus/corpus_187 deleted file mode 100644 index e607ae7ac..000000000 Binary files a/test/de_fuzz/corpus/corpus_187 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_188 b/test/de_fuzz/corpus/corpus_188 deleted file mode 100644 index 060e90d3c..000000000 Binary files a/test/de_fuzz/corpus/corpus_188 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_189 b/test/de_fuzz/corpus/corpus_189 deleted file mode 100644 index 2907aa505..000000000 Binary files a/test/de_fuzz/corpus/corpus_189 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_19 b/test/de_fuzz/corpus/corpus_19 deleted file mode 100644 index 68cc15593..000000000 Binary files a/test/de_fuzz/corpus/corpus_19 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_190 b/test/de_fuzz/corpus/corpus_190 deleted file mode 100644 index fc818c35f..000000000 Binary files a/test/de_fuzz/corpus/corpus_190 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_191 b/test/de_fuzz/corpus/corpus_191 deleted file mode 100644 index ccf50e213..000000000 Binary files a/test/de_fuzz/corpus/corpus_191 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_192 b/test/de_fuzz/corpus/corpus_192 deleted file mode 100644 index d3b109620..000000000 Binary files a/test/de_fuzz/corpus/corpus_192 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_193 b/test/de_fuzz/corpus/corpus_193 deleted file mode 100644 index cf30e2c80..000000000 Binary files a/test/de_fuzz/corpus/corpus_193 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_194 b/test/de_fuzz/corpus/corpus_194 deleted file mode 100644 index b15d0aac2..000000000 Binary files a/test/de_fuzz/corpus/corpus_194 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_195 b/test/de_fuzz/corpus/corpus_195 deleted file mode 100644 index e5eeaeeb6..000000000 Binary files a/test/de_fuzz/corpus/corpus_195 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_196 b/test/de_fuzz/corpus/corpus_196 deleted file mode 100644 index c4452b1bd..000000000 Binary files a/test/de_fuzz/corpus/corpus_196 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_197 b/test/de_fuzz/corpus/corpus_197 deleted file mode 100644 index 95a92e36d..000000000 Binary files a/test/de_fuzz/corpus/corpus_197 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_198 b/test/de_fuzz/corpus/corpus_198 deleted file mode 100644 index deeeb7cc3..000000000 Binary files a/test/de_fuzz/corpus/corpus_198 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_199 b/test/de_fuzz/corpus/corpus_199 deleted file mode 100644 index 0209bc519..000000000 Binary files a/test/de_fuzz/corpus/corpus_199 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_2 b/test/de_fuzz/corpus/corpus_2 deleted file mode 100644 index f0adf7fd3..000000000 Binary files a/test/de_fuzz/corpus/corpus_2 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_20 b/test/de_fuzz/corpus/corpus_20 deleted file mode 100644 index b93e1d0f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_20 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_200 b/test/de_fuzz/corpus/corpus_200 deleted file mode 100644 index e2b1a1eb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_200 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_201 b/test/de_fuzz/corpus/corpus_201 deleted file mode 100644 index 314a6bb06..000000000 Binary files a/test/de_fuzz/corpus/corpus_201 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_202 b/test/de_fuzz/corpus/corpus_202 deleted file mode 100644 index 225dd64fe..000000000 Binary files a/test/de_fuzz/corpus/corpus_202 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_203 b/test/de_fuzz/corpus/corpus_203 deleted file mode 100644 index 7b08536b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_203 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_204 b/test/de_fuzz/corpus/corpus_204 deleted file mode 100644 index 6bd3a4832..000000000 Binary files a/test/de_fuzz/corpus/corpus_204 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_205 b/test/de_fuzz/corpus/corpus_205 deleted file mode 100644 index 80da74560..000000000 Binary files a/test/de_fuzz/corpus/corpus_205 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_206 b/test/de_fuzz/corpus/corpus_206 deleted file mode 100644 index 048f374cf..000000000 Binary files a/test/de_fuzz/corpus/corpus_206 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_207 b/test/de_fuzz/corpus/corpus_207 deleted file mode 100644 index e4b5db892..000000000 Binary files a/test/de_fuzz/corpus/corpus_207 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_208 b/test/de_fuzz/corpus/corpus_208 deleted file mode 100644 index 78af12707..000000000 Binary files a/test/de_fuzz/corpus/corpus_208 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_209 b/test/de_fuzz/corpus/corpus_209 deleted file mode 100644 index e10dfef2e..000000000 Binary files a/test/de_fuzz/corpus/corpus_209 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_21 b/test/de_fuzz/corpus/corpus_21 deleted file mode 100644 index 7441e18f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_21 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_210 b/test/de_fuzz/corpus/corpus_210 deleted file mode 100644 index 6e783326a..000000000 Binary files a/test/de_fuzz/corpus/corpus_210 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_211 b/test/de_fuzz/corpus/corpus_211 deleted file mode 100644 index e7baceaf4..000000000 Binary files a/test/de_fuzz/corpus/corpus_211 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_212 b/test/de_fuzz/corpus/corpus_212 deleted file mode 100644 index 470699f75..000000000 Binary files a/test/de_fuzz/corpus/corpus_212 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_213 b/test/de_fuzz/corpus/corpus_213 deleted file mode 100644 index 7934f1602..000000000 Binary files a/test/de_fuzz/corpus/corpus_213 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_214 b/test/de_fuzz/corpus/corpus_214 deleted file mode 100644 index 1ba178c15..000000000 Binary files a/test/de_fuzz/corpus/corpus_214 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_215 b/test/de_fuzz/corpus/corpus_215 deleted file mode 100644 index f986b8bbe..000000000 Binary files a/test/de_fuzz/corpus/corpus_215 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_216 b/test/de_fuzz/corpus/corpus_216 deleted file mode 100644 index 1b7d3e2b4..000000000 Binary files a/test/de_fuzz/corpus/corpus_216 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_217 b/test/de_fuzz/corpus/corpus_217 deleted file mode 100644 index f90069849..000000000 Binary files a/test/de_fuzz/corpus/corpus_217 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_218 b/test/de_fuzz/corpus/corpus_218 deleted file mode 100644 index b698d9e42..000000000 Binary files a/test/de_fuzz/corpus/corpus_218 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_219 b/test/de_fuzz/corpus/corpus_219 deleted file mode 100644 index af4492c4b..000000000 Binary files a/test/de_fuzz/corpus/corpus_219 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_22 b/test/de_fuzz/corpus/corpus_22 deleted file mode 100644 index 739ee2395..000000000 Binary files a/test/de_fuzz/corpus/corpus_22 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_220 b/test/de_fuzz/corpus/corpus_220 deleted file mode 100644 index 7222bd514..000000000 Binary files a/test/de_fuzz/corpus/corpus_220 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_221 b/test/de_fuzz/corpus/corpus_221 deleted file mode 100644 index ddaee32c3..000000000 Binary files a/test/de_fuzz/corpus/corpus_221 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_222 b/test/de_fuzz/corpus/corpus_222 deleted file mode 100644 index 50d7bd98e..000000000 Binary files a/test/de_fuzz/corpus/corpus_222 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_223 b/test/de_fuzz/corpus/corpus_223 deleted file mode 100644 index d38a6a6ad..000000000 Binary files a/test/de_fuzz/corpus/corpus_223 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_224 b/test/de_fuzz/corpus/corpus_224 deleted file mode 100644 index b55e205b0..000000000 Binary files a/test/de_fuzz/corpus/corpus_224 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_225 b/test/de_fuzz/corpus/corpus_225 deleted file mode 100644 index 85e9a4eff..000000000 Binary files a/test/de_fuzz/corpus/corpus_225 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_226 b/test/de_fuzz/corpus/corpus_226 deleted file mode 100644 index 5592924a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_226 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_227 b/test/de_fuzz/corpus/corpus_227 deleted file mode 100644 index 418b056b2..000000000 Binary files a/test/de_fuzz/corpus/corpus_227 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_228 b/test/de_fuzz/corpus/corpus_228 deleted file mode 100644 index 4bdbd99b5..000000000 Binary files a/test/de_fuzz/corpus/corpus_228 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_229 b/test/de_fuzz/corpus/corpus_229 deleted file mode 100644 index 19df1e90d..000000000 Binary files a/test/de_fuzz/corpus/corpus_229 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_23 b/test/de_fuzz/corpus/corpus_23 deleted file mode 100644 index 04b4c8436..000000000 Binary files a/test/de_fuzz/corpus/corpus_23 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_230 b/test/de_fuzz/corpus/corpus_230 deleted file mode 100644 index a1c0f144a..000000000 Binary files a/test/de_fuzz/corpus/corpus_230 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_231 b/test/de_fuzz/corpus/corpus_231 deleted file mode 100644 index 71bc26bbc..000000000 Binary files a/test/de_fuzz/corpus/corpus_231 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_232 b/test/de_fuzz/corpus/corpus_232 deleted file mode 100644 index c1113d3bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_232 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_233 b/test/de_fuzz/corpus/corpus_233 deleted file mode 100644 index 171a591d5..000000000 Binary files a/test/de_fuzz/corpus/corpus_233 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_234 b/test/de_fuzz/corpus/corpus_234 deleted file mode 100644 index 1ebb6fcf7..000000000 Binary files a/test/de_fuzz/corpus/corpus_234 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_235 b/test/de_fuzz/corpus/corpus_235 deleted file mode 100644 index 1f0792e56..000000000 Binary files a/test/de_fuzz/corpus/corpus_235 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_236 b/test/de_fuzz/corpus/corpus_236 deleted file mode 100644 index 38375e5a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_236 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_237 b/test/de_fuzz/corpus/corpus_237 deleted file mode 100644 index 83f1468b5..000000000 Binary files a/test/de_fuzz/corpus/corpus_237 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_238 b/test/de_fuzz/corpus/corpus_238 deleted file mode 100644 index baf3bf2a6..000000000 Binary files a/test/de_fuzz/corpus/corpus_238 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_239 b/test/de_fuzz/corpus/corpus_239 deleted file mode 100644 index db5a66ee5..000000000 Binary files a/test/de_fuzz/corpus/corpus_239 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_24 b/test/de_fuzz/corpus/corpus_24 deleted file mode 100644 index 7902a0719..000000000 Binary files a/test/de_fuzz/corpus/corpus_24 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_240 b/test/de_fuzz/corpus/corpus_240 deleted file mode 100644 index 9da39ac07..000000000 Binary files a/test/de_fuzz/corpus/corpus_240 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_241 b/test/de_fuzz/corpus/corpus_241 deleted file mode 100644 index 72cfaf13d..000000000 Binary files a/test/de_fuzz/corpus/corpus_241 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_242 b/test/de_fuzz/corpus/corpus_242 deleted file mode 100644 index 32871e2a8..000000000 Binary files a/test/de_fuzz/corpus/corpus_242 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_243 b/test/de_fuzz/corpus/corpus_243 deleted file mode 100644 index 8d0f77501..000000000 Binary files a/test/de_fuzz/corpus/corpus_243 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_244 b/test/de_fuzz/corpus/corpus_244 deleted file mode 100644 index f8feefe63..000000000 Binary files a/test/de_fuzz/corpus/corpus_244 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_245 b/test/de_fuzz/corpus/corpus_245 deleted file mode 100644 index 3f46cafd4..000000000 Binary files a/test/de_fuzz/corpus/corpus_245 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_246 b/test/de_fuzz/corpus/corpus_246 deleted file mode 100644 index e58ca7a26..000000000 Binary files a/test/de_fuzz/corpus/corpus_246 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_247 b/test/de_fuzz/corpus/corpus_247 deleted file mode 100644 index 623a6516f..000000000 Binary files a/test/de_fuzz/corpus/corpus_247 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_248 b/test/de_fuzz/corpus/corpus_248 deleted file mode 100644 index 9eb2c7d0b..000000000 Binary files a/test/de_fuzz/corpus/corpus_248 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_249 b/test/de_fuzz/corpus/corpus_249 deleted file mode 100644 index bfa94853a..000000000 Binary files a/test/de_fuzz/corpus/corpus_249 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_25 b/test/de_fuzz/corpus/corpus_25 deleted file mode 100644 index 1440b861d..000000000 Binary files a/test/de_fuzz/corpus/corpus_25 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_250 b/test/de_fuzz/corpus/corpus_250 deleted file mode 100644 index dd7f3c229..000000000 Binary files a/test/de_fuzz/corpus/corpus_250 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_251 b/test/de_fuzz/corpus/corpus_251 deleted file mode 100644 index 11deef24a..000000000 Binary files a/test/de_fuzz/corpus/corpus_251 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_252 b/test/de_fuzz/corpus/corpus_252 deleted file mode 100644 index e23c28370..000000000 Binary files a/test/de_fuzz/corpus/corpus_252 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_253 b/test/de_fuzz/corpus/corpus_253 deleted file mode 100644 index 43f58f7ad..000000000 Binary files a/test/de_fuzz/corpus/corpus_253 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_254 b/test/de_fuzz/corpus/corpus_254 deleted file mode 100644 index 7427f36b8..000000000 Binary files a/test/de_fuzz/corpus/corpus_254 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_255 b/test/de_fuzz/corpus/corpus_255 deleted file mode 100644 index b0ffdd703..000000000 Binary files a/test/de_fuzz/corpus/corpus_255 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_256 b/test/de_fuzz/corpus/corpus_256 deleted file mode 100644 index db6f430c4..000000000 Binary files a/test/de_fuzz/corpus/corpus_256 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_257 b/test/de_fuzz/corpus/corpus_257 deleted file mode 100644 index d5f0ae4ce..000000000 Binary files a/test/de_fuzz/corpus/corpus_257 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_258 b/test/de_fuzz/corpus/corpus_258 deleted file mode 100644 index 187669a39..000000000 Binary files a/test/de_fuzz/corpus/corpus_258 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_259 b/test/de_fuzz/corpus/corpus_259 deleted file mode 100644 index fbc6f8a1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_259 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_26 b/test/de_fuzz/corpus/corpus_26 deleted file mode 100644 index 0a9051f46..000000000 Binary files a/test/de_fuzz/corpus/corpus_26 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_260 b/test/de_fuzz/corpus/corpus_260 deleted file mode 100644 index 41e0bcff1..000000000 Binary files a/test/de_fuzz/corpus/corpus_260 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_261 b/test/de_fuzz/corpus/corpus_261 deleted file mode 100644 index 3377432eb..000000000 Binary files a/test/de_fuzz/corpus/corpus_261 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_262 b/test/de_fuzz/corpus/corpus_262 deleted file mode 100644 index b39569e25..000000000 Binary files a/test/de_fuzz/corpus/corpus_262 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_263 b/test/de_fuzz/corpus/corpus_263 deleted file mode 100644 index 7fe64301d..000000000 Binary files a/test/de_fuzz/corpus/corpus_263 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_264 b/test/de_fuzz/corpus/corpus_264 deleted file mode 100644 index 7af293379..000000000 Binary files a/test/de_fuzz/corpus/corpus_264 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_265 b/test/de_fuzz/corpus/corpus_265 deleted file mode 100644 index ea243c4cb..000000000 Binary files a/test/de_fuzz/corpus/corpus_265 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_266 b/test/de_fuzz/corpus/corpus_266 deleted file mode 100644 index cd9f55d3a..000000000 Binary files a/test/de_fuzz/corpus/corpus_266 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_267 b/test/de_fuzz/corpus/corpus_267 deleted file mode 100644 index dbb3859fe..000000000 Binary files a/test/de_fuzz/corpus/corpus_267 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_268 b/test/de_fuzz/corpus/corpus_268 deleted file mode 100644 index 8baa847dc..000000000 Binary files a/test/de_fuzz/corpus/corpus_268 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_269 b/test/de_fuzz/corpus/corpus_269 deleted file mode 100644 index d3ebe8388..000000000 Binary files a/test/de_fuzz/corpus/corpus_269 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_27 b/test/de_fuzz/corpus/corpus_27 deleted file mode 100644 index 32e994dac..000000000 Binary files a/test/de_fuzz/corpus/corpus_27 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_270 b/test/de_fuzz/corpus/corpus_270 deleted file mode 100644 index 567f52b1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_270 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_271 b/test/de_fuzz/corpus/corpus_271 deleted file mode 100644 index 9bea55f39..000000000 Binary files a/test/de_fuzz/corpus/corpus_271 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_272 b/test/de_fuzz/corpus/corpus_272 deleted file mode 100644 index b0f18dfc9..000000000 Binary files a/test/de_fuzz/corpus/corpus_272 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_273 b/test/de_fuzz/corpus/corpus_273 deleted file mode 100644 index eee532046..000000000 Binary files a/test/de_fuzz/corpus/corpus_273 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_274 b/test/de_fuzz/corpus/corpus_274 deleted file mode 100644 index 1fba8ff6a..000000000 Binary files a/test/de_fuzz/corpus/corpus_274 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_275 b/test/de_fuzz/corpus/corpus_275 deleted file mode 100644 index 95ed69de5..000000000 Binary files a/test/de_fuzz/corpus/corpus_275 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_276 b/test/de_fuzz/corpus/corpus_276 deleted file mode 100644 index 5ccc10508..000000000 Binary files a/test/de_fuzz/corpus/corpus_276 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_277 b/test/de_fuzz/corpus/corpus_277 deleted file mode 100644 index f5f5fce59..000000000 Binary files a/test/de_fuzz/corpus/corpus_277 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_278 b/test/de_fuzz/corpus/corpus_278 deleted file mode 100644 index 9eaccc06e..000000000 Binary files a/test/de_fuzz/corpus/corpus_278 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_279 b/test/de_fuzz/corpus/corpus_279 deleted file mode 100644 index 07af4650c..000000000 Binary files a/test/de_fuzz/corpus/corpus_279 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_28 b/test/de_fuzz/corpus/corpus_28 deleted file mode 100644 index 0e75d15a5..000000000 Binary files a/test/de_fuzz/corpus/corpus_28 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_280 b/test/de_fuzz/corpus/corpus_280 deleted file mode 100644 index a23fddd84..000000000 Binary files a/test/de_fuzz/corpus/corpus_280 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_281 b/test/de_fuzz/corpus/corpus_281 deleted file mode 100644 index 030614225..000000000 Binary files a/test/de_fuzz/corpus/corpus_281 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_282 b/test/de_fuzz/corpus/corpus_282 deleted file mode 100644 index 9bf1ca4c4..000000000 Binary files a/test/de_fuzz/corpus/corpus_282 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_283 b/test/de_fuzz/corpus/corpus_283 deleted file mode 100644 index 88dcc5595..000000000 Binary files a/test/de_fuzz/corpus/corpus_283 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_284 b/test/de_fuzz/corpus/corpus_284 deleted file mode 100644 index 1a54e2ade..000000000 Binary files a/test/de_fuzz/corpus/corpus_284 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_285 b/test/de_fuzz/corpus/corpus_285 deleted file mode 100644 index 6067ccea6..000000000 Binary files a/test/de_fuzz/corpus/corpus_285 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_286 b/test/de_fuzz/corpus/corpus_286 deleted file mode 100644 index 984720625..000000000 Binary files a/test/de_fuzz/corpus/corpus_286 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_287 b/test/de_fuzz/corpus/corpus_287 deleted file mode 100644 index 7d3c44ab7..000000000 Binary files a/test/de_fuzz/corpus/corpus_287 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_288 b/test/de_fuzz/corpus/corpus_288 deleted file mode 100644 index cc0287ce7..000000000 Binary files a/test/de_fuzz/corpus/corpus_288 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_289 b/test/de_fuzz/corpus/corpus_289 deleted file mode 100644 index 308bacf68..000000000 Binary files a/test/de_fuzz/corpus/corpus_289 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_29 b/test/de_fuzz/corpus/corpus_29 deleted file mode 100644 index b28f7455b..000000000 Binary files a/test/de_fuzz/corpus/corpus_29 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_290 b/test/de_fuzz/corpus/corpus_290 deleted file mode 100644 index 7b8d9b86f..000000000 Binary files a/test/de_fuzz/corpus/corpus_290 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_291 b/test/de_fuzz/corpus/corpus_291 deleted file mode 100644 index 7f9247a28..000000000 Binary files a/test/de_fuzz/corpus/corpus_291 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_292 b/test/de_fuzz/corpus/corpus_292 deleted file mode 100644 index 2389ef06c..000000000 Binary files a/test/de_fuzz/corpus/corpus_292 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_293 b/test/de_fuzz/corpus/corpus_293 deleted file mode 100644 index 1bed8903e..000000000 Binary files a/test/de_fuzz/corpus/corpus_293 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_294 b/test/de_fuzz/corpus/corpus_294 deleted file mode 100644 index 157da4cdd..000000000 Binary files a/test/de_fuzz/corpus/corpus_294 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_295 b/test/de_fuzz/corpus/corpus_295 deleted file mode 100644 index 5bc29c2ad..000000000 Binary files a/test/de_fuzz/corpus/corpus_295 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_296 b/test/de_fuzz/corpus/corpus_296 deleted file mode 100644 index ae39b432f..000000000 Binary files a/test/de_fuzz/corpus/corpus_296 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_297 b/test/de_fuzz/corpus/corpus_297 deleted file mode 100644 index 3b58b9814..000000000 Binary files a/test/de_fuzz/corpus/corpus_297 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_298 b/test/de_fuzz/corpus/corpus_298 deleted file mode 100644 index 79f28a101..000000000 Binary files a/test/de_fuzz/corpus/corpus_298 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_299 b/test/de_fuzz/corpus/corpus_299 deleted file mode 100644 index 7c869f239..000000000 Binary files a/test/de_fuzz/corpus/corpus_299 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_3 b/test/de_fuzz/corpus/corpus_3 deleted file mode 100644 index 54648468e..000000000 Binary files a/test/de_fuzz/corpus/corpus_3 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_30 b/test/de_fuzz/corpus/corpus_30 deleted file mode 100644 index 261525a8c..000000000 Binary files a/test/de_fuzz/corpus/corpus_30 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_300 b/test/de_fuzz/corpus/corpus_300 deleted file mode 100644 index 87ccef7d0..000000000 Binary files a/test/de_fuzz/corpus/corpus_300 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_301 b/test/de_fuzz/corpus/corpus_301 deleted file mode 100644 index 92eba2b1e..000000000 Binary files a/test/de_fuzz/corpus/corpus_301 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_302 b/test/de_fuzz/corpus/corpus_302 deleted file mode 100644 index 0fc09ef68..000000000 Binary files a/test/de_fuzz/corpus/corpus_302 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_303 b/test/de_fuzz/corpus/corpus_303 deleted file mode 100644 index d5be50d51..000000000 Binary files a/test/de_fuzz/corpus/corpus_303 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_304 b/test/de_fuzz/corpus/corpus_304 deleted file mode 100644 index 7d4c0419a..000000000 Binary files a/test/de_fuzz/corpus/corpus_304 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_305 b/test/de_fuzz/corpus/corpus_305 deleted file mode 100644 index 5bf4325ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_305 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_306 b/test/de_fuzz/corpus/corpus_306 deleted file mode 100644 index 05fcc2d40..000000000 Binary files a/test/de_fuzz/corpus/corpus_306 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_307 b/test/de_fuzz/corpus/corpus_307 deleted file mode 100644 index d6cf78430..000000000 Binary files a/test/de_fuzz/corpus/corpus_307 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_308 b/test/de_fuzz/corpus/corpus_308 deleted file mode 100644 index 9b79dab45..000000000 Binary files a/test/de_fuzz/corpus/corpus_308 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_309 b/test/de_fuzz/corpus/corpus_309 deleted file mode 100644 index 899d8c270..000000000 Binary files a/test/de_fuzz/corpus/corpus_309 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_31 b/test/de_fuzz/corpus/corpus_31 deleted file mode 100644 index 63e0f468f..000000000 Binary files a/test/de_fuzz/corpus/corpus_31 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_310 b/test/de_fuzz/corpus/corpus_310 deleted file mode 100644 index c0cf1afc1..000000000 Binary files a/test/de_fuzz/corpus/corpus_310 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_311 b/test/de_fuzz/corpus/corpus_311 deleted file mode 100644 index b95f14282..000000000 Binary files a/test/de_fuzz/corpus/corpus_311 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_312 b/test/de_fuzz/corpus/corpus_312 deleted file mode 100644 index 32274100e..000000000 Binary files a/test/de_fuzz/corpus/corpus_312 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_313 b/test/de_fuzz/corpus/corpus_313 deleted file mode 100644 index 3020c2670..000000000 Binary files a/test/de_fuzz/corpus/corpus_313 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_314 b/test/de_fuzz/corpus/corpus_314 deleted file mode 100644 index 1bacc5577..000000000 Binary files a/test/de_fuzz/corpus/corpus_314 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_315 b/test/de_fuzz/corpus/corpus_315 deleted file mode 100644 index da290c024..000000000 Binary files a/test/de_fuzz/corpus/corpus_315 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_316 b/test/de_fuzz/corpus/corpus_316 deleted file mode 100644 index ea90b0e35..000000000 Binary files a/test/de_fuzz/corpus/corpus_316 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_317 b/test/de_fuzz/corpus/corpus_317 deleted file mode 100644 index 91b505138..000000000 Binary files a/test/de_fuzz/corpus/corpus_317 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_318 b/test/de_fuzz/corpus/corpus_318 deleted file mode 100644 index 111e3db96..000000000 Binary files a/test/de_fuzz/corpus/corpus_318 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_319 b/test/de_fuzz/corpus/corpus_319 deleted file mode 100644 index b9a7921f2..000000000 Binary files a/test/de_fuzz/corpus/corpus_319 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_32 b/test/de_fuzz/corpus/corpus_32 deleted file mode 100644 index ea3eaa3e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_32 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_320 b/test/de_fuzz/corpus/corpus_320 deleted file mode 100644 index d6039fafd..000000000 Binary files a/test/de_fuzz/corpus/corpus_320 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_321 b/test/de_fuzz/corpus/corpus_321 deleted file mode 100644 index 7ff8b6e6b..000000000 Binary files a/test/de_fuzz/corpus/corpus_321 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_322 b/test/de_fuzz/corpus/corpus_322 deleted file mode 100644 index 5c07a19ac..000000000 Binary files a/test/de_fuzz/corpus/corpus_322 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_323 b/test/de_fuzz/corpus/corpus_323 deleted file mode 100644 index 7ee0ceb1b..000000000 Binary files a/test/de_fuzz/corpus/corpus_323 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_324 b/test/de_fuzz/corpus/corpus_324 deleted file mode 100644 index 246aadd68..000000000 Binary files a/test/de_fuzz/corpus/corpus_324 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_325 b/test/de_fuzz/corpus/corpus_325 deleted file mode 100644 index 76d9f4109..000000000 Binary files a/test/de_fuzz/corpus/corpus_325 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_326 b/test/de_fuzz/corpus/corpus_326 deleted file mode 100644 index b1e0c414d..000000000 Binary files a/test/de_fuzz/corpus/corpus_326 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_327 b/test/de_fuzz/corpus/corpus_327 deleted file mode 100644 index edd1ee0e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_327 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_328 b/test/de_fuzz/corpus/corpus_328 deleted file mode 100644 index e8c6d37b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_328 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_329 b/test/de_fuzz/corpus/corpus_329 deleted file mode 100644 index 63ff95594..000000000 Binary files a/test/de_fuzz/corpus/corpus_329 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_33 b/test/de_fuzz/corpus/corpus_33 deleted file mode 100644 index fe9b10502..000000000 Binary files a/test/de_fuzz/corpus/corpus_33 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_330 b/test/de_fuzz/corpus/corpus_330 deleted file mode 100644 index 44e067a19..000000000 Binary files a/test/de_fuzz/corpus/corpus_330 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_331 b/test/de_fuzz/corpus/corpus_331 deleted file mode 100644 index 339c9deb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_331 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_332 b/test/de_fuzz/corpus/corpus_332 deleted file mode 100644 index f83427d86..000000000 Binary files a/test/de_fuzz/corpus/corpus_332 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_333 b/test/de_fuzz/corpus/corpus_333 deleted file mode 100644 index 2504acf4c..000000000 Binary files a/test/de_fuzz/corpus/corpus_333 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_334 b/test/de_fuzz/corpus/corpus_334 deleted file mode 100644 index 11d7e44e1..000000000 Binary files a/test/de_fuzz/corpus/corpus_334 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_335 b/test/de_fuzz/corpus/corpus_335 deleted file mode 100644 index df43aa7a4..000000000 Binary files a/test/de_fuzz/corpus/corpus_335 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_336 b/test/de_fuzz/corpus/corpus_336 deleted file mode 100644 index d66d0b5c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_336 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_337 b/test/de_fuzz/corpus/corpus_337 deleted file mode 100644 index 8cf5b6539..000000000 Binary files a/test/de_fuzz/corpus/corpus_337 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_338 b/test/de_fuzz/corpus/corpus_338 deleted file mode 100644 index 3cb714e2e..000000000 Binary files a/test/de_fuzz/corpus/corpus_338 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_339 b/test/de_fuzz/corpus/corpus_339 deleted file mode 100644 index e6dd09d95..000000000 Binary files a/test/de_fuzz/corpus/corpus_339 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_34 b/test/de_fuzz/corpus/corpus_34 deleted file mode 100644 index 00b3bba4a..000000000 Binary files a/test/de_fuzz/corpus/corpus_34 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_340 b/test/de_fuzz/corpus/corpus_340 deleted file mode 100644 index 32ed5d417..000000000 Binary files a/test/de_fuzz/corpus/corpus_340 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_341 b/test/de_fuzz/corpus/corpus_341 deleted file mode 100644 index 15f799762..000000000 Binary files a/test/de_fuzz/corpus/corpus_341 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_342 b/test/de_fuzz/corpus/corpus_342 deleted file mode 100644 index 7d65c1afb..000000000 Binary files a/test/de_fuzz/corpus/corpus_342 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_343 b/test/de_fuzz/corpus/corpus_343 deleted file mode 100644 index 5f1d0ae75..000000000 Binary files a/test/de_fuzz/corpus/corpus_343 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_344 b/test/de_fuzz/corpus/corpus_344 deleted file mode 100644 index 336f99417..000000000 Binary files a/test/de_fuzz/corpus/corpus_344 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_345 b/test/de_fuzz/corpus/corpus_345 deleted file mode 100644 index 347d9747f..000000000 Binary files a/test/de_fuzz/corpus/corpus_345 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_346 b/test/de_fuzz/corpus/corpus_346 deleted file mode 100644 index 2666e58b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_346 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_347 b/test/de_fuzz/corpus/corpus_347 deleted file mode 100644 index c7c2e44f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_347 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_348 b/test/de_fuzz/corpus/corpus_348 deleted file mode 100644 index 58374281b..000000000 Binary files a/test/de_fuzz/corpus/corpus_348 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_349 b/test/de_fuzz/corpus/corpus_349 deleted file mode 100644 index c16fb8f2e..000000000 Binary files a/test/de_fuzz/corpus/corpus_349 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_35 b/test/de_fuzz/corpus/corpus_35 deleted file mode 100644 index e793f912b..000000000 Binary files a/test/de_fuzz/corpus/corpus_35 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_350 b/test/de_fuzz/corpus/corpus_350 deleted file mode 100644 index c7b645925..000000000 Binary files a/test/de_fuzz/corpus/corpus_350 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_351 b/test/de_fuzz/corpus/corpus_351 deleted file mode 100644 index 98b44316a..000000000 Binary files a/test/de_fuzz/corpus/corpus_351 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_352 b/test/de_fuzz/corpus/corpus_352 deleted file mode 100644 index fd4ab4665..000000000 Binary files a/test/de_fuzz/corpus/corpus_352 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_353 b/test/de_fuzz/corpus/corpus_353 deleted file mode 100644 index 384552ea5..000000000 Binary files a/test/de_fuzz/corpus/corpus_353 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_354 b/test/de_fuzz/corpus/corpus_354 deleted file mode 100644 index 2b4ff06fc..000000000 Binary files a/test/de_fuzz/corpus/corpus_354 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_355 b/test/de_fuzz/corpus/corpus_355 deleted file mode 100644 index fb9662237..000000000 Binary files a/test/de_fuzz/corpus/corpus_355 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_356 b/test/de_fuzz/corpus/corpus_356 deleted file mode 100644 index 948b268ab..000000000 Binary files a/test/de_fuzz/corpus/corpus_356 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_357 b/test/de_fuzz/corpus/corpus_357 deleted file mode 100644 index b4f3af4c1..000000000 Binary files a/test/de_fuzz/corpus/corpus_357 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_358 b/test/de_fuzz/corpus/corpus_358 deleted file mode 100644 index c8d0aec1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_358 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_359 b/test/de_fuzz/corpus/corpus_359 deleted file mode 100644 index a9dc9405c..000000000 Binary files a/test/de_fuzz/corpus/corpus_359 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_36 b/test/de_fuzz/corpus/corpus_36 deleted file mode 100644 index aff39979b..000000000 Binary files a/test/de_fuzz/corpus/corpus_36 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_360 b/test/de_fuzz/corpus/corpus_360 deleted file mode 100644 index 42b18e070..000000000 Binary files a/test/de_fuzz/corpus/corpus_360 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_361 b/test/de_fuzz/corpus/corpus_361 deleted file mode 100644 index b4da42a72..000000000 Binary files a/test/de_fuzz/corpus/corpus_361 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_362 b/test/de_fuzz/corpus/corpus_362 deleted file mode 100644 index 2856d651f..000000000 Binary files a/test/de_fuzz/corpus/corpus_362 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_363 b/test/de_fuzz/corpus/corpus_363 deleted file mode 100644 index 9e6e33c75..000000000 Binary files a/test/de_fuzz/corpus/corpus_363 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_364 b/test/de_fuzz/corpus/corpus_364 deleted file mode 100644 index 00263a98c..000000000 Binary files a/test/de_fuzz/corpus/corpus_364 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_365 b/test/de_fuzz/corpus/corpus_365 deleted file mode 100644 index dc4f2b54e..000000000 Binary files a/test/de_fuzz/corpus/corpus_365 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_366 b/test/de_fuzz/corpus/corpus_366 deleted file mode 100644 index f2f186ecd..000000000 Binary files a/test/de_fuzz/corpus/corpus_366 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_367 b/test/de_fuzz/corpus/corpus_367 deleted file mode 100644 index 9bc4676d8..000000000 Binary files a/test/de_fuzz/corpus/corpus_367 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_368 b/test/de_fuzz/corpus/corpus_368 deleted file mode 100644 index 820377532..000000000 Binary files a/test/de_fuzz/corpus/corpus_368 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_369 b/test/de_fuzz/corpus/corpus_369 deleted file mode 100644 index 66ce584ff..000000000 Binary files a/test/de_fuzz/corpus/corpus_369 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_37 b/test/de_fuzz/corpus/corpus_37 deleted file mode 100644 index 8698a73cb..000000000 Binary files a/test/de_fuzz/corpus/corpus_37 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_370 b/test/de_fuzz/corpus/corpus_370 deleted file mode 100644 index 95004bfd8..000000000 Binary files a/test/de_fuzz/corpus/corpus_370 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_371 b/test/de_fuzz/corpus/corpus_371 deleted file mode 100644 index 7703de41b..000000000 Binary files a/test/de_fuzz/corpus/corpus_371 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_372 b/test/de_fuzz/corpus/corpus_372 deleted file mode 100644 index 7eb0e0298..000000000 Binary files a/test/de_fuzz/corpus/corpus_372 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_373 b/test/de_fuzz/corpus/corpus_373 deleted file mode 100644 index b84a02737..000000000 Binary files a/test/de_fuzz/corpus/corpus_373 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_374 b/test/de_fuzz/corpus/corpus_374 deleted file mode 100644 index c8f160e4c..000000000 Binary files a/test/de_fuzz/corpus/corpus_374 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_375 b/test/de_fuzz/corpus/corpus_375 deleted file mode 100644 index d0e1657b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_375 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_376 b/test/de_fuzz/corpus/corpus_376 deleted file mode 100644 index be5ef63ff..000000000 Binary files a/test/de_fuzz/corpus/corpus_376 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_377 b/test/de_fuzz/corpus/corpus_377 deleted file mode 100644 index 0ae825ec2..000000000 Binary files a/test/de_fuzz/corpus/corpus_377 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_378 b/test/de_fuzz/corpus/corpus_378 deleted file mode 100644 index 0b6c510b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_378 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_379 b/test/de_fuzz/corpus/corpus_379 deleted file mode 100644 index b01777cc8..000000000 Binary files a/test/de_fuzz/corpus/corpus_379 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_38 b/test/de_fuzz/corpus/corpus_38 deleted file mode 100644 index 6c40a6bb7..000000000 Binary files a/test/de_fuzz/corpus/corpus_38 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_380 b/test/de_fuzz/corpus/corpus_380 deleted file mode 100644 index 5b75abe69..000000000 Binary files a/test/de_fuzz/corpus/corpus_380 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_381 b/test/de_fuzz/corpus/corpus_381 deleted file mode 100644 index b4a0b17a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_381 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_382 b/test/de_fuzz/corpus/corpus_382 deleted file mode 100644 index 29208a684..000000000 Binary files a/test/de_fuzz/corpus/corpus_382 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_383 b/test/de_fuzz/corpus/corpus_383 deleted file mode 100644 index 8a2cc3563..000000000 Binary files a/test/de_fuzz/corpus/corpus_383 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_384 b/test/de_fuzz/corpus/corpus_384 deleted file mode 100644 index e65a5a5ae..000000000 Binary files a/test/de_fuzz/corpus/corpus_384 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_385 b/test/de_fuzz/corpus/corpus_385 deleted file mode 100644 index a75ae5569..000000000 Binary files a/test/de_fuzz/corpus/corpus_385 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_386 b/test/de_fuzz/corpus/corpus_386 deleted file mode 100644 index 599902e3a..000000000 Binary files a/test/de_fuzz/corpus/corpus_386 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_387 b/test/de_fuzz/corpus/corpus_387 deleted file mode 100644 index 7ed00678a..000000000 Binary files a/test/de_fuzz/corpus/corpus_387 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_388 b/test/de_fuzz/corpus/corpus_388 deleted file mode 100644 index 8d7e31410..000000000 Binary files a/test/de_fuzz/corpus/corpus_388 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_389 b/test/de_fuzz/corpus/corpus_389 deleted file mode 100644 index ff7f666af..000000000 Binary files a/test/de_fuzz/corpus/corpus_389 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_39 b/test/de_fuzz/corpus/corpus_39 deleted file mode 100644 index 494577b85..000000000 Binary files a/test/de_fuzz/corpus/corpus_39 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_390 b/test/de_fuzz/corpus/corpus_390 deleted file mode 100644 index 303eafdd7..000000000 Binary files a/test/de_fuzz/corpus/corpus_390 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_391 b/test/de_fuzz/corpus/corpus_391 deleted file mode 100644 index 850de1b9b..000000000 Binary files a/test/de_fuzz/corpus/corpus_391 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_392 b/test/de_fuzz/corpus/corpus_392 deleted file mode 100644 index ef1b403df..000000000 Binary files a/test/de_fuzz/corpus/corpus_392 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_393 b/test/de_fuzz/corpus/corpus_393 deleted file mode 100644 index 6fd890580..000000000 Binary files a/test/de_fuzz/corpus/corpus_393 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_394 b/test/de_fuzz/corpus/corpus_394 deleted file mode 100644 index e26a8fc93..000000000 Binary files a/test/de_fuzz/corpus/corpus_394 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_395 b/test/de_fuzz/corpus/corpus_395 deleted file mode 100644 index f0cdcb258..000000000 Binary files a/test/de_fuzz/corpus/corpus_395 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_396 b/test/de_fuzz/corpus/corpus_396 deleted file mode 100644 index f85b4d080..000000000 Binary files a/test/de_fuzz/corpus/corpus_396 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_397 b/test/de_fuzz/corpus/corpus_397 deleted file mode 100644 index a089196f3..000000000 Binary files a/test/de_fuzz/corpus/corpus_397 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_398 b/test/de_fuzz/corpus/corpus_398 deleted file mode 100644 index 09bc2f3f1..000000000 Binary files a/test/de_fuzz/corpus/corpus_398 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_399 b/test/de_fuzz/corpus/corpus_399 deleted file mode 100644 index 8be190f36..000000000 Binary files a/test/de_fuzz/corpus/corpus_399 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_4 b/test/de_fuzz/corpus/corpus_4 deleted file mode 100644 index 0e6974c77..000000000 Binary files a/test/de_fuzz/corpus/corpus_4 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_40 b/test/de_fuzz/corpus/corpus_40 deleted file mode 100644 index 4bf9da7b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_40 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_400 b/test/de_fuzz/corpus/corpus_400 deleted file mode 100644 index cd2993257..000000000 Binary files a/test/de_fuzz/corpus/corpus_400 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_401 b/test/de_fuzz/corpus/corpus_401 deleted file mode 100644 index 8318bab27..000000000 Binary files a/test/de_fuzz/corpus/corpus_401 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_402 b/test/de_fuzz/corpus/corpus_402 deleted file mode 100644 index fd9344b1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_402 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_403 b/test/de_fuzz/corpus/corpus_403 deleted file mode 100644 index 1e7c7143b..000000000 Binary files a/test/de_fuzz/corpus/corpus_403 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_404 b/test/de_fuzz/corpus/corpus_404 deleted file mode 100644 index 6bf37feb2..000000000 Binary files a/test/de_fuzz/corpus/corpus_404 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_405 b/test/de_fuzz/corpus/corpus_405 deleted file mode 100644 index 98a249902..000000000 Binary files a/test/de_fuzz/corpus/corpus_405 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_406 b/test/de_fuzz/corpus/corpus_406 deleted file mode 100644 index e9eab2364..000000000 Binary files a/test/de_fuzz/corpus/corpus_406 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_407 b/test/de_fuzz/corpus/corpus_407 deleted file mode 100644 index c9ffd1b20..000000000 Binary files a/test/de_fuzz/corpus/corpus_407 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_408 b/test/de_fuzz/corpus/corpus_408 deleted file mode 100644 index 840a6994b..000000000 Binary files a/test/de_fuzz/corpus/corpus_408 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_409 b/test/de_fuzz/corpus/corpus_409 deleted file mode 100644 index 047c2cfa0..000000000 Binary files a/test/de_fuzz/corpus/corpus_409 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_41 b/test/de_fuzz/corpus/corpus_41 deleted file mode 100644 index 3b17a81b7..000000000 Binary files a/test/de_fuzz/corpus/corpus_41 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_410 b/test/de_fuzz/corpus/corpus_410 deleted file mode 100644 index 087f68095..000000000 Binary files a/test/de_fuzz/corpus/corpus_410 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_411 b/test/de_fuzz/corpus/corpus_411 deleted file mode 100644 index 7c4bbca28..000000000 Binary files a/test/de_fuzz/corpus/corpus_411 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_412 b/test/de_fuzz/corpus/corpus_412 deleted file mode 100644 index ad831bb50..000000000 Binary files a/test/de_fuzz/corpus/corpus_412 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_413 b/test/de_fuzz/corpus/corpus_413 deleted file mode 100644 index f85b2a191..000000000 Binary files a/test/de_fuzz/corpus/corpus_413 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_414 b/test/de_fuzz/corpus/corpus_414 deleted file mode 100644 index 51241c0be..000000000 Binary files a/test/de_fuzz/corpus/corpus_414 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_415 b/test/de_fuzz/corpus/corpus_415 deleted file mode 100644 index b9535ffb2..000000000 Binary files a/test/de_fuzz/corpus/corpus_415 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_416 b/test/de_fuzz/corpus/corpus_416 deleted file mode 100644 index bc014758a..000000000 Binary files a/test/de_fuzz/corpus/corpus_416 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_417 b/test/de_fuzz/corpus/corpus_417 deleted file mode 100644 index d9e276d41..000000000 Binary files a/test/de_fuzz/corpus/corpus_417 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_418 b/test/de_fuzz/corpus/corpus_418 deleted file mode 100644 index 8084560f1..000000000 Binary files a/test/de_fuzz/corpus/corpus_418 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_419 b/test/de_fuzz/corpus/corpus_419 deleted file mode 100644 index 8893d01f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_419 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_42 b/test/de_fuzz/corpus/corpus_42 deleted file mode 100644 index c163de507..000000000 Binary files a/test/de_fuzz/corpus/corpus_42 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_420 b/test/de_fuzz/corpus/corpus_420 deleted file mode 100644 index 8c419aec3..000000000 Binary files a/test/de_fuzz/corpus/corpus_420 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_421 b/test/de_fuzz/corpus/corpus_421 deleted file mode 100644 index 13dbe3918..000000000 Binary files a/test/de_fuzz/corpus/corpus_421 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_422 b/test/de_fuzz/corpus/corpus_422 deleted file mode 100644 index ffa9fc961..000000000 Binary files a/test/de_fuzz/corpus/corpus_422 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_423 b/test/de_fuzz/corpus/corpus_423 deleted file mode 100644 index 084e93523..000000000 Binary files a/test/de_fuzz/corpus/corpus_423 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_424 b/test/de_fuzz/corpus/corpus_424 deleted file mode 100644 index ea9285470..000000000 Binary files a/test/de_fuzz/corpus/corpus_424 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_425 b/test/de_fuzz/corpus/corpus_425 deleted file mode 100644 index 9b2971a57..000000000 Binary files a/test/de_fuzz/corpus/corpus_425 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_426 b/test/de_fuzz/corpus/corpus_426 deleted file mode 100644 index c478bfd0f..000000000 Binary files a/test/de_fuzz/corpus/corpus_426 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_427 b/test/de_fuzz/corpus/corpus_427 deleted file mode 100644 index 99548b108..000000000 Binary files a/test/de_fuzz/corpus/corpus_427 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_428 b/test/de_fuzz/corpus/corpus_428 deleted file mode 100644 index 8e7e9a3d1..000000000 Binary files a/test/de_fuzz/corpus/corpus_428 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_429 b/test/de_fuzz/corpus/corpus_429 deleted file mode 100644 index b765ae217..000000000 Binary files a/test/de_fuzz/corpus/corpus_429 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_43 b/test/de_fuzz/corpus/corpus_43 deleted file mode 100644 index ff6333a1c..000000000 Binary files a/test/de_fuzz/corpus/corpus_43 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_430 b/test/de_fuzz/corpus/corpus_430 deleted file mode 100644 index 8f9e7afcb..000000000 Binary files a/test/de_fuzz/corpus/corpus_430 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_431 b/test/de_fuzz/corpus/corpus_431 deleted file mode 100644 index a2ef2a83e..000000000 Binary files a/test/de_fuzz/corpus/corpus_431 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_432 b/test/de_fuzz/corpus/corpus_432 deleted file mode 100644 index 71822f146..000000000 Binary files a/test/de_fuzz/corpus/corpus_432 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_433 b/test/de_fuzz/corpus/corpus_433 deleted file mode 100644 index c82d7ac4b..000000000 Binary files a/test/de_fuzz/corpus/corpus_433 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_434 b/test/de_fuzz/corpus/corpus_434 deleted file mode 100644 index 9d493a4ef..000000000 Binary files a/test/de_fuzz/corpus/corpus_434 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_435 b/test/de_fuzz/corpus/corpus_435 deleted file mode 100644 index e6a5ec109..000000000 Binary files a/test/de_fuzz/corpus/corpus_435 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_436 b/test/de_fuzz/corpus/corpus_436 deleted file mode 100644 index d6c80c95f..000000000 Binary files a/test/de_fuzz/corpus/corpus_436 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_437 b/test/de_fuzz/corpus/corpus_437 deleted file mode 100644 index 9c0826f68..000000000 Binary files a/test/de_fuzz/corpus/corpus_437 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_438 b/test/de_fuzz/corpus/corpus_438 deleted file mode 100644 index 3f39831bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_438 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_439 b/test/de_fuzz/corpus/corpus_439 deleted file mode 100644 index b0e126a31..000000000 Binary files a/test/de_fuzz/corpus/corpus_439 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_44 b/test/de_fuzz/corpus/corpus_44 deleted file mode 100644 index 5f53e4fa3..000000000 Binary files a/test/de_fuzz/corpus/corpus_44 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_440 b/test/de_fuzz/corpus/corpus_440 deleted file mode 100644 index dbebecef0..000000000 Binary files a/test/de_fuzz/corpus/corpus_440 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_441 b/test/de_fuzz/corpus/corpus_441 deleted file mode 100644 index 8138f8bc0..000000000 Binary files a/test/de_fuzz/corpus/corpus_441 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_442 b/test/de_fuzz/corpus/corpus_442 deleted file mode 100644 index 4b84958ed..000000000 Binary files a/test/de_fuzz/corpus/corpus_442 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_443 b/test/de_fuzz/corpus/corpus_443 deleted file mode 100644 index 4f63aa114..000000000 Binary files a/test/de_fuzz/corpus/corpus_443 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_444 b/test/de_fuzz/corpus/corpus_444 deleted file mode 100644 index 4fb64f6ed..000000000 Binary files a/test/de_fuzz/corpus/corpus_444 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_445 b/test/de_fuzz/corpus/corpus_445 deleted file mode 100644 index 224e9ccb2..000000000 Binary files a/test/de_fuzz/corpus/corpus_445 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_446 b/test/de_fuzz/corpus/corpus_446 deleted file mode 100644 index d21e4c2dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_446 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_447 b/test/de_fuzz/corpus/corpus_447 deleted file mode 100644 index b12cb1c6f..000000000 Binary files a/test/de_fuzz/corpus/corpus_447 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_448 b/test/de_fuzz/corpus/corpus_448 deleted file mode 100644 index 7ae781c66..000000000 Binary files a/test/de_fuzz/corpus/corpus_448 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_449 b/test/de_fuzz/corpus/corpus_449 deleted file mode 100644 index 27bfa1495..000000000 Binary files a/test/de_fuzz/corpus/corpus_449 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_45 b/test/de_fuzz/corpus/corpus_45 deleted file mode 100644 index 7b7298443..000000000 Binary files a/test/de_fuzz/corpus/corpus_45 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_450 b/test/de_fuzz/corpus/corpus_450 deleted file mode 100644 index 438895e26..000000000 Binary files a/test/de_fuzz/corpus/corpus_450 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_451 b/test/de_fuzz/corpus/corpus_451 deleted file mode 100644 index 826818048..000000000 Binary files a/test/de_fuzz/corpus/corpus_451 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_452 b/test/de_fuzz/corpus/corpus_452 deleted file mode 100644 index 7855a19a8..000000000 Binary files a/test/de_fuzz/corpus/corpus_452 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_453 b/test/de_fuzz/corpus/corpus_453 deleted file mode 100644 index 85aa0dc38..000000000 Binary files a/test/de_fuzz/corpus/corpus_453 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_454 b/test/de_fuzz/corpus/corpus_454 deleted file mode 100644 index 3db59db19..000000000 Binary files a/test/de_fuzz/corpus/corpus_454 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_455 b/test/de_fuzz/corpus/corpus_455 deleted file mode 100644 index 0b4f65ff9..000000000 Binary files a/test/de_fuzz/corpus/corpus_455 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_456 b/test/de_fuzz/corpus/corpus_456 deleted file mode 100644 index 744b079cd..000000000 Binary files a/test/de_fuzz/corpus/corpus_456 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_457 b/test/de_fuzz/corpus/corpus_457 deleted file mode 100644 index 682d1d933..000000000 Binary files a/test/de_fuzz/corpus/corpus_457 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_458 b/test/de_fuzz/corpus/corpus_458 deleted file mode 100644 index 24c08e3a5..000000000 Binary files a/test/de_fuzz/corpus/corpus_458 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_459 b/test/de_fuzz/corpus/corpus_459 deleted file mode 100644 index ec9991c77..000000000 Binary files a/test/de_fuzz/corpus/corpus_459 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_46 b/test/de_fuzz/corpus/corpus_46 deleted file mode 100644 index 23adc62ac..000000000 Binary files a/test/de_fuzz/corpus/corpus_46 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_460 b/test/de_fuzz/corpus/corpus_460 deleted file mode 100644 index 68ad95a6a..000000000 Binary files a/test/de_fuzz/corpus/corpus_460 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_461 b/test/de_fuzz/corpus/corpus_461 deleted file mode 100644 index 6e3866153..000000000 Binary files a/test/de_fuzz/corpus/corpus_461 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_462 b/test/de_fuzz/corpus/corpus_462 deleted file mode 100644 index 894dfbcfc..000000000 Binary files a/test/de_fuzz/corpus/corpus_462 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_463 b/test/de_fuzz/corpus/corpus_463 deleted file mode 100644 index 1eaaa28a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_463 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_464 b/test/de_fuzz/corpus/corpus_464 deleted file mode 100644 index 1d968248d..000000000 Binary files a/test/de_fuzz/corpus/corpus_464 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_465 b/test/de_fuzz/corpus/corpus_465 deleted file mode 100644 index 2a167a288..000000000 Binary files a/test/de_fuzz/corpus/corpus_465 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_466 b/test/de_fuzz/corpus/corpus_466 deleted file mode 100644 index 5ae0d4ea9..000000000 Binary files a/test/de_fuzz/corpus/corpus_466 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_467 b/test/de_fuzz/corpus/corpus_467 deleted file mode 100644 index 173124066..000000000 Binary files a/test/de_fuzz/corpus/corpus_467 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_468 b/test/de_fuzz/corpus/corpus_468 deleted file mode 100644 index 1cdbd3c0c..000000000 Binary files a/test/de_fuzz/corpus/corpus_468 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_469 b/test/de_fuzz/corpus/corpus_469 deleted file mode 100644 index 03c6e337f..000000000 Binary files a/test/de_fuzz/corpus/corpus_469 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_47 b/test/de_fuzz/corpus/corpus_47 deleted file mode 100644 index aa3c33ba2..000000000 Binary files a/test/de_fuzz/corpus/corpus_47 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_470 b/test/de_fuzz/corpus/corpus_470 deleted file mode 100644 index f550b4872..000000000 Binary files a/test/de_fuzz/corpus/corpus_470 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_471 b/test/de_fuzz/corpus/corpus_471 deleted file mode 100644 index cc259d1eb..000000000 Binary files a/test/de_fuzz/corpus/corpus_471 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_472 b/test/de_fuzz/corpus/corpus_472 deleted file mode 100644 index e992f075a..000000000 Binary files a/test/de_fuzz/corpus/corpus_472 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_473 b/test/de_fuzz/corpus/corpus_473 deleted file mode 100644 index 8b4d0f1ef..000000000 Binary files a/test/de_fuzz/corpus/corpus_473 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_474 b/test/de_fuzz/corpus/corpus_474 deleted file mode 100644 index b73601b0c..000000000 Binary files a/test/de_fuzz/corpus/corpus_474 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_475 b/test/de_fuzz/corpus/corpus_475 deleted file mode 100644 index 4a983f6cc..000000000 Binary files a/test/de_fuzz/corpus/corpus_475 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_476 b/test/de_fuzz/corpus/corpus_476 deleted file mode 100644 index e6c3ba0a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_476 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_477 b/test/de_fuzz/corpus/corpus_477 deleted file mode 100644 index b7e95f3fa..000000000 Binary files a/test/de_fuzz/corpus/corpus_477 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_478 b/test/de_fuzz/corpus/corpus_478 deleted file mode 100644 index c6f20d461..000000000 Binary files a/test/de_fuzz/corpus/corpus_478 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_479 b/test/de_fuzz/corpus/corpus_479 deleted file mode 100644 index c4a52d9ef..000000000 Binary files a/test/de_fuzz/corpus/corpus_479 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_48 b/test/de_fuzz/corpus/corpus_48 deleted file mode 100644 index 18276c6a7..000000000 Binary files a/test/de_fuzz/corpus/corpus_48 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_480 b/test/de_fuzz/corpus/corpus_480 deleted file mode 100644 index f10434328..000000000 Binary files a/test/de_fuzz/corpus/corpus_480 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_481 b/test/de_fuzz/corpus/corpus_481 deleted file mode 100644 index a27f45b2c..000000000 Binary files a/test/de_fuzz/corpus/corpus_481 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_482 b/test/de_fuzz/corpus/corpus_482 deleted file mode 100644 index 5e7c5e2c8..000000000 Binary files a/test/de_fuzz/corpus/corpus_482 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_483 b/test/de_fuzz/corpus/corpus_483 deleted file mode 100644 index f9cea0c60..000000000 Binary files a/test/de_fuzz/corpus/corpus_483 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_484 b/test/de_fuzz/corpus/corpus_484 deleted file mode 100644 index 8d689aca3..000000000 Binary files a/test/de_fuzz/corpus/corpus_484 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_485 b/test/de_fuzz/corpus/corpus_485 deleted file mode 100644 index 800de1512..000000000 Binary files a/test/de_fuzz/corpus/corpus_485 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_486 b/test/de_fuzz/corpus/corpus_486 deleted file mode 100644 index 408306e25..000000000 Binary files a/test/de_fuzz/corpus/corpus_486 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_487 b/test/de_fuzz/corpus/corpus_487 deleted file mode 100644 index 71f510d8f..000000000 Binary files a/test/de_fuzz/corpus/corpus_487 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_488 b/test/de_fuzz/corpus/corpus_488 deleted file mode 100644 index e0d4832b2..000000000 Binary files a/test/de_fuzz/corpus/corpus_488 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_489 b/test/de_fuzz/corpus/corpus_489 deleted file mode 100644 index 19d4b1cd1..000000000 Binary files a/test/de_fuzz/corpus/corpus_489 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_49 b/test/de_fuzz/corpus/corpus_49 deleted file mode 100644 index 4195bb5d0..000000000 Binary files a/test/de_fuzz/corpus/corpus_49 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_490 b/test/de_fuzz/corpus/corpus_490 deleted file mode 100644 index ae881f6d3..000000000 Binary files a/test/de_fuzz/corpus/corpus_490 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_491 b/test/de_fuzz/corpus/corpus_491 deleted file mode 100644 index adc3dd15e..000000000 Binary files a/test/de_fuzz/corpus/corpus_491 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_492 b/test/de_fuzz/corpus/corpus_492 deleted file mode 100644 index b69fece47..000000000 Binary files a/test/de_fuzz/corpus/corpus_492 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_493 b/test/de_fuzz/corpus/corpus_493 deleted file mode 100644 index cf86f2165..000000000 Binary files a/test/de_fuzz/corpus/corpus_493 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_494 b/test/de_fuzz/corpus/corpus_494 deleted file mode 100644 index cd0f6ccb9..000000000 Binary files a/test/de_fuzz/corpus/corpus_494 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_495 b/test/de_fuzz/corpus/corpus_495 deleted file mode 100644 index 3f826f453..000000000 Binary files a/test/de_fuzz/corpus/corpus_495 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_496 b/test/de_fuzz/corpus/corpus_496 deleted file mode 100644 index 4dca16893..000000000 Binary files a/test/de_fuzz/corpus/corpus_496 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_497 b/test/de_fuzz/corpus/corpus_497 deleted file mode 100644 index d841ca15f..000000000 Binary files a/test/de_fuzz/corpus/corpus_497 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_498 b/test/de_fuzz/corpus/corpus_498 deleted file mode 100644 index e26c8e11c..000000000 Binary files a/test/de_fuzz/corpus/corpus_498 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_499 b/test/de_fuzz/corpus/corpus_499 deleted file mode 100644 index 4112d240f..000000000 Binary files a/test/de_fuzz/corpus/corpus_499 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_5 b/test/de_fuzz/corpus/corpus_5 deleted file mode 100644 index a795bdb61..000000000 Binary files a/test/de_fuzz/corpus/corpus_5 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_50 b/test/de_fuzz/corpus/corpus_50 deleted file mode 100644 index cb5fdb0b7..000000000 Binary files a/test/de_fuzz/corpus/corpus_50 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_500 b/test/de_fuzz/corpus/corpus_500 deleted file mode 100644 index 9ff08e0f3..000000000 Binary files a/test/de_fuzz/corpus/corpus_500 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_501 b/test/de_fuzz/corpus/corpus_501 deleted file mode 100644 index 78b8bc3f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_501 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_502 b/test/de_fuzz/corpus/corpus_502 deleted file mode 100644 index fe132f264..000000000 Binary files a/test/de_fuzz/corpus/corpus_502 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_503 b/test/de_fuzz/corpus/corpus_503 deleted file mode 100644 index 7fe3ad5cf..000000000 Binary files a/test/de_fuzz/corpus/corpus_503 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_504 b/test/de_fuzz/corpus/corpus_504 deleted file mode 100644 index ed8a7e833..000000000 Binary files a/test/de_fuzz/corpus/corpus_504 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_505 b/test/de_fuzz/corpus/corpus_505 deleted file mode 100644 index 8c6adad36..000000000 Binary files a/test/de_fuzz/corpus/corpus_505 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_506 b/test/de_fuzz/corpus/corpus_506 deleted file mode 100644 index 1af5ce9c5..000000000 Binary files a/test/de_fuzz/corpus/corpus_506 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_507 b/test/de_fuzz/corpus/corpus_507 deleted file mode 100644 index fd56eb2de..000000000 Binary files a/test/de_fuzz/corpus/corpus_507 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_508 b/test/de_fuzz/corpus/corpus_508 deleted file mode 100644 index ad4b6a477..000000000 Binary files a/test/de_fuzz/corpus/corpus_508 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_509 b/test/de_fuzz/corpus/corpus_509 deleted file mode 100644 index 10a96777d..000000000 Binary files a/test/de_fuzz/corpus/corpus_509 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_51 b/test/de_fuzz/corpus/corpus_51 deleted file mode 100644 index eb25eb759..000000000 Binary files a/test/de_fuzz/corpus/corpus_51 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_510 b/test/de_fuzz/corpus/corpus_510 deleted file mode 100644 index cdbc79ee5..000000000 Binary files a/test/de_fuzz/corpus/corpus_510 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_511 b/test/de_fuzz/corpus/corpus_511 deleted file mode 100644 index c340133ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_511 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_512 b/test/de_fuzz/corpus/corpus_512 deleted file mode 100644 index 8134d02e5..000000000 Binary files a/test/de_fuzz/corpus/corpus_512 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_513 b/test/de_fuzz/corpus/corpus_513 deleted file mode 100644 index 4b5053aeb..000000000 Binary files a/test/de_fuzz/corpus/corpus_513 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_514 b/test/de_fuzz/corpus/corpus_514 deleted file mode 100644 index e79b9d87c..000000000 Binary files a/test/de_fuzz/corpus/corpus_514 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_515 b/test/de_fuzz/corpus/corpus_515 deleted file mode 100644 index 30be661ef..000000000 Binary files a/test/de_fuzz/corpus/corpus_515 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_516 b/test/de_fuzz/corpus/corpus_516 deleted file mode 100644 index b82f2a5fc..000000000 Binary files a/test/de_fuzz/corpus/corpus_516 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_517 b/test/de_fuzz/corpus/corpus_517 deleted file mode 100644 index 15c851fc1..000000000 Binary files a/test/de_fuzz/corpus/corpus_517 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_518 b/test/de_fuzz/corpus/corpus_518 deleted file mode 100644 index 26132cc1b..000000000 Binary files a/test/de_fuzz/corpus/corpus_518 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_519 b/test/de_fuzz/corpus/corpus_519 deleted file mode 100644 index 12a8dab7e..000000000 Binary files a/test/de_fuzz/corpus/corpus_519 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_52 b/test/de_fuzz/corpus/corpus_52 deleted file mode 100644 index 07d8d8baa..000000000 Binary files a/test/de_fuzz/corpus/corpus_52 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_520 b/test/de_fuzz/corpus/corpus_520 deleted file mode 100644 index d1cf37548..000000000 Binary files a/test/de_fuzz/corpus/corpus_520 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_521 b/test/de_fuzz/corpus/corpus_521 deleted file mode 100644 index c3eddfa18..000000000 Binary files a/test/de_fuzz/corpus/corpus_521 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_522 b/test/de_fuzz/corpus/corpus_522 deleted file mode 100644 index daaa602a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_522 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_523 b/test/de_fuzz/corpus/corpus_523 deleted file mode 100644 index c710b2761..000000000 Binary files a/test/de_fuzz/corpus/corpus_523 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_524 b/test/de_fuzz/corpus/corpus_524 deleted file mode 100644 index 9f4f1bd9b..000000000 Binary files a/test/de_fuzz/corpus/corpus_524 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_525 b/test/de_fuzz/corpus/corpus_525 deleted file mode 100644 index db3270533..000000000 Binary files a/test/de_fuzz/corpus/corpus_525 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_526 b/test/de_fuzz/corpus/corpus_526 deleted file mode 100644 index 87cf00efa..000000000 Binary files a/test/de_fuzz/corpus/corpus_526 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_527 b/test/de_fuzz/corpus/corpus_527 deleted file mode 100644 index 4f6d1c6db..000000000 Binary files a/test/de_fuzz/corpus/corpus_527 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_528 b/test/de_fuzz/corpus/corpus_528 deleted file mode 100644 index 3076e6ae4..000000000 Binary files a/test/de_fuzz/corpus/corpus_528 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_529 b/test/de_fuzz/corpus/corpus_529 deleted file mode 100644 index 3ab34948f..000000000 Binary files a/test/de_fuzz/corpus/corpus_529 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_53 b/test/de_fuzz/corpus/corpus_53 deleted file mode 100644 index 05817dd57..000000000 Binary files a/test/de_fuzz/corpus/corpus_53 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_530 b/test/de_fuzz/corpus/corpus_530 deleted file mode 100644 index b21eff46a..000000000 Binary files a/test/de_fuzz/corpus/corpus_530 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_531 b/test/de_fuzz/corpus/corpus_531 deleted file mode 100644 index 79d0b90b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_531 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_532 b/test/de_fuzz/corpus/corpus_532 deleted file mode 100644 index 7debf570b..000000000 Binary files a/test/de_fuzz/corpus/corpus_532 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_533 b/test/de_fuzz/corpus/corpus_533 deleted file mode 100644 index 6cea09332..000000000 Binary files a/test/de_fuzz/corpus/corpus_533 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_534 b/test/de_fuzz/corpus/corpus_534 deleted file mode 100644 index b99cfa4b4..000000000 Binary files a/test/de_fuzz/corpus/corpus_534 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_535 b/test/de_fuzz/corpus/corpus_535 deleted file mode 100644 index 0eb30bdca..000000000 --- a/test/de_fuzz/corpus/corpus_535 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+Zaaa \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_536 b/test/de_fuzz/corpus/corpus_536 deleted file mode 100644 index 975cf8a6b..000000000 --- a/test/de_fuzz/corpus/corpus_536 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+aaa \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_537 b/test/de_fuzz/corpus/corpus_537 deleted file mode 100644 index e49fbf493..000000000 --- a/test/de_fuzz/corpus/corpus_537 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/corpus_538 b/test/de_fuzz/corpus/corpus_538 deleted file mode 100644 index e1b5aa6b6..000000000 Binary files a/test/de_fuzz/corpus/corpus_538 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_539 b/test/de_fuzz/corpus/corpus_539 deleted file mode 100644 index 73b93b7bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_539 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_54 b/test/de_fuzz/corpus/corpus_54 deleted file mode 100644 index e59a3fb78..000000000 Binary files a/test/de_fuzz/corpus/corpus_54 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_540 b/test/de_fuzz/corpus/corpus_540 deleted file mode 100644 index 1092a6f0a..000000000 Binary files a/test/de_fuzz/corpus/corpus_540 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_541 b/test/de_fuzz/corpus/corpus_541 deleted file mode 100644 index 78c380a81..000000000 Binary files a/test/de_fuzz/corpus/corpus_541 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_542 b/test/de_fuzz/corpus/corpus_542 deleted file mode 100644 index 6b0462c15..000000000 Binary files a/test/de_fuzz/corpus/corpus_542 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_543 b/test/de_fuzz/corpus/corpus_543 deleted file mode 100644 index f3412f95d..000000000 Binary files a/test/de_fuzz/corpus/corpus_543 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_544 b/test/de_fuzz/corpus/corpus_544 deleted file mode 100644 index 584437788..000000000 Binary files a/test/de_fuzz/corpus/corpus_544 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_545 b/test/de_fuzz/corpus/corpus_545 deleted file mode 100644 index 1888e5a12..000000000 Binary files a/test/de_fuzz/corpus/corpus_545 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_546 b/test/de_fuzz/corpus/corpus_546 deleted file mode 100644 index 852b208d1..000000000 Binary files a/test/de_fuzz/corpus/corpus_546 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_547 b/test/de_fuzz/corpus/corpus_547 deleted file mode 100644 index 4211d485e..000000000 Binary files a/test/de_fuzz/corpus/corpus_547 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_548 b/test/de_fuzz/corpus/corpus_548 deleted file mode 100644 index f88c71801..000000000 Binary files a/test/de_fuzz/corpus/corpus_548 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_549 b/test/de_fuzz/corpus/corpus_549 deleted file mode 100644 index 6a2e9a963..000000000 Binary files a/test/de_fuzz/corpus/corpus_549 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_55 b/test/de_fuzz/corpus/corpus_55 deleted file mode 100644 index 37cc40dfa..000000000 Binary files a/test/de_fuzz/corpus/corpus_55 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_550 b/test/de_fuzz/corpus/corpus_550 deleted file mode 100644 index 613c09153..000000000 Binary files a/test/de_fuzz/corpus/corpus_550 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_551 b/test/de_fuzz/corpus/corpus_551 deleted file mode 100644 index 6c0a239b3..000000000 Binary files a/test/de_fuzz/corpus/corpus_551 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_552 b/test/de_fuzz/corpus/corpus_552 deleted file mode 100644 index 66380ccd5..000000000 Binary files a/test/de_fuzz/corpus/corpus_552 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_553 b/test/de_fuzz/corpus/corpus_553 deleted file mode 100644 index 12e045021..000000000 Binary files a/test/de_fuzz/corpus/corpus_553 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_554 b/test/de_fuzz/corpus/corpus_554 deleted file mode 100644 index 428444a84..000000000 Binary files a/test/de_fuzz/corpus/corpus_554 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_555 b/test/de_fuzz/corpus/corpus_555 deleted file mode 100644 index ac3e2eaa6..000000000 Binary files a/test/de_fuzz/corpus/corpus_555 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_556 b/test/de_fuzz/corpus/corpus_556 deleted file mode 100644 index 945526160..000000000 Binary files a/test/de_fuzz/corpus/corpus_556 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_557 b/test/de_fuzz/corpus/corpus_557 deleted file mode 100644 index a061d4763..000000000 Binary files a/test/de_fuzz/corpus/corpus_557 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_558 b/test/de_fuzz/corpus/corpus_558 deleted file mode 100644 index 119a2ad8b..000000000 Binary files a/test/de_fuzz/corpus/corpus_558 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_559 b/test/de_fuzz/corpus/corpus_559 deleted file mode 100644 index ef17d33a9..000000000 Binary files a/test/de_fuzz/corpus/corpus_559 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_56 b/test/de_fuzz/corpus/corpus_56 deleted file mode 100644 index a9cd39ede..000000000 Binary files a/test/de_fuzz/corpus/corpus_56 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_560 b/test/de_fuzz/corpus/corpus_560 deleted file mode 100644 index 68977f862..000000000 Binary files a/test/de_fuzz/corpus/corpus_560 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_561 b/test/de_fuzz/corpus/corpus_561 deleted file mode 100644 index 20d1bfef4..000000000 Binary files a/test/de_fuzz/corpus/corpus_561 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_562 b/test/de_fuzz/corpus/corpus_562 deleted file mode 100644 index 0c5be9358..000000000 Binary files a/test/de_fuzz/corpus/corpus_562 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_563 b/test/de_fuzz/corpus/corpus_563 deleted file mode 100644 index a25a6ed76..000000000 Binary files a/test/de_fuzz/corpus/corpus_563 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_564 b/test/de_fuzz/corpus/corpus_564 deleted file mode 100644 index a33e8b812..000000000 Binary files a/test/de_fuzz/corpus/corpus_564 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_565 b/test/de_fuzz/corpus/corpus_565 deleted file mode 100644 index 8d8f9d3ea..000000000 Binary files a/test/de_fuzz/corpus/corpus_565 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_566 b/test/de_fuzz/corpus/corpus_566 deleted file mode 100644 index 9d3b2551a..000000000 Binary files a/test/de_fuzz/corpus/corpus_566 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_567 b/test/de_fuzz/corpus/corpus_567 deleted file mode 100644 index cc6f61a0b..000000000 Binary files a/test/de_fuzz/corpus/corpus_567 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_568 b/test/de_fuzz/corpus/corpus_568 deleted file mode 100644 index 43234b1e0..000000000 Binary files a/test/de_fuzz/corpus/corpus_568 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_569 b/test/de_fuzz/corpus/corpus_569 deleted file mode 100644 index 7ddcf4e7f..000000000 Binary files a/test/de_fuzz/corpus/corpus_569 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_57 b/test/de_fuzz/corpus/corpus_57 deleted file mode 100644 index fcfb3ccae..000000000 Binary files a/test/de_fuzz/corpus/corpus_57 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_570 b/test/de_fuzz/corpus/corpus_570 deleted file mode 100644 index 3b32415f7..000000000 Binary files a/test/de_fuzz/corpus/corpus_570 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_571 b/test/de_fuzz/corpus/corpus_571 deleted file mode 100644 index d7b490f37..000000000 Binary files a/test/de_fuzz/corpus/corpus_571 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_572 b/test/de_fuzz/corpus/corpus_572 deleted file mode 100644 index 916902686..000000000 Binary files a/test/de_fuzz/corpus/corpus_572 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_573 b/test/de_fuzz/corpus/corpus_573 deleted file mode 100644 index 95bb63a66..000000000 Binary files a/test/de_fuzz/corpus/corpus_573 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_574 b/test/de_fuzz/corpus/corpus_574 deleted file mode 100644 index c7f45787f..000000000 Binary files a/test/de_fuzz/corpus/corpus_574 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_575 b/test/de_fuzz/corpus/corpus_575 deleted file mode 100644 index 8fc7903af..000000000 Binary files a/test/de_fuzz/corpus/corpus_575 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_576 b/test/de_fuzz/corpus/corpus_576 deleted file mode 100644 index da17a03e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_576 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_577 b/test/de_fuzz/corpus/corpus_577 deleted file mode 100644 index 721baa8ca..000000000 Binary files a/test/de_fuzz/corpus/corpus_577 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_578 b/test/de_fuzz/corpus/corpus_578 deleted file mode 100644 index cc92cf55c..000000000 Binary files a/test/de_fuzz/corpus/corpus_578 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_579 b/test/de_fuzz/corpus/corpus_579 deleted file mode 100644 index 4f53d7d41..000000000 Binary files a/test/de_fuzz/corpus/corpus_579 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_58 b/test/de_fuzz/corpus/corpus_58 deleted file mode 100644 index ec952d7f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_58 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_580 b/test/de_fuzz/corpus/corpus_580 deleted file mode 100644 index 3b9cb6469..000000000 Binary files a/test/de_fuzz/corpus/corpus_580 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_581 b/test/de_fuzz/corpus/corpus_581 deleted file mode 100644 index ea993edb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_581 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_582 b/test/de_fuzz/corpus/corpus_582 deleted file mode 100644 index 2109ce685..000000000 Binary files a/test/de_fuzz/corpus/corpus_582 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_583 b/test/de_fuzz/corpus/corpus_583 deleted file mode 100644 index 8dfe5aa76..000000000 Binary files a/test/de_fuzz/corpus/corpus_583 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_584 b/test/de_fuzz/corpus/corpus_584 deleted file mode 100644 index aeec69042..000000000 Binary files a/test/de_fuzz/corpus/corpus_584 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_585 b/test/de_fuzz/corpus/corpus_585 deleted file mode 100644 index 6fb4103fa..000000000 Binary files a/test/de_fuzz/corpus/corpus_585 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_586 b/test/de_fuzz/corpus/corpus_586 deleted file mode 100644 index 6535cc15a..000000000 Binary files a/test/de_fuzz/corpus/corpus_586 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_587 b/test/de_fuzz/corpus/corpus_587 deleted file mode 100644 index fcfe36774..000000000 Binary files a/test/de_fuzz/corpus/corpus_587 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_588 b/test/de_fuzz/corpus/corpus_588 deleted file mode 100644 index 222cb031a..000000000 Binary files a/test/de_fuzz/corpus/corpus_588 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_589 b/test/de_fuzz/corpus/corpus_589 deleted file mode 100644 index b0cff762c..000000000 Binary files a/test/de_fuzz/corpus/corpus_589 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_59 b/test/de_fuzz/corpus/corpus_59 deleted file mode 100644 index 2e1abdb06..000000000 Binary files a/test/de_fuzz/corpus/corpus_59 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_590 b/test/de_fuzz/corpus/corpus_590 deleted file mode 100644 index c1365b05b..000000000 Binary files a/test/de_fuzz/corpus/corpus_590 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_591 b/test/de_fuzz/corpus/corpus_591 deleted file mode 100644 index 936d253ab..000000000 Binary files a/test/de_fuzz/corpus/corpus_591 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_592 b/test/de_fuzz/corpus/corpus_592 deleted file mode 100644 index 4eede60bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_592 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_593 b/test/de_fuzz/corpus/corpus_593 deleted file mode 100644 index c57501a08..000000000 Binary files a/test/de_fuzz/corpus/corpus_593 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_594 b/test/de_fuzz/corpus/corpus_594 deleted file mode 100644 index cc56e82f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_594 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_595 b/test/de_fuzz/corpus/corpus_595 deleted file mode 100644 index 63f9ceb39..000000000 Binary files a/test/de_fuzz/corpus/corpus_595 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_596 b/test/de_fuzz/corpus/corpus_596 deleted file mode 100644 index b04e38374..000000000 Binary files a/test/de_fuzz/corpus/corpus_596 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_597 b/test/de_fuzz/corpus/corpus_597 deleted file mode 100644 index 9bc86f2da..000000000 Binary files a/test/de_fuzz/corpus/corpus_597 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_598 b/test/de_fuzz/corpus/corpus_598 deleted file mode 100644 index 664ea56ae..000000000 Binary files a/test/de_fuzz/corpus/corpus_598 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_599 b/test/de_fuzz/corpus/corpus_599 deleted file mode 100644 index 3dbe89cff..000000000 Binary files a/test/de_fuzz/corpus/corpus_599 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_6 b/test/de_fuzz/corpus/corpus_6 deleted file mode 100644 index 0b587cb07..000000000 Binary files a/test/de_fuzz/corpus/corpus_6 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_60 b/test/de_fuzz/corpus/corpus_60 deleted file mode 100644 index 463d3e5f8..000000000 Binary files a/test/de_fuzz/corpus/corpus_60 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_600 b/test/de_fuzz/corpus/corpus_600 deleted file mode 100644 index 0a2de8aba..000000000 Binary files a/test/de_fuzz/corpus/corpus_600 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_601 b/test/de_fuzz/corpus/corpus_601 deleted file mode 100644 index ab2cae541..000000000 Binary files a/test/de_fuzz/corpus/corpus_601 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_602 b/test/de_fuzz/corpus/corpus_602 deleted file mode 100644 index 259dc751c..000000000 Binary files a/test/de_fuzz/corpus/corpus_602 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_603 b/test/de_fuzz/corpus/corpus_603 deleted file mode 100644 index b30a186bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_603 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_604 b/test/de_fuzz/corpus/corpus_604 deleted file mode 100644 index 2207f4681..000000000 Binary files a/test/de_fuzz/corpus/corpus_604 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_605 b/test/de_fuzz/corpus/corpus_605 deleted file mode 100644 index ee9edbf1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_605 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_606 b/test/de_fuzz/corpus/corpus_606 deleted file mode 100644 index 643826ac3..000000000 Binary files a/test/de_fuzz/corpus/corpus_606 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_607 b/test/de_fuzz/corpus/corpus_607 deleted file mode 100644 index 8562648e4..000000000 Binary files a/test/de_fuzz/corpus/corpus_607 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_608 b/test/de_fuzz/corpus/corpus_608 deleted file mode 100644 index f30c82758..000000000 Binary files a/test/de_fuzz/corpus/corpus_608 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_609 b/test/de_fuzz/corpus/corpus_609 deleted file mode 100644 index 41725dc0e..000000000 Binary files a/test/de_fuzz/corpus/corpus_609 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_61 b/test/de_fuzz/corpus/corpus_61 deleted file mode 100644 index 3123b0057..000000000 Binary files a/test/de_fuzz/corpus/corpus_61 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_610 b/test/de_fuzz/corpus/corpus_610 deleted file mode 100644 index 0ec648d66..000000000 Binary files a/test/de_fuzz/corpus/corpus_610 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_611 b/test/de_fuzz/corpus/corpus_611 deleted file mode 100644 index 87b3ecf8f..000000000 Binary files a/test/de_fuzz/corpus/corpus_611 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_612 b/test/de_fuzz/corpus/corpus_612 deleted file mode 100644 index 6f8df089c..000000000 Binary files a/test/de_fuzz/corpus/corpus_612 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_613 b/test/de_fuzz/corpus/corpus_613 deleted file mode 100644 index 8b28f9990..000000000 Binary files a/test/de_fuzz/corpus/corpus_613 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_614 b/test/de_fuzz/corpus/corpus_614 deleted file mode 100644 index cb0e66a7e..000000000 Binary files a/test/de_fuzz/corpus/corpus_614 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_615 b/test/de_fuzz/corpus/corpus_615 deleted file mode 100644 index 23698b9bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_615 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_616 b/test/de_fuzz/corpus/corpus_616 deleted file mode 100644 index 2f6741989..000000000 Binary files a/test/de_fuzz/corpus/corpus_616 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_617 b/test/de_fuzz/corpus/corpus_617 deleted file mode 100644 index 99f58f39d..000000000 Binary files a/test/de_fuzz/corpus/corpus_617 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_618 b/test/de_fuzz/corpus/corpus_618 deleted file mode 100644 index 548c0a998..000000000 Binary files a/test/de_fuzz/corpus/corpus_618 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_619 b/test/de_fuzz/corpus/corpus_619 deleted file mode 100644 index d88e5d7b5..000000000 Binary files a/test/de_fuzz/corpus/corpus_619 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_62 b/test/de_fuzz/corpus/corpus_62 deleted file mode 100644 index 34cff30e4..000000000 Binary files a/test/de_fuzz/corpus/corpus_62 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_620 b/test/de_fuzz/corpus/corpus_620 deleted file mode 100644 index b2d73082f..000000000 Binary files a/test/de_fuzz/corpus/corpus_620 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_621 b/test/de_fuzz/corpus/corpus_621 deleted file mode 100644 index c4d1c88b8..000000000 Binary files a/test/de_fuzz/corpus/corpus_621 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_622 b/test/de_fuzz/corpus/corpus_622 deleted file mode 100644 index 3ce5694a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_622 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_623 b/test/de_fuzz/corpus/corpus_623 deleted file mode 100644 index b3a46dbc3..000000000 Binary files a/test/de_fuzz/corpus/corpus_623 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_624 b/test/de_fuzz/corpus/corpus_624 deleted file mode 100644 index 5d8c9aad0..000000000 Binary files a/test/de_fuzz/corpus/corpus_624 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_625 b/test/de_fuzz/corpus/corpus_625 deleted file mode 100644 index 394ee40da..000000000 Binary files a/test/de_fuzz/corpus/corpus_625 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_626 b/test/de_fuzz/corpus/corpus_626 deleted file mode 100644 index 3c4f34b55..000000000 Binary files a/test/de_fuzz/corpus/corpus_626 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_627 b/test/de_fuzz/corpus/corpus_627 deleted file mode 100644 index 350bbc93c..000000000 Binary files a/test/de_fuzz/corpus/corpus_627 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_628 b/test/de_fuzz/corpus/corpus_628 deleted file mode 100644 index 9e95b7eb0..000000000 Binary files a/test/de_fuzz/corpus/corpus_628 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_629 b/test/de_fuzz/corpus/corpus_629 deleted file mode 100644 index 6e2987466..000000000 Binary files a/test/de_fuzz/corpus/corpus_629 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_63 b/test/de_fuzz/corpus/corpus_63 deleted file mode 100644 index 81f0b5a4a..000000000 Binary files a/test/de_fuzz/corpus/corpus_63 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_630 b/test/de_fuzz/corpus/corpus_630 deleted file mode 100644 index 48de3e796..000000000 Binary files a/test/de_fuzz/corpus/corpus_630 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_631 b/test/de_fuzz/corpus/corpus_631 deleted file mode 100644 index 937230afd..000000000 Binary files a/test/de_fuzz/corpus/corpus_631 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_632 b/test/de_fuzz/corpus/corpus_632 deleted file mode 100644 index 4b4bca055..000000000 Binary files a/test/de_fuzz/corpus/corpus_632 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_633 b/test/de_fuzz/corpus/corpus_633 deleted file mode 100644 index 4e12e9adb..000000000 Binary files a/test/de_fuzz/corpus/corpus_633 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_634 b/test/de_fuzz/corpus/corpus_634 deleted file mode 100644 index 915d75c95..000000000 Binary files a/test/de_fuzz/corpus/corpus_634 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_635 b/test/de_fuzz/corpus/corpus_635 deleted file mode 100644 index 90459b8f3..000000000 Binary files a/test/de_fuzz/corpus/corpus_635 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_636 b/test/de_fuzz/corpus/corpus_636 deleted file mode 100644 index 02a0f65ec..000000000 Binary files a/test/de_fuzz/corpus/corpus_636 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_637 b/test/de_fuzz/corpus/corpus_637 deleted file mode 100644 index e79483f1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_637 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_638 b/test/de_fuzz/corpus/corpus_638 deleted file mode 100644 index 4395e19cf..000000000 Binary files a/test/de_fuzz/corpus/corpus_638 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_639 b/test/de_fuzz/corpus/corpus_639 deleted file mode 100644 index 64aa0f14a..000000000 Binary files a/test/de_fuzz/corpus/corpus_639 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_64 b/test/de_fuzz/corpus/corpus_64 deleted file mode 100644 index f714e69fc..000000000 Binary files a/test/de_fuzz/corpus/corpus_64 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_640 b/test/de_fuzz/corpus/corpus_640 deleted file mode 100644 index fe7de0a6f..000000000 Binary files a/test/de_fuzz/corpus/corpus_640 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_641 b/test/de_fuzz/corpus/corpus_641 deleted file mode 100644 index ef4b8550e..000000000 Binary files a/test/de_fuzz/corpus/corpus_641 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_642 b/test/de_fuzz/corpus/corpus_642 deleted file mode 100644 index ea2e8076b..000000000 Binary files a/test/de_fuzz/corpus/corpus_642 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_643 b/test/de_fuzz/corpus/corpus_643 deleted file mode 100644 index 90d5e9ae8..000000000 Binary files a/test/de_fuzz/corpus/corpus_643 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_644 b/test/de_fuzz/corpus/corpus_644 deleted file mode 100644 index 888ef79c5..000000000 Binary files a/test/de_fuzz/corpus/corpus_644 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_645 b/test/de_fuzz/corpus/corpus_645 deleted file mode 100644 index 0644cdd09..000000000 Binary files a/test/de_fuzz/corpus/corpus_645 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_646 b/test/de_fuzz/corpus/corpus_646 deleted file mode 100644 index e33646d2b..000000000 Binary files a/test/de_fuzz/corpus/corpus_646 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_647 b/test/de_fuzz/corpus/corpus_647 deleted file mode 100644 index ad957289d..000000000 Binary files a/test/de_fuzz/corpus/corpus_647 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_648 b/test/de_fuzz/corpus/corpus_648 deleted file mode 100644 index 26362a2bf..000000000 Binary files a/test/de_fuzz/corpus/corpus_648 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_649 b/test/de_fuzz/corpus/corpus_649 deleted file mode 100644 index b81e06946..000000000 Binary files a/test/de_fuzz/corpus/corpus_649 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_65 b/test/de_fuzz/corpus/corpus_65 deleted file mode 100644 index 046585ea9..000000000 Binary files a/test/de_fuzz/corpus/corpus_65 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_650 b/test/de_fuzz/corpus/corpus_650 deleted file mode 100644 index bc8e5f4f6..000000000 Binary files a/test/de_fuzz/corpus/corpus_650 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_651 b/test/de_fuzz/corpus/corpus_651 deleted file mode 100644 index 2757c9afc..000000000 Binary files a/test/de_fuzz/corpus/corpus_651 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_652 b/test/de_fuzz/corpus/corpus_652 deleted file mode 100644 index b24bf805b..000000000 Binary files a/test/de_fuzz/corpus/corpus_652 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_653 b/test/de_fuzz/corpus/corpus_653 deleted file mode 100644 index 63f65ad7a..000000000 Binary files a/test/de_fuzz/corpus/corpus_653 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_654 b/test/de_fuzz/corpus/corpus_654 deleted file mode 100644 index e4a9814cb..000000000 Binary files a/test/de_fuzz/corpus/corpus_654 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_655 b/test/de_fuzz/corpus/corpus_655 deleted file mode 100644 index d5261fcbb..000000000 Binary files a/test/de_fuzz/corpus/corpus_655 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_656 b/test/de_fuzz/corpus/corpus_656 deleted file mode 100644 index afc89c893..000000000 Binary files a/test/de_fuzz/corpus/corpus_656 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_657 b/test/de_fuzz/corpus/corpus_657 deleted file mode 100644 index a82871527..000000000 Binary files a/test/de_fuzz/corpus/corpus_657 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_658 b/test/de_fuzz/corpus/corpus_658 deleted file mode 100644 index 64cedf3d6..000000000 Binary files a/test/de_fuzz/corpus/corpus_658 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_659 b/test/de_fuzz/corpus/corpus_659 deleted file mode 100644 index 48994261e..000000000 Binary files a/test/de_fuzz/corpus/corpus_659 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_66 b/test/de_fuzz/corpus/corpus_66 deleted file mode 100644 index 702333b59..000000000 Binary files a/test/de_fuzz/corpus/corpus_66 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_660 b/test/de_fuzz/corpus/corpus_660 deleted file mode 100644 index 626f0e760..000000000 Binary files a/test/de_fuzz/corpus/corpus_660 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_661 b/test/de_fuzz/corpus/corpus_661 deleted file mode 100644 index 8c015fbb0..000000000 Binary files a/test/de_fuzz/corpus/corpus_661 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_662 b/test/de_fuzz/corpus/corpus_662 deleted file mode 100644 index 34db3251f..000000000 Binary files a/test/de_fuzz/corpus/corpus_662 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_663 b/test/de_fuzz/corpus/corpus_663 deleted file mode 100644 index 0e2441db2..000000000 Binary files a/test/de_fuzz/corpus/corpus_663 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_664 b/test/de_fuzz/corpus/corpus_664 deleted file mode 100644 index b35fc2ee3..000000000 Binary files a/test/de_fuzz/corpus/corpus_664 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_665 b/test/de_fuzz/corpus/corpus_665 deleted file mode 100644 index eecf9db8a..000000000 Binary files a/test/de_fuzz/corpus/corpus_665 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_666 b/test/de_fuzz/corpus/corpus_666 deleted file mode 100644 index cec40a246..000000000 Binary files a/test/de_fuzz/corpus/corpus_666 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_667 b/test/de_fuzz/corpus/corpus_667 deleted file mode 100644 index 929b58da8..000000000 Binary files a/test/de_fuzz/corpus/corpus_667 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_668 b/test/de_fuzz/corpus/corpus_668 deleted file mode 100644 index db3aa684c..000000000 Binary files a/test/de_fuzz/corpus/corpus_668 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_669 b/test/de_fuzz/corpus/corpus_669 deleted file mode 100644 index 29bae065e..000000000 Binary files a/test/de_fuzz/corpus/corpus_669 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_67 b/test/de_fuzz/corpus/corpus_67 deleted file mode 100644 index 17b90fbf5..000000000 Binary files a/test/de_fuzz/corpus/corpus_67 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_670 b/test/de_fuzz/corpus/corpus_670 deleted file mode 100644 index 93a83919f..000000000 Binary files a/test/de_fuzz/corpus/corpus_670 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_671 b/test/de_fuzz/corpus/corpus_671 deleted file mode 100644 index 874d5c71a..000000000 Binary files a/test/de_fuzz/corpus/corpus_671 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_672 b/test/de_fuzz/corpus/corpus_672 deleted file mode 100644 index 49e8b6710..000000000 Binary files a/test/de_fuzz/corpus/corpus_672 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_673 b/test/de_fuzz/corpus/corpus_673 deleted file mode 100644 index 958bf360c..000000000 Binary files a/test/de_fuzz/corpus/corpus_673 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_674 b/test/de_fuzz/corpus/corpus_674 deleted file mode 100644 index 5a2244e8e..000000000 Binary files a/test/de_fuzz/corpus/corpus_674 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_675 b/test/de_fuzz/corpus/corpus_675 deleted file mode 100644 index a59443b5d..000000000 Binary files a/test/de_fuzz/corpus/corpus_675 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_676 b/test/de_fuzz/corpus/corpus_676 deleted file mode 100644 index 1fe8948db..000000000 Binary files a/test/de_fuzz/corpus/corpus_676 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_677 b/test/de_fuzz/corpus/corpus_677 deleted file mode 100644 index 8c2591018..000000000 Binary files a/test/de_fuzz/corpus/corpus_677 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_678 b/test/de_fuzz/corpus/corpus_678 deleted file mode 100644 index 708800f52..000000000 Binary files a/test/de_fuzz/corpus/corpus_678 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_679 b/test/de_fuzz/corpus/corpus_679 deleted file mode 100644 index 542c9b20f..000000000 Binary files a/test/de_fuzz/corpus/corpus_679 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_68 b/test/de_fuzz/corpus/corpus_68 deleted file mode 100644 index 2b32e56ab..000000000 Binary files a/test/de_fuzz/corpus/corpus_68 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_680 b/test/de_fuzz/corpus/corpus_680 deleted file mode 100644 index f8db95cbf..000000000 Binary files a/test/de_fuzz/corpus/corpus_680 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_681 b/test/de_fuzz/corpus/corpus_681 deleted file mode 100644 index 9ddc9569f..000000000 Binary files a/test/de_fuzz/corpus/corpus_681 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_682 b/test/de_fuzz/corpus/corpus_682 deleted file mode 100644 index b6343271b..000000000 Binary files a/test/de_fuzz/corpus/corpus_682 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_683 b/test/de_fuzz/corpus/corpus_683 deleted file mode 100644 index cdb602bed..000000000 Binary files a/test/de_fuzz/corpus/corpus_683 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_684 b/test/de_fuzz/corpus/corpus_684 deleted file mode 100644 index 4dc6e2f0b..000000000 Binary files a/test/de_fuzz/corpus/corpus_684 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_685 b/test/de_fuzz/corpus/corpus_685 deleted file mode 100644 index ef247df52..000000000 Binary files a/test/de_fuzz/corpus/corpus_685 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_686 b/test/de_fuzz/corpus/corpus_686 deleted file mode 100644 index 4b90286db..000000000 Binary files a/test/de_fuzz/corpus/corpus_686 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_687 b/test/de_fuzz/corpus/corpus_687 deleted file mode 100644 index 7435f2fd3..000000000 Binary files a/test/de_fuzz/corpus/corpus_687 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_688 b/test/de_fuzz/corpus/corpus_688 deleted file mode 100644 index 10a28b487..000000000 Binary files a/test/de_fuzz/corpus/corpus_688 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_689 b/test/de_fuzz/corpus/corpus_689 deleted file mode 100644 index 246096374..000000000 Binary files a/test/de_fuzz/corpus/corpus_689 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_69 b/test/de_fuzz/corpus/corpus_69 deleted file mode 100644 index e1f169c92..000000000 Binary files a/test/de_fuzz/corpus/corpus_69 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_690 b/test/de_fuzz/corpus/corpus_690 deleted file mode 100644 index 718a9f0ca..000000000 Binary files a/test/de_fuzz/corpus/corpus_690 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_691 b/test/de_fuzz/corpus/corpus_691 deleted file mode 100644 index f691d74c8..000000000 Binary files a/test/de_fuzz/corpus/corpus_691 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_692 b/test/de_fuzz/corpus/corpus_692 deleted file mode 100644 index a9d81fab9..000000000 Binary files a/test/de_fuzz/corpus/corpus_692 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_693 b/test/de_fuzz/corpus/corpus_693 deleted file mode 100644 index 3d248bb65..000000000 Binary files a/test/de_fuzz/corpus/corpus_693 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_694 b/test/de_fuzz/corpus/corpus_694 deleted file mode 100644 index bc1dabd31..000000000 Binary files a/test/de_fuzz/corpus/corpus_694 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_695 b/test/de_fuzz/corpus/corpus_695 deleted file mode 100644 index 2a08a8e53..000000000 Binary files a/test/de_fuzz/corpus/corpus_695 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_696 b/test/de_fuzz/corpus/corpus_696 deleted file mode 100644 index 61a8128b7..000000000 Binary files a/test/de_fuzz/corpus/corpus_696 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_697 b/test/de_fuzz/corpus/corpus_697 deleted file mode 100644 index 2882ed262..000000000 Binary files a/test/de_fuzz/corpus/corpus_697 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_698 b/test/de_fuzz/corpus/corpus_698 deleted file mode 100644 index a4a908435..000000000 Binary files a/test/de_fuzz/corpus/corpus_698 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_699 b/test/de_fuzz/corpus/corpus_699 deleted file mode 100644 index 45eb8d04f..000000000 Binary files a/test/de_fuzz/corpus/corpus_699 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_7 b/test/de_fuzz/corpus/corpus_7 deleted file mode 100644 index bb00f059a..000000000 Binary files a/test/de_fuzz/corpus/corpus_7 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_70 b/test/de_fuzz/corpus/corpus_70 deleted file mode 100644 index dc8688112..000000000 Binary files a/test/de_fuzz/corpus/corpus_70 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_700 b/test/de_fuzz/corpus/corpus_700 deleted file mode 100644 index 30524bd5e..000000000 Binary files a/test/de_fuzz/corpus/corpus_700 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_701 b/test/de_fuzz/corpus/corpus_701 deleted file mode 100644 index bab7dd117..000000000 Binary files a/test/de_fuzz/corpus/corpus_701 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_702 b/test/de_fuzz/corpus/corpus_702 deleted file mode 100644 index 420670725..000000000 Binary files a/test/de_fuzz/corpus/corpus_702 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_703 b/test/de_fuzz/corpus/corpus_703 deleted file mode 100644 index 25ec5143f..000000000 Binary files a/test/de_fuzz/corpus/corpus_703 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_704 b/test/de_fuzz/corpus/corpus_704 deleted file mode 100644 index 774c829c9..000000000 Binary files a/test/de_fuzz/corpus/corpus_704 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_705 b/test/de_fuzz/corpus/corpus_705 deleted file mode 100644 index 10f21e71c..000000000 Binary files a/test/de_fuzz/corpus/corpus_705 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_706 b/test/de_fuzz/corpus/corpus_706 deleted file mode 100644 index 7abcec84c..000000000 Binary files a/test/de_fuzz/corpus/corpus_706 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_707 b/test/de_fuzz/corpus/corpus_707 deleted file mode 100644 index 95ff68c00..000000000 Binary files a/test/de_fuzz/corpus/corpus_707 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_708 b/test/de_fuzz/corpus/corpus_708 deleted file mode 100644 index 2f54d4af1..000000000 Binary files a/test/de_fuzz/corpus/corpus_708 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_709 b/test/de_fuzz/corpus/corpus_709 deleted file mode 100644 index cb18909e4..000000000 Binary files a/test/de_fuzz/corpus/corpus_709 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_71 b/test/de_fuzz/corpus/corpus_71 deleted file mode 100644 index 4c80847f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_71 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_710 b/test/de_fuzz/corpus/corpus_710 deleted file mode 100644 index db6ccedfa..000000000 Binary files a/test/de_fuzz/corpus/corpus_710 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_711 b/test/de_fuzz/corpus/corpus_711 deleted file mode 100644 index 7bada2e10..000000000 Binary files a/test/de_fuzz/corpus/corpus_711 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_712 b/test/de_fuzz/corpus/corpus_712 deleted file mode 100644 index ede8b3078..000000000 Binary files a/test/de_fuzz/corpus/corpus_712 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_713 b/test/de_fuzz/corpus/corpus_713 deleted file mode 100644 index 1fad0855d..000000000 Binary files a/test/de_fuzz/corpus/corpus_713 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_714 b/test/de_fuzz/corpus/corpus_714 deleted file mode 100644 index b90790ab1..000000000 Binary files a/test/de_fuzz/corpus/corpus_714 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_715 b/test/de_fuzz/corpus/corpus_715 deleted file mode 100644 index a6d587d94..000000000 Binary files a/test/de_fuzz/corpus/corpus_715 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_716 b/test/de_fuzz/corpus/corpus_716 deleted file mode 100644 index a680e90cb..000000000 Binary files a/test/de_fuzz/corpus/corpus_716 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_717 b/test/de_fuzz/corpus/corpus_717 deleted file mode 100644 index 82e5f9c46..000000000 Binary files a/test/de_fuzz/corpus/corpus_717 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_718 b/test/de_fuzz/corpus/corpus_718 deleted file mode 100644 index 15c124d2b..000000000 Binary files a/test/de_fuzz/corpus/corpus_718 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_719 b/test/de_fuzz/corpus/corpus_719 deleted file mode 100644 index 85ed3fe65..000000000 Binary files a/test/de_fuzz/corpus/corpus_719 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_72 b/test/de_fuzz/corpus/corpus_72 deleted file mode 100644 index 060c37e09..000000000 Binary files a/test/de_fuzz/corpus/corpus_72 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_720 b/test/de_fuzz/corpus/corpus_720 deleted file mode 100644 index 00232f23c..000000000 Binary files a/test/de_fuzz/corpus/corpus_720 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_721 b/test/de_fuzz/corpus/corpus_721 deleted file mode 100644 index f13798d83..000000000 Binary files a/test/de_fuzz/corpus/corpus_721 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_722 b/test/de_fuzz/corpus/corpus_722 deleted file mode 100644 index b41b827d4..000000000 Binary files a/test/de_fuzz/corpus/corpus_722 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_723 b/test/de_fuzz/corpus/corpus_723 deleted file mode 100644 index 06f0a1fb6..000000000 Binary files a/test/de_fuzz/corpus/corpus_723 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_724 b/test/de_fuzz/corpus/corpus_724 deleted file mode 100644 index f46ef2cb2..000000000 Binary files a/test/de_fuzz/corpus/corpus_724 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_725 b/test/de_fuzz/corpus/corpus_725 deleted file mode 100644 index d8aeb7e9e..000000000 Binary files a/test/de_fuzz/corpus/corpus_725 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_726 b/test/de_fuzz/corpus/corpus_726 deleted file mode 100644 index d920b6774..000000000 Binary files a/test/de_fuzz/corpus/corpus_726 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_727 b/test/de_fuzz/corpus/corpus_727 deleted file mode 100644 index a31c0c300..000000000 Binary files a/test/de_fuzz/corpus/corpus_727 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_728 b/test/de_fuzz/corpus/corpus_728 deleted file mode 100644 index 0159c030a..000000000 Binary files a/test/de_fuzz/corpus/corpus_728 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_729 b/test/de_fuzz/corpus/corpus_729 deleted file mode 100644 index ae2e6f28d..000000000 Binary files a/test/de_fuzz/corpus/corpus_729 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_73 b/test/de_fuzz/corpus/corpus_73 deleted file mode 100644 index 7baad4250..000000000 Binary files a/test/de_fuzz/corpus/corpus_73 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_730 b/test/de_fuzz/corpus/corpus_730 deleted file mode 100644 index 2c50ba0b1..000000000 Binary files a/test/de_fuzz/corpus/corpus_730 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_731 b/test/de_fuzz/corpus/corpus_731 deleted file mode 100644 index 456ece761..000000000 Binary files a/test/de_fuzz/corpus/corpus_731 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_732 b/test/de_fuzz/corpus/corpus_732 deleted file mode 100644 index 03f25148b..000000000 Binary files a/test/de_fuzz/corpus/corpus_732 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_733 b/test/de_fuzz/corpus/corpus_733 deleted file mode 100644 index 2cf307cff..000000000 Binary files a/test/de_fuzz/corpus/corpus_733 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_734 b/test/de_fuzz/corpus/corpus_734 deleted file mode 100644 index 091eb4ae7..000000000 Binary files a/test/de_fuzz/corpus/corpus_734 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_735 b/test/de_fuzz/corpus/corpus_735 deleted file mode 100644 index b3795c2bb..000000000 Binary files a/test/de_fuzz/corpus/corpus_735 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_736 b/test/de_fuzz/corpus/corpus_736 deleted file mode 100644 index a458ceaa4..000000000 Binary files a/test/de_fuzz/corpus/corpus_736 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_737 b/test/de_fuzz/corpus/corpus_737 deleted file mode 100644 index c10565306..000000000 Binary files a/test/de_fuzz/corpus/corpus_737 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_738 b/test/de_fuzz/corpus/corpus_738 deleted file mode 100644 index 57147b8bd..000000000 Binary files a/test/de_fuzz/corpus/corpus_738 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_739 b/test/de_fuzz/corpus/corpus_739 deleted file mode 100644 index 2640b14eb..000000000 Binary files a/test/de_fuzz/corpus/corpus_739 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_74 b/test/de_fuzz/corpus/corpus_74 deleted file mode 100644 index c15c7798d..000000000 Binary files a/test/de_fuzz/corpus/corpus_74 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_740 b/test/de_fuzz/corpus/corpus_740 deleted file mode 100644 index 5963d2e51..000000000 Binary files a/test/de_fuzz/corpus/corpus_740 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_741 b/test/de_fuzz/corpus/corpus_741 deleted file mode 100644 index 553a0ae50..000000000 Binary files a/test/de_fuzz/corpus/corpus_741 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_742 b/test/de_fuzz/corpus/corpus_742 deleted file mode 100644 index 2ce0e4697..000000000 Binary files a/test/de_fuzz/corpus/corpus_742 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_743 b/test/de_fuzz/corpus/corpus_743 deleted file mode 100644 index 68117b3d8..000000000 Binary files a/test/de_fuzz/corpus/corpus_743 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_744 b/test/de_fuzz/corpus/corpus_744 deleted file mode 100644 index 73f072477..000000000 Binary files a/test/de_fuzz/corpus/corpus_744 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_745 b/test/de_fuzz/corpus/corpus_745 deleted file mode 100644 index 1b0c6c1da..000000000 Binary files a/test/de_fuzz/corpus/corpus_745 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_746 b/test/de_fuzz/corpus/corpus_746 deleted file mode 100644 index 7130a6fe1..000000000 Binary files a/test/de_fuzz/corpus/corpus_746 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_747 b/test/de_fuzz/corpus/corpus_747 deleted file mode 100644 index 779d6c44e..000000000 Binary files a/test/de_fuzz/corpus/corpus_747 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_748 b/test/de_fuzz/corpus/corpus_748 deleted file mode 100644 index c61854ad8..000000000 Binary files a/test/de_fuzz/corpus/corpus_748 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_749 b/test/de_fuzz/corpus/corpus_749 deleted file mode 100644 index 6fdfa01f3..000000000 Binary files a/test/de_fuzz/corpus/corpus_749 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_75 b/test/de_fuzz/corpus/corpus_75 deleted file mode 100644 index 1e2726eea..000000000 Binary files a/test/de_fuzz/corpus/corpus_75 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_750 b/test/de_fuzz/corpus/corpus_750 deleted file mode 100644 index 173d5e92e..000000000 Binary files a/test/de_fuzz/corpus/corpus_750 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_751 b/test/de_fuzz/corpus/corpus_751 deleted file mode 100644 index 142cacc05..000000000 Binary files a/test/de_fuzz/corpus/corpus_751 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_752 b/test/de_fuzz/corpus/corpus_752 deleted file mode 100644 index 710a6273c..000000000 Binary files a/test/de_fuzz/corpus/corpus_752 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_753 b/test/de_fuzz/corpus/corpus_753 deleted file mode 100644 index cd10c30ac..000000000 Binary files a/test/de_fuzz/corpus/corpus_753 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_754 b/test/de_fuzz/corpus/corpus_754 deleted file mode 100644 index 57b49a497..000000000 Binary files a/test/de_fuzz/corpus/corpus_754 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_755 b/test/de_fuzz/corpus/corpus_755 deleted file mode 100644 index 3d808438d..000000000 Binary files a/test/de_fuzz/corpus/corpus_755 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_756 b/test/de_fuzz/corpus/corpus_756 deleted file mode 100644 index 7956e01c4..000000000 Binary files a/test/de_fuzz/corpus/corpus_756 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_757 b/test/de_fuzz/corpus/corpus_757 deleted file mode 100644 index e0c7788dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_757 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_758 b/test/de_fuzz/corpus/corpus_758 deleted file mode 100644 index a5e9fc019..000000000 Binary files a/test/de_fuzz/corpus/corpus_758 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_759 b/test/de_fuzz/corpus/corpus_759 deleted file mode 100644 index 6d78f0f09..000000000 Binary files a/test/de_fuzz/corpus/corpus_759 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_76 b/test/de_fuzz/corpus/corpus_76 deleted file mode 100644 index 6437d58ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_76 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_760 b/test/de_fuzz/corpus/corpus_760 deleted file mode 100644 index 69fef024b..000000000 Binary files a/test/de_fuzz/corpus/corpus_760 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_761 b/test/de_fuzz/corpus/corpus_761 deleted file mode 100644 index 9550bdc22..000000000 Binary files a/test/de_fuzz/corpus/corpus_761 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_762 b/test/de_fuzz/corpus/corpus_762 deleted file mode 100644 index 5651e28fd..000000000 Binary files a/test/de_fuzz/corpus/corpus_762 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_763 b/test/de_fuzz/corpus/corpus_763 deleted file mode 100644 index f742f332a..000000000 Binary files a/test/de_fuzz/corpus/corpus_763 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_764 b/test/de_fuzz/corpus/corpus_764 deleted file mode 100644 index b640c3d80..000000000 Binary files a/test/de_fuzz/corpus/corpus_764 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_765 b/test/de_fuzz/corpus/corpus_765 deleted file mode 100644 index 4f30ceeb7..000000000 Binary files a/test/de_fuzz/corpus/corpus_765 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_766 b/test/de_fuzz/corpus/corpus_766 deleted file mode 100644 index 64c6f7df5..000000000 Binary files a/test/de_fuzz/corpus/corpus_766 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_767 b/test/de_fuzz/corpus/corpus_767 deleted file mode 100644 index 94d90969a..000000000 Binary files a/test/de_fuzz/corpus/corpus_767 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_768 b/test/de_fuzz/corpus/corpus_768 deleted file mode 100644 index 6abc822f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_768 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_769 b/test/de_fuzz/corpus/corpus_769 deleted file mode 100644 index 000635edc..000000000 Binary files a/test/de_fuzz/corpus/corpus_769 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_77 b/test/de_fuzz/corpus/corpus_77 deleted file mode 100644 index 97b098e44..000000000 Binary files a/test/de_fuzz/corpus/corpus_77 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_770 b/test/de_fuzz/corpus/corpus_770 deleted file mode 100644 index 744aee309..000000000 Binary files a/test/de_fuzz/corpus/corpus_770 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_771 b/test/de_fuzz/corpus/corpus_771 deleted file mode 100644 index 210fb3cba..000000000 Binary files a/test/de_fuzz/corpus/corpus_771 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_772 b/test/de_fuzz/corpus/corpus_772 deleted file mode 100644 index 590143059..000000000 Binary files a/test/de_fuzz/corpus/corpus_772 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_773 b/test/de_fuzz/corpus/corpus_773 deleted file mode 100644 index 8270e3ef8..000000000 Binary files a/test/de_fuzz/corpus/corpus_773 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_774 b/test/de_fuzz/corpus/corpus_774 deleted file mode 100644 index f95f010dc..000000000 Binary files a/test/de_fuzz/corpus/corpus_774 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_775 b/test/de_fuzz/corpus/corpus_775 deleted file mode 100644 index 0a9245d27..000000000 Binary files a/test/de_fuzz/corpus/corpus_775 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_776 b/test/de_fuzz/corpus/corpus_776 deleted file mode 100644 index ab65076de..000000000 Binary files a/test/de_fuzz/corpus/corpus_776 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_777 b/test/de_fuzz/corpus/corpus_777 deleted file mode 100644 index d3c65f9c0..000000000 Binary files a/test/de_fuzz/corpus/corpus_777 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_778 b/test/de_fuzz/corpus/corpus_778 deleted file mode 100644 index 0c36dba3d..000000000 Binary files a/test/de_fuzz/corpus/corpus_778 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_779 b/test/de_fuzz/corpus/corpus_779 deleted file mode 100644 index 36520404a..000000000 Binary files a/test/de_fuzz/corpus/corpus_779 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_78 b/test/de_fuzz/corpus/corpus_78 deleted file mode 100644 index b47f4b4fb..000000000 Binary files a/test/de_fuzz/corpus/corpus_78 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_780 b/test/de_fuzz/corpus/corpus_780 deleted file mode 100644 index cf12c4977..000000000 Binary files a/test/de_fuzz/corpus/corpus_780 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_781 b/test/de_fuzz/corpus/corpus_781 deleted file mode 100644 index ada0a7821..000000000 Binary files a/test/de_fuzz/corpus/corpus_781 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_782 b/test/de_fuzz/corpus/corpus_782 deleted file mode 100644 index f828d6260..000000000 Binary files a/test/de_fuzz/corpus/corpus_782 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_783 b/test/de_fuzz/corpus/corpus_783 deleted file mode 100644 index 5128241de..000000000 Binary files a/test/de_fuzz/corpus/corpus_783 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_784 b/test/de_fuzz/corpus/corpus_784 deleted file mode 100644 index e5fd80cb0..000000000 Binary files a/test/de_fuzz/corpus/corpus_784 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_785 b/test/de_fuzz/corpus/corpus_785 deleted file mode 100644 index 87315fe84..000000000 Binary files a/test/de_fuzz/corpus/corpus_785 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_786 b/test/de_fuzz/corpus/corpus_786 deleted file mode 100644 index fbca3bfc3..000000000 Binary files a/test/de_fuzz/corpus/corpus_786 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_787 b/test/de_fuzz/corpus/corpus_787 deleted file mode 100644 index 062ee7713..000000000 Binary files a/test/de_fuzz/corpus/corpus_787 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_788 b/test/de_fuzz/corpus/corpus_788 deleted file mode 100644 index 985250a8b..000000000 Binary files a/test/de_fuzz/corpus/corpus_788 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_789 b/test/de_fuzz/corpus/corpus_789 deleted file mode 100644 index d15ca7b2f..000000000 Binary files a/test/de_fuzz/corpus/corpus_789 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_79 b/test/de_fuzz/corpus/corpus_79 deleted file mode 100644 index bbeea7417..000000000 Binary files a/test/de_fuzz/corpus/corpus_79 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_790 b/test/de_fuzz/corpus/corpus_790 deleted file mode 100644 index ee17d4c73..000000000 Binary files a/test/de_fuzz/corpus/corpus_790 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_791 b/test/de_fuzz/corpus/corpus_791 deleted file mode 100644 index 68245ef79..000000000 Binary files a/test/de_fuzz/corpus/corpus_791 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_792 b/test/de_fuzz/corpus/corpus_792 deleted file mode 100644 index 17c933331..000000000 Binary files a/test/de_fuzz/corpus/corpus_792 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_793 b/test/de_fuzz/corpus/corpus_793 deleted file mode 100644 index 52e088f10..000000000 Binary files a/test/de_fuzz/corpus/corpus_793 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_794 b/test/de_fuzz/corpus/corpus_794 deleted file mode 100644 index 45444fefc..000000000 Binary files a/test/de_fuzz/corpus/corpus_794 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_795 b/test/de_fuzz/corpus/corpus_795 deleted file mode 100644 index c65d57aca..000000000 Binary files a/test/de_fuzz/corpus/corpus_795 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_796 b/test/de_fuzz/corpus/corpus_796 deleted file mode 100644 index 1681d8c6a..000000000 Binary files a/test/de_fuzz/corpus/corpus_796 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_797 b/test/de_fuzz/corpus/corpus_797 deleted file mode 100644 index e3c1e746c..000000000 Binary files a/test/de_fuzz/corpus/corpus_797 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_798 b/test/de_fuzz/corpus/corpus_798 deleted file mode 100644 index d4293b954..000000000 Binary files a/test/de_fuzz/corpus/corpus_798 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_799 b/test/de_fuzz/corpus/corpus_799 deleted file mode 100644 index 81472e7b9..000000000 Binary files a/test/de_fuzz/corpus/corpus_799 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_8 b/test/de_fuzz/corpus/corpus_8 deleted file mode 100644 index 66bcd1990..000000000 Binary files a/test/de_fuzz/corpus/corpus_8 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_80 b/test/de_fuzz/corpus/corpus_80 deleted file mode 100644 index 6b0a50c45..000000000 Binary files a/test/de_fuzz/corpus/corpus_80 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_800 b/test/de_fuzz/corpus/corpus_800 deleted file mode 100644 index 89180497f..000000000 Binary files a/test/de_fuzz/corpus/corpus_800 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_801 b/test/de_fuzz/corpus/corpus_801 deleted file mode 100644 index 369f44033..000000000 Binary files a/test/de_fuzz/corpus/corpus_801 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_802 b/test/de_fuzz/corpus/corpus_802 deleted file mode 100644 index c8573d0e9..000000000 Binary files a/test/de_fuzz/corpus/corpus_802 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_803 b/test/de_fuzz/corpus/corpus_803 deleted file mode 100644 index b1a1d95f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_803 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_804 b/test/de_fuzz/corpus/corpus_804 deleted file mode 100644 index 0f70f048d..000000000 Binary files a/test/de_fuzz/corpus/corpus_804 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_805 b/test/de_fuzz/corpus/corpus_805 deleted file mode 100644 index c824d1612..000000000 Binary files a/test/de_fuzz/corpus/corpus_805 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_806 b/test/de_fuzz/corpus/corpus_806 deleted file mode 100644 index 80b27c5c8..000000000 Binary files a/test/de_fuzz/corpus/corpus_806 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_807 b/test/de_fuzz/corpus/corpus_807 deleted file mode 100644 index 67152b0e7..000000000 Binary files a/test/de_fuzz/corpus/corpus_807 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_808 b/test/de_fuzz/corpus/corpus_808 deleted file mode 100644 index d959c69c3..000000000 Binary files a/test/de_fuzz/corpus/corpus_808 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_809 b/test/de_fuzz/corpus/corpus_809 deleted file mode 100644 index 65488ad98..000000000 Binary files a/test/de_fuzz/corpus/corpus_809 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_81 b/test/de_fuzz/corpus/corpus_81 deleted file mode 100644 index a115a0a53..000000000 Binary files a/test/de_fuzz/corpus/corpus_81 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_810 b/test/de_fuzz/corpus/corpus_810 deleted file mode 100644 index c950794c3..000000000 Binary files a/test/de_fuzz/corpus/corpus_810 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_811 b/test/de_fuzz/corpus/corpus_811 deleted file mode 100644 index 6bb960747..000000000 Binary files a/test/de_fuzz/corpus/corpus_811 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_812 b/test/de_fuzz/corpus/corpus_812 deleted file mode 100644 index 3da8ce89c..000000000 Binary files a/test/de_fuzz/corpus/corpus_812 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_813 b/test/de_fuzz/corpus/corpus_813 deleted file mode 100644 index b88eee0ba..000000000 Binary files a/test/de_fuzz/corpus/corpus_813 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_814 b/test/de_fuzz/corpus/corpus_814 deleted file mode 100644 index 5573e1a14..000000000 Binary files a/test/de_fuzz/corpus/corpus_814 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_815 b/test/de_fuzz/corpus/corpus_815 deleted file mode 100644 index cb0babc6c..000000000 Binary files a/test/de_fuzz/corpus/corpus_815 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_816 b/test/de_fuzz/corpus/corpus_816 deleted file mode 100644 index 175ee1ba1..000000000 Binary files a/test/de_fuzz/corpus/corpus_816 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_817 b/test/de_fuzz/corpus/corpus_817 deleted file mode 100644 index 33ae468f1..000000000 Binary files a/test/de_fuzz/corpus/corpus_817 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_818 b/test/de_fuzz/corpus/corpus_818 deleted file mode 100644 index e8507390c..000000000 Binary files a/test/de_fuzz/corpus/corpus_818 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_819 b/test/de_fuzz/corpus/corpus_819 deleted file mode 100644 index 8e691b466..000000000 Binary files a/test/de_fuzz/corpus/corpus_819 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_82 b/test/de_fuzz/corpus/corpus_82 deleted file mode 100644 index 74e7500e1..000000000 Binary files a/test/de_fuzz/corpus/corpus_82 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_820 b/test/de_fuzz/corpus/corpus_820 deleted file mode 100644 index 61a4a9315..000000000 Binary files a/test/de_fuzz/corpus/corpus_820 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_821 b/test/de_fuzz/corpus/corpus_821 deleted file mode 100644 index 7f8e0c056..000000000 Binary files a/test/de_fuzz/corpus/corpus_821 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_822 b/test/de_fuzz/corpus/corpus_822 deleted file mode 100644 index 24207048e..000000000 Binary files a/test/de_fuzz/corpus/corpus_822 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_823 b/test/de_fuzz/corpus/corpus_823 deleted file mode 100644 index ee8d7aa75..000000000 Binary files a/test/de_fuzz/corpus/corpus_823 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_824 b/test/de_fuzz/corpus/corpus_824 deleted file mode 100644 index 4866cb301..000000000 Binary files a/test/de_fuzz/corpus/corpus_824 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_825 b/test/de_fuzz/corpus/corpus_825 deleted file mode 100644 index 33a14c429..000000000 Binary files a/test/de_fuzz/corpus/corpus_825 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_826 b/test/de_fuzz/corpus/corpus_826 deleted file mode 100644 index 8f999bdc6..000000000 Binary files a/test/de_fuzz/corpus/corpus_826 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_827 b/test/de_fuzz/corpus/corpus_827 deleted file mode 100644 index 705427af6..000000000 Binary files a/test/de_fuzz/corpus/corpus_827 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_828 b/test/de_fuzz/corpus/corpus_828 deleted file mode 100644 index 04ebd2f69..000000000 Binary files a/test/de_fuzz/corpus/corpus_828 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_829 b/test/de_fuzz/corpus/corpus_829 deleted file mode 100644 index 1152b2174..000000000 Binary files a/test/de_fuzz/corpus/corpus_829 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_83 b/test/de_fuzz/corpus/corpus_83 deleted file mode 100644 index 37c2e3425..000000000 Binary files a/test/de_fuzz/corpus/corpus_83 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_830 b/test/de_fuzz/corpus/corpus_830 deleted file mode 100644 index 0229aa5a5..000000000 Binary files a/test/de_fuzz/corpus/corpus_830 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_831 b/test/de_fuzz/corpus/corpus_831 deleted file mode 100644 index 43da5ebd5..000000000 Binary files a/test/de_fuzz/corpus/corpus_831 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_832 b/test/de_fuzz/corpus/corpus_832 deleted file mode 100644 index ce2306a8c..000000000 Binary files a/test/de_fuzz/corpus/corpus_832 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_833 b/test/de_fuzz/corpus/corpus_833 deleted file mode 100644 index e3144a452..000000000 Binary files a/test/de_fuzz/corpus/corpus_833 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_834 b/test/de_fuzz/corpus/corpus_834 deleted file mode 100644 index a4aa98f1d..000000000 Binary files a/test/de_fuzz/corpus/corpus_834 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_835 b/test/de_fuzz/corpus/corpus_835 deleted file mode 100644 index 567a2e3a4..000000000 Binary files a/test/de_fuzz/corpus/corpus_835 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_836 b/test/de_fuzz/corpus/corpus_836 deleted file mode 100644 index 7f41046de..000000000 Binary files a/test/de_fuzz/corpus/corpus_836 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_837 b/test/de_fuzz/corpus/corpus_837 deleted file mode 100644 index dd4a3e22b..000000000 Binary files a/test/de_fuzz/corpus/corpus_837 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_838 b/test/de_fuzz/corpus/corpus_838 deleted file mode 100644 index 34fe9f2ab..000000000 Binary files a/test/de_fuzz/corpus/corpus_838 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_839 b/test/de_fuzz/corpus/corpus_839 deleted file mode 100644 index 8947b0e42..000000000 Binary files a/test/de_fuzz/corpus/corpus_839 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_84 b/test/de_fuzz/corpus/corpus_84 deleted file mode 100644 index 5a94c6d36..000000000 Binary files a/test/de_fuzz/corpus/corpus_84 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_840 b/test/de_fuzz/corpus/corpus_840 deleted file mode 100644 index 0eedb612e..000000000 Binary files a/test/de_fuzz/corpus/corpus_840 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_841 b/test/de_fuzz/corpus/corpus_841 deleted file mode 100644 index 5261e0ab9..000000000 Binary files a/test/de_fuzz/corpus/corpus_841 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_842 b/test/de_fuzz/corpus/corpus_842 deleted file mode 100644 index 1d906f9c1..000000000 Binary files a/test/de_fuzz/corpus/corpus_842 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_843 b/test/de_fuzz/corpus/corpus_843 deleted file mode 100644 index 607eb25ce..000000000 Binary files a/test/de_fuzz/corpus/corpus_843 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_844 b/test/de_fuzz/corpus/corpus_844 deleted file mode 100644 index e6f3db5e4..000000000 Binary files a/test/de_fuzz/corpus/corpus_844 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_845 b/test/de_fuzz/corpus/corpus_845 deleted file mode 100644 index 47c34ba0f..000000000 Binary files a/test/de_fuzz/corpus/corpus_845 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_846 b/test/de_fuzz/corpus/corpus_846 deleted file mode 100644 index e0ad72afe..000000000 Binary files a/test/de_fuzz/corpus/corpus_846 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_847 b/test/de_fuzz/corpus/corpus_847 deleted file mode 100644 index 84159e926..000000000 Binary files a/test/de_fuzz/corpus/corpus_847 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_848 b/test/de_fuzz/corpus/corpus_848 deleted file mode 100644 index ade3a914a..000000000 Binary files a/test/de_fuzz/corpus/corpus_848 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_849 b/test/de_fuzz/corpus/corpus_849 deleted file mode 100644 index a3e39e323..000000000 Binary files a/test/de_fuzz/corpus/corpus_849 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_85 b/test/de_fuzz/corpus/corpus_85 deleted file mode 100644 index 75e30da6c..000000000 Binary files a/test/de_fuzz/corpus/corpus_85 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_850 b/test/de_fuzz/corpus/corpus_850 deleted file mode 100644 index aa87600d7..000000000 Binary files a/test/de_fuzz/corpus/corpus_850 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_851 b/test/de_fuzz/corpus/corpus_851 deleted file mode 100644 index 54279219b..000000000 Binary files a/test/de_fuzz/corpus/corpus_851 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_852 b/test/de_fuzz/corpus/corpus_852 deleted file mode 100644 index 5f71c6593..000000000 Binary files a/test/de_fuzz/corpus/corpus_852 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_853 b/test/de_fuzz/corpus/corpus_853 deleted file mode 100644 index 4bb30821c..000000000 Binary files a/test/de_fuzz/corpus/corpus_853 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_854 b/test/de_fuzz/corpus/corpus_854 deleted file mode 100644 index 9abd2505f..000000000 Binary files a/test/de_fuzz/corpus/corpus_854 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_855 b/test/de_fuzz/corpus/corpus_855 deleted file mode 100644 index 81373221c..000000000 Binary files a/test/de_fuzz/corpus/corpus_855 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_856 b/test/de_fuzz/corpus/corpus_856 deleted file mode 100644 index f6ecb8bc7..000000000 Binary files a/test/de_fuzz/corpus/corpus_856 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_857 b/test/de_fuzz/corpus/corpus_857 deleted file mode 100644 index 4d71ad787..000000000 Binary files a/test/de_fuzz/corpus/corpus_857 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_858 b/test/de_fuzz/corpus/corpus_858 deleted file mode 100644 index d553da593..000000000 Binary files a/test/de_fuzz/corpus/corpus_858 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_859 b/test/de_fuzz/corpus/corpus_859 deleted file mode 100644 index 13e70e908..000000000 Binary files a/test/de_fuzz/corpus/corpus_859 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_86 b/test/de_fuzz/corpus/corpus_86 deleted file mode 100644 index cdd77b6df..000000000 Binary files a/test/de_fuzz/corpus/corpus_86 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_860 b/test/de_fuzz/corpus/corpus_860 deleted file mode 100644 index b5ae51fdf..000000000 Binary files a/test/de_fuzz/corpus/corpus_860 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_861 b/test/de_fuzz/corpus/corpus_861 deleted file mode 100644 index 85dbb6b5c..000000000 Binary files a/test/de_fuzz/corpus/corpus_861 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_862 b/test/de_fuzz/corpus/corpus_862 deleted file mode 100644 index 5a9a23baa..000000000 Binary files a/test/de_fuzz/corpus/corpus_862 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_863 b/test/de_fuzz/corpus/corpus_863 deleted file mode 100644 index 19284ad32..000000000 Binary files a/test/de_fuzz/corpus/corpus_863 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_864 b/test/de_fuzz/corpus/corpus_864 deleted file mode 100644 index 35b64b0e5..000000000 Binary files a/test/de_fuzz/corpus/corpus_864 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_865 b/test/de_fuzz/corpus/corpus_865 deleted file mode 100644 index edb81eada..000000000 Binary files a/test/de_fuzz/corpus/corpus_865 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_866 b/test/de_fuzz/corpus/corpus_866 deleted file mode 100644 index 0f12217b8..000000000 Binary files a/test/de_fuzz/corpus/corpus_866 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_867 b/test/de_fuzz/corpus/corpus_867 deleted file mode 100644 index ed3745b7d..000000000 Binary files a/test/de_fuzz/corpus/corpus_867 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_868 b/test/de_fuzz/corpus/corpus_868 deleted file mode 100644 index 9f446a8c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_868 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_869 b/test/de_fuzz/corpus/corpus_869 deleted file mode 100644 index 34b281b13..000000000 Binary files a/test/de_fuzz/corpus/corpus_869 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_87 b/test/de_fuzz/corpus/corpus_87 deleted file mode 100644 index 5a1c76a8f..000000000 Binary files a/test/de_fuzz/corpus/corpus_87 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_870 b/test/de_fuzz/corpus/corpus_870 deleted file mode 100644 index 3aeacab4a..000000000 Binary files a/test/de_fuzz/corpus/corpus_870 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_871 b/test/de_fuzz/corpus/corpus_871 deleted file mode 100644 index ca9a298c7..000000000 Binary files a/test/de_fuzz/corpus/corpus_871 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_872 b/test/de_fuzz/corpus/corpus_872 deleted file mode 100644 index 002ae46ff..000000000 Binary files a/test/de_fuzz/corpus/corpus_872 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_873 b/test/de_fuzz/corpus/corpus_873 deleted file mode 100644 index cd86f1ca3..000000000 Binary files a/test/de_fuzz/corpus/corpus_873 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_874 b/test/de_fuzz/corpus/corpus_874 deleted file mode 100644 index ad3cb45f2..000000000 Binary files a/test/de_fuzz/corpus/corpus_874 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_875 b/test/de_fuzz/corpus/corpus_875 deleted file mode 100644 index 003c6f12e..000000000 Binary files a/test/de_fuzz/corpus/corpus_875 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_876 b/test/de_fuzz/corpus/corpus_876 deleted file mode 100644 index d77104a17..000000000 Binary files a/test/de_fuzz/corpus/corpus_876 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_877 b/test/de_fuzz/corpus/corpus_877 deleted file mode 100644 index 8a629ac0a..000000000 Binary files a/test/de_fuzz/corpus/corpus_877 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_878 b/test/de_fuzz/corpus/corpus_878 deleted file mode 100644 index 5c19f125e..000000000 Binary files a/test/de_fuzz/corpus/corpus_878 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_879 b/test/de_fuzz/corpus/corpus_879 deleted file mode 100644 index ba7303aab..000000000 Binary files a/test/de_fuzz/corpus/corpus_879 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_88 b/test/de_fuzz/corpus/corpus_88 deleted file mode 100644 index 235a95075..000000000 Binary files a/test/de_fuzz/corpus/corpus_88 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_880 b/test/de_fuzz/corpus/corpus_880 deleted file mode 100644 index 4b23fe43c..000000000 Binary files a/test/de_fuzz/corpus/corpus_880 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_881 b/test/de_fuzz/corpus/corpus_881 deleted file mode 100644 index f9d9797ca..000000000 Binary files a/test/de_fuzz/corpus/corpus_881 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_882 b/test/de_fuzz/corpus/corpus_882 deleted file mode 100644 index 0f3adf829..000000000 Binary files a/test/de_fuzz/corpus/corpus_882 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_883 b/test/de_fuzz/corpus/corpus_883 deleted file mode 100644 index a74de5f64..000000000 Binary files a/test/de_fuzz/corpus/corpus_883 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_884 b/test/de_fuzz/corpus/corpus_884 deleted file mode 100644 index badb9c352..000000000 Binary files a/test/de_fuzz/corpus/corpus_884 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_885 b/test/de_fuzz/corpus/corpus_885 deleted file mode 100644 index c22f665be..000000000 Binary files a/test/de_fuzz/corpus/corpus_885 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_886 b/test/de_fuzz/corpus/corpus_886 deleted file mode 100644 index b57a9a4c9..000000000 Binary files a/test/de_fuzz/corpus/corpus_886 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_887 b/test/de_fuzz/corpus/corpus_887 deleted file mode 100644 index 228873309..000000000 Binary files a/test/de_fuzz/corpus/corpus_887 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_888 b/test/de_fuzz/corpus/corpus_888 deleted file mode 100644 index 09beb9b45..000000000 Binary files a/test/de_fuzz/corpus/corpus_888 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_889 b/test/de_fuzz/corpus/corpus_889 deleted file mode 100644 index 1d380a29d..000000000 Binary files a/test/de_fuzz/corpus/corpus_889 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_89 b/test/de_fuzz/corpus/corpus_89 deleted file mode 100644 index c0c37a6a1..000000000 Binary files a/test/de_fuzz/corpus/corpus_89 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_890 b/test/de_fuzz/corpus/corpus_890 deleted file mode 100644 index 059de5970..000000000 Binary files a/test/de_fuzz/corpus/corpus_890 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_891 b/test/de_fuzz/corpus/corpus_891 deleted file mode 100644 index 46d298f58..000000000 Binary files a/test/de_fuzz/corpus/corpus_891 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_892 b/test/de_fuzz/corpus/corpus_892 deleted file mode 100644 index 740a83e09..000000000 Binary files a/test/de_fuzz/corpus/corpus_892 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_893 b/test/de_fuzz/corpus/corpus_893 deleted file mode 100644 index f6af4585e..000000000 Binary files a/test/de_fuzz/corpus/corpus_893 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_894 b/test/de_fuzz/corpus/corpus_894 deleted file mode 100644 index f5cb7b0ee..000000000 Binary files a/test/de_fuzz/corpus/corpus_894 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_895 b/test/de_fuzz/corpus/corpus_895 deleted file mode 100644 index 26e5a2e0b..000000000 Binary files a/test/de_fuzz/corpus/corpus_895 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_896 b/test/de_fuzz/corpus/corpus_896 deleted file mode 100644 index cbb9c5e1e..000000000 Binary files a/test/de_fuzz/corpus/corpus_896 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_897 b/test/de_fuzz/corpus/corpus_897 deleted file mode 100644 index be41665a9..000000000 Binary files a/test/de_fuzz/corpus/corpus_897 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_898 b/test/de_fuzz/corpus/corpus_898 deleted file mode 100644 index a2e090a32..000000000 Binary files a/test/de_fuzz/corpus/corpus_898 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_899 b/test/de_fuzz/corpus/corpus_899 deleted file mode 100644 index 4f1a5419f..000000000 Binary files a/test/de_fuzz/corpus/corpus_899 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_9 b/test/de_fuzz/corpus/corpus_9 deleted file mode 100644 index 0f10a92bd..000000000 Binary files a/test/de_fuzz/corpus/corpus_9 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_90 b/test/de_fuzz/corpus/corpus_90 deleted file mode 100644 index 34f4522fa..000000000 Binary files a/test/de_fuzz/corpus/corpus_90 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_900 b/test/de_fuzz/corpus/corpus_900 deleted file mode 100644 index 381160903..000000000 Binary files a/test/de_fuzz/corpus/corpus_900 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_901 b/test/de_fuzz/corpus/corpus_901 deleted file mode 100644 index d59f706a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_901 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_902 b/test/de_fuzz/corpus/corpus_902 deleted file mode 100644 index f90f9fa83..000000000 Binary files a/test/de_fuzz/corpus/corpus_902 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_903 b/test/de_fuzz/corpus/corpus_903 deleted file mode 100644 index 46ebd6e9d..000000000 Binary files a/test/de_fuzz/corpus/corpus_903 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_904 b/test/de_fuzz/corpus/corpus_904 deleted file mode 100644 index a17865e67..000000000 Binary files a/test/de_fuzz/corpus/corpus_904 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_905 b/test/de_fuzz/corpus/corpus_905 deleted file mode 100644 index df876f631..000000000 Binary files a/test/de_fuzz/corpus/corpus_905 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_906 b/test/de_fuzz/corpus/corpus_906 deleted file mode 100644 index 82b792fb3..000000000 Binary files a/test/de_fuzz/corpus/corpus_906 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_907 b/test/de_fuzz/corpus/corpus_907 deleted file mode 100644 index cd8007306..000000000 Binary files a/test/de_fuzz/corpus/corpus_907 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_908 b/test/de_fuzz/corpus/corpus_908 deleted file mode 100644 index 5146137a2..000000000 Binary files a/test/de_fuzz/corpus/corpus_908 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_909 b/test/de_fuzz/corpus/corpus_909 deleted file mode 100644 index 170671985..000000000 Binary files a/test/de_fuzz/corpus/corpus_909 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_91 b/test/de_fuzz/corpus/corpus_91 deleted file mode 100644 index a7c604f3b..000000000 Binary files a/test/de_fuzz/corpus/corpus_91 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_910 b/test/de_fuzz/corpus/corpus_910 deleted file mode 100644 index 05d983df4..000000000 Binary files a/test/de_fuzz/corpus/corpus_910 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_911 b/test/de_fuzz/corpus/corpus_911 deleted file mode 100644 index 4ce9b6c60..000000000 Binary files a/test/de_fuzz/corpus/corpus_911 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_912 b/test/de_fuzz/corpus/corpus_912 deleted file mode 100644 index 57cab2774..000000000 Binary files a/test/de_fuzz/corpus/corpus_912 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_913 b/test/de_fuzz/corpus/corpus_913 deleted file mode 100644 index 75c211a28..000000000 Binary files a/test/de_fuzz/corpus/corpus_913 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_914 b/test/de_fuzz/corpus/corpus_914 deleted file mode 100644 index fca0276ec..000000000 Binary files a/test/de_fuzz/corpus/corpus_914 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_915 b/test/de_fuzz/corpus/corpus_915 deleted file mode 100644 index 99c5e6fc8..000000000 Binary files a/test/de_fuzz/corpus/corpus_915 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_916 b/test/de_fuzz/corpus/corpus_916 deleted file mode 100644 index 64b862d35..000000000 Binary files a/test/de_fuzz/corpus/corpus_916 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_917 b/test/de_fuzz/corpus/corpus_917 deleted file mode 100644 index 52b18fc32..000000000 Binary files a/test/de_fuzz/corpus/corpus_917 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_918 b/test/de_fuzz/corpus/corpus_918 deleted file mode 100644 index 553227c68..000000000 Binary files a/test/de_fuzz/corpus/corpus_918 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_919 b/test/de_fuzz/corpus/corpus_919 deleted file mode 100644 index 7d7c09a1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_919 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_92 b/test/de_fuzz/corpus/corpus_92 deleted file mode 100644 index ac18621dd..000000000 Binary files a/test/de_fuzz/corpus/corpus_92 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_920 b/test/de_fuzz/corpus/corpus_920 deleted file mode 100644 index c172666df..000000000 Binary files a/test/de_fuzz/corpus/corpus_920 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_921 b/test/de_fuzz/corpus/corpus_921 deleted file mode 100644 index 0076b9859..000000000 Binary files a/test/de_fuzz/corpus/corpus_921 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_922 b/test/de_fuzz/corpus/corpus_922 deleted file mode 100644 index c2bd35ce3..000000000 Binary files a/test/de_fuzz/corpus/corpus_922 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_923 b/test/de_fuzz/corpus/corpus_923 deleted file mode 100644 index 64c0881f5..000000000 Binary files a/test/de_fuzz/corpus/corpus_923 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_924 b/test/de_fuzz/corpus/corpus_924 deleted file mode 100644 index 3bcf14f6a..000000000 Binary files a/test/de_fuzz/corpus/corpus_924 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_925 b/test/de_fuzz/corpus/corpus_925 deleted file mode 100644 index a1ced7acd..000000000 Binary files a/test/de_fuzz/corpus/corpus_925 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_926 b/test/de_fuzz/corpus/corpus_926 deleted file mode 100644 index 489d758f0..000000000 Binary files a/test/de_fuzz/corpus/corpus_926 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_927 b/test/de_fuzz/corpus/corpus_927 deleted file mode 100644 index 5fa0a466b..000000000 Binary files a/test/de_fuzz/corpus/corpus_927 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_928 b/test/de_fuzz/corpus/corpus_928 deleted file mode 100644 index aeeee31c2..000000000 Binary files a/test/de_fuzz/corpus/corpus_928 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_929 b/test/de_fuzz/corpus/corpus_929 deleted file mode 100644 index 6cb25868c..000000000 Binary files a/test/de_fuzz/corpus/corpus_929 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_93 b/test/de_fuzz/corpus/corpus_93 deleted file mode 100644 index 0031e62a0..000000000 Binary files a/test/de_fuzz/corpus/corpus_93 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_930 b/test/de_fuzz/corpus/corpus_930 deleted file mode 100644 index 82c20bf36..000000000 Binary files a/test/de_fuzz/corpus/corpus_930 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_931 b/test/de_fuzz/corpus/corpus_931 deleted file mode 100644 index e7c9cc702..000000000 Binary files a/test/de_fuzz/corpus/corpus_931 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_932 b/test/de_fuzz/corpus/corpus_932 deleted file mode 100644 index 3d36f6de8..000000000 Binary files a/test/de_fuzz/corpus/corpus_932 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_933 b/test/de_fuzz/corpus/corpus_933 deleted file mode 100644 index 2dd95bb90..000000000 Binary files a/test/de_fuzz/corpus/corpus_933 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_934 b/test/de_fuzz/corpus/corpus_934 deleted file mode 100644 index 495b21e69..000000000 Binary files a/test/de_fuzz/corpus/corpus_934 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_935 b/test/de_fuzz/corpus/corpus_935 deleted file mode 100644 index 773c434a9..000000000 Binary files a/test/de_fuzz/corpus/corpus_935 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_936 b/test/de_fuzz/corpus/corpus_936 deleted file mode 100644 index 7d4920347..000000000 Binary files a/test/de_fuzz/corpus/corpus_936 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_937 b/test/de_fuzz/corpus/corpus_937 deleted file mode 100644 index f65958740..000000000 Binary files a/test/de_fuzz/corpus/corpus_937 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_938 b/test/de_fuzz/corpus/corpus_938 deleted file mode 100644 index 8155d1690..000000000 Binary files a/test/de_fuzz/corpus/corpus_938 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_939 b/test/de_fuzz/corpus/corpus_939 deleted file mode 100644 index 65e57be43..000000000 Binary files a/test/de_fuzz/corpus/corpus_939 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_94 b/test/de_fuzz/corpus/corpus_94 deleted file mode 100644 index 553e86f5c..000000000 Binary files a/test/de_fuzz/corpus/corpus_94 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_940 b/test/de_fuzz/corpus/corpus_940 deleted file mode 100644 index 87bce9487..000000000 Binary files a/test/de_fuzz/corpus/corpus_940 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_941 b/test/de_fuzz/corpus/corpus_941 deleted file mode 100644 index 657b7ee71..000000000 Binary files a/test/de_fuzz/corpus/corpus_941 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_942 b/test/de_fuzz/corpus/corpus_942 deleted file mode 100644 index 16e8ccf32..000000000 Binary files a/test/de_fuzz/corpus/corpus_942 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_943 b/test/de_fuzz/corpus/corpus_943 deleted file mode 100644 index ed1f3d93b..000000000 Binary files a/test/de_fuzz/corpus/corpus_943 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_944 b/test/de_fuzz/corpus/corpus_944 deleted file mode 100644 index 0ee52b2bc..000000000 Binary files a/test/de_fuzz/corpus/corpus_944 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_945 b/test/de_fuzz/corpus/corpus_945 deleted file mode 100644 index 19510f889..000000000 Binary files a/test/de_fuzz/corpus/corpus_945 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_946 b/test/de_fuzz/corpus/corpus_946 deleted file mode 100644 index 77ab56cb8..000000000 Binary files a/test/de_fuzz/corpus/corpus_946 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_947 b/test/de_fuzz/corpus/corpus_947 deleted file mode 100644 index 650d451b9..000000000 Binary files a/test/de_fuzz/corpus/corpus_947 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_948 b/test/de_fuzz/corpus/corpus_948 deleted file mode 100644 index 5002da907..000000000 Binary files a/test/de_fuzz/corpus/corpus_948 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_949 b/test/de_fuzz/corpus/corpus_949 deleted file mode 100644 index f57dbea96..000000000 Binary files a/test/de_fuzz/corpus/corpus_949 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_95 b/test/de_fuzz/corpus/corpus_95 deleted file mode 100644 index daf409ae5..000000000 Binary files a/test/de_fuzz/corpus/corpus_95 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_950 b/test/de_fuzz/corpus/corpus_950 deleted file mode 100644 index f9a1d4511..000000000 Binary files a/test/de_fuzz/corpus/corpus_950 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_951 b/test/de_fuzz/corpus/corpus_951 deleted file mode 100644 index 785c74c68..000000000 Binary files a/test/de_fuzz/corpus/corpus_951 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_952 b/test/de_fuzz/corpus/corpus_952 deleted file mode 100644 index 96eb6eb1a..000000000 Binary files a/test/de_fuzz/corpus/corpus_952 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_953 b/test/de_fuzz/corpus/corpus_953 deleted file mode 100644 index 9c69bf05e..000000000 Binary files a/test/de_fuzz/corpus/corpus_953 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_954 b/test/de_fuzz/corpus/corpus_954 deleted file mode 100644 index bf65b7b1d..000000000 Binary files a/test/de_fuzz/corpus/corpus_954 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_955 b/test/de_fuzz/corpus/corpus_955 deleted file mode 100644 index 82c080a27..000000000 Binary files a/test/de_fuzz/corpus/corpus_955 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_956 b/test/de_fuzz/corpus/corpus_956 deleted file mode 100644 index fc49bbaf4..000000000 Binary files a/test/de_fuzz/corpus/corpus_956 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_957 b/test/de_fuzz/corpus/corpus_957 deleted file mode 100644 index 5c8aae370..000000000 Binary files a/test/de_fuzz/corpus/corpus_957 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_958 b/test/de_fuzz/corpus/corpus_958 deleted file mode 100644 index 89204484b..000000000 Binary files a/test/de_fuzz/corpus/corpus_958 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_959 b/test/de_fuzz/corpus/corpus_959 deleted file mode 100644 index 4396e8541..000000000 Binary files a/test/de_fuzz/corpus/corpus_959 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_96 b/test/de_fuzz/corpus/corpus_96 deleted file mode 100644 index 7d89ea0da..000000000 Binary files a/test/de_fuzz/corpus/corpus_96 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_960 b/test/de_fuzz/corpus/corpus_960 deleted file mode 100644 index 8db02a1b0..000000000 Binary files a/test/de_fuzz/corpus/corpus_960 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_961 b/test/de_fuzz/corpus/corpus_961 deleted file mode 100644 index 665639f58..000000000 Binary files a/test/de_fuzz/corpus/corpus_961 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_962 b/test/de_fuzz/corpus/corpus_962 deleted file mode 100644 index 8e1ab1105..000000000 Binary files a/test/de_fuzz/corpus/corpus_962 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_963 b/test/de_fuzz/corpus/corpus_963 deleted file mode 100644 index a3c92e19d..000000000 Binary files a/test/de_fuzz/corpus/corpus_963 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_964 b/test/de_fuzz/corpus/corpus_964 deleted file mode 100644 index 74fc72d3c..000000000 Binary files a/test/de_fuzz/corpus/corpus_964 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_965 b/test/de_fuzz/corpus/corpus_965 deleted file mode 100644 index a38f9ce1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_965 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_966 b/test/de_fuzz/corpus/corpus_966 deleted file mode 100644 index c443d4784..000000000 Binary files a/test/de_fuzz/corpus/corpus_966 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_967 b/test/de_fuzz/corpus/corpus_967 deleted file mode 100644 index 997fdb68c..000000000 Binary files a/test/de_fuzz/corpus/corpus_967 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_968 b/test/de_fuzz/corpus/corpus_968 deleted file mode 100644 index 8ef3fd3e8..000000000 Binary files a/test/de_fuzz/corpus/corpus_968 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_969 b/test/de_fuzz/corpus/corpus_969 deleted file mode 100644 index b85b78dc4..000000000 Binary files a/test/de_fuzz/corpus/corpus_969 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_97 b/test/de_fuzz/corpus/corpus_97 deleted file mode 100644 index 232593dad..000000000 Binary files a/test/de_fuzz/corpus/corpus_97 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_970 b/test/de_fuzz/corpus/corpus_970 deleted file mode 100644 index 96490f1f8..000000000 Binary files a/test/de_fuzz/corpus/corpus_970 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_971 b/test/de_fuzz/corpus/corpus_971 deleted file mode 100644 index 27697176a..000000000 Binary files a/test/de_fuzz/corpus/corpus_971 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_972 b/test/de_fuzz/corpus/corpus_972 deleted file mode 100644 index d00cd775a..000000000 Binary files a/test/de_fuzz/corpus/corpus_972 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_973 b/test/de_fuzz/corpus/corpus_973 deleted file mode 100644 index 1467bc397..000000000 Binary files a/test/de_fuzz/corpus/corpus_973 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_974 b/test/de_fuzz/corpus/corpus_974 deleted file mode 100644 index 0315c8b15..000000000 Binary files a/test/de_fuzz/corpus/corpus_974 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_975 b/test/de_fuzz/corpus/corpus_975 deleted file mode 100644 index e9568d282..000000000 Binary files a/test/de_fuzz/corpus/corpus_975 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_976 b/test/de_fuzz/corpus/corpus_976 deleted file mode 100644 index d0d060c47..000000000 Binary files a/test/de_fuzz/corpus/corpus_976 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_977 b/test/de_fuzz/corpus/corpus_977 deleted file mode 100644 index 03300920f..000000000 Binary files a/test/de_fuzz/corpus/corpus_977 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_978 b/test/de_fuzz/corpus/corpus_978 deleted file mode 100644 index 8933e2116..000000000 Binary files a/test/de_fuzz/corpus/corpus_978 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_979 b/test/de_fuzz/corpus/corpus_979 deleted file mode 100644 index 4d24c3ac8..000000000 Binary files a/test/de_fuzz/corpus/corpus_979 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_98 b/test/de_fuzz/corpus/corpus_98 deleted file mode 100644 index cc573dff6..000000000 Binary files a/test/de_fuzz/corpus/corpus_98 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_980 b/test/de_fuzz/corpus/corpus_980 deleted file mode 100644 index 9ce381c3e..000000000 Binary files a/test/de_fuzz/corpus/corpus_980 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_981 b/test/de_fuzz/corpus/corpus_981 deleted file mode 100644 index 8a32855eb..000000000 Binary files a/test/de_fuzz/corpus/corpus_981 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_982 b/test/de_fuzz/corpus/corpus_982 deleted file mode 100644 index 56c1321d0..000000000 Binary files a/test/de_fuzz/corpus/corpus_982 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_983 b/test/de_fuzz/corpus/corpus_983 deleted file mode 100644 index 4b0b31552..000000000 Binary files a/test/de_fuzz/corpus/corpus_983 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_984 b/test/de_fuzz/corpus/corpus_984 deleted file mode 100644 index 953143d1c..000000000 Binary files a/test/de_fuzz/corpus/corpus_984 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_985 b/test/de_fuzz/corpus/corpus_985 deleted file mode 100644 index 62f0aa3f4..000000000 Binary files a/test/de_fuzz/corpus/corpus_985 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_986 b/test/de_fuzz/corpus/corpus_986 deleted file mode 100644 index 7c96ce718..000000000 Binary files a/test/de_fuzz/corpus/corpus_986 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_987 b/test/de_fuzz/corpus/corpus_987 deleted file mode 100644 index b5f78841a..000000000 Binary files a/test/de_fuzz/corpus/corpus_987 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_988 b/test/de_fuzz/corpus/corpus_988 deleted file mode 100644 index 1ab8e4f1f..000000000 Binary files a/test/de_fuzz/corpus/corpus_988 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_989 b/test/de_fuzz/corpus/corpus_989 deleted file mode 100644 index 694943e37..000000000 Binary files a/test/de_fuzz/corpus/corpus_989 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_99 b/test/de_fuzz/corpus/corpus_99 deleted file mode 100644 index a5c2b76fa..000000000 Binary files a/test/de_fuzz/corpus/corpus_99 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_990 b/test/de_fuzz/corpus/corpus_990 deleted file mode 100644 index 9dc98fadf..000000000 Binary files a/test/de_fuzz/corpus/corpus_990 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_991 b/test/de_fuzz/corpus/corpus_991 deleted file mode 100644 index 701b43603..000000000 Binary files a/test/de_fuzz/corpus/corpus_991 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_992 b/test/de_fuzz/corpus/corpus_992 deleted file mode 100644 index 61c04a904..000000000 Binary files a/test/de_fuzz/corpus/corpus_992 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_993 b/test/de_fuzz/corpus/corpus_993 deleted file mode 100644 index 659eceacf..000000000 Binary files a/test/de_fuzz/corpus/corpus_993 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_994 b/test/de_fuzz/corpus/corpus_994 deleted file mode 100644 index 5f9b8d7e2..000000000 Binary files a/test/de_fuzz/corpus/corpus_994 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_995 b/test/de_fuzz/corpus/corpus_995 deleted file mode 100644 index 30644da9b..000000000 Binary files a/test/de_fuzz/corpus/corpus_995 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_996 b/test/de_fuzz/corpus/corpus_996 deleted file mode 100644 index c6e6199f8..000000000 Binary files a/test/de_fuzz/corpus/corpus_996 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_997 b/test/de_fuzz/corpus/corpus_997 deleted file mode 100644 index 154b80b69..000000000 Binary files a/test/de_fuzz/corpus/corpus_997 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_998 b/test/de_fuzz/corpus/corpus_998 deleted file mode 100644 index 0fbe72bd4..000000000 Binary files a/test/de_fuzz/corpus/corpus_998 and /dev/null differ diff --git a/test/de_fuzz/corpus/corpus_999 b/test/de_fuzz/corpus/corpus_999 deleted file mode 100644 index d69cab477..000000000 Binary files a/test/de_fuzz/corpus/corpus_999 and /dev/null differ diff --git a/test/de_fuzz/corpus/d01901c3e227abc0d4cd9ef59232270abc63d02c b/test/de_fuzz/corpus/d01901c3e227abc0d4cd9ef59232270abc63d02c deleted file mode 100644 index 9b1d3d769..000000000 Binary files a/test/de_fuzz/corpus/d01901c3e227abc0d4cd9ef59232270abc63d02c and /dev/null differ diff --git a/test/de_fuzz/corpus/d02808e2ec97a26b816e10caa5214950918aed07 b/test/de_fuzz/corpus/d02808e2ec97a26b816e10caa5214950918aed07 deleted file mode 100644 index d9068f190..000000000 Binary files a/test/de_fuzz/corpus/d02808e2ec97a26b816e10caa5214950918aed07 and /dev/null differ diff --git a/test/de_fuzz/corpus/d036b3647dcf2446b412d275c9888ca142eb0b31 b/test/de_fuzz/corpus/d036b3647dcf2446b412d275c9888ca142eb0b31 deleted file mode 100644 index e65ca6247..000000000 Binary files a/test/de_fuzz/corpus/d036b3647dcf2446b412d275c9888ca142eb0b31 and /dev/null differ diff --git a/test/de_fuzz/corpus/d062e384a64e6d867a0c9c034b40effe1967b7cd b/test/de_fuzz/corpus/d062e384a64e6d867a0c9c034b40effe1967b7cd deleted file mode 100644 index 31319163d..000000000 Binary files a/test/de_fuzz/corpus/d062e384a64e6d867a0c9c034b40effe1967b7cd and /dev/null differ diff --git a/test/de_fuzz/corpus/d08b3333624c0763e7803fb214fb22af2a21fedc b/test/de_fuzz/corpus/d08b3333624c0763e7803fb214fb22af2a21fedc deleted file mode 100644 index 8dddc290a..000000000 Binary files a/test/de_fuzz/corpus/d08b3333624c0763e7803fb214fb22af2a21fedc and /dev/null differ diff --git a/test/de_fuzz/corpus/d08c419a238bb1501fcb1dab75f8089a2ea126b3 b/test/de_fuzz/corpus/d08c419a238bb1501fcb1dab75f8089a2ea126b3 deleted file mode 100644 index d7a09eb56..000000000 Binary files a/test/de_fuzz/corpus/d08c419a238bb1501fcb1dab75f8089a2ea126b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/d08e734ba992037a642896643673e764957abffe b/test/de_fuzz/corpus/d08e734ba992037a642896643673e764957abffe deleted file mode 100644 index 2958686ae..000000000 Binary files a/test/de_fuzz/corpus/d08e734ba992037a642896643673e764957abffe and /dev/null differ diff --git a/test/de_fuzz/corpus/d0f9ded910b053a760b17644b678cf4860f339a6 b/test/de_fuzz/corpus/d0f9ded910b053a760b17644b678cf4860f339a6 deleted file mode 100644 index 1a92a6a2e..000000000 Binary files a/test/de_fuzz/corpus/d0f9ded910b053a760b17644b678cf4860f339a6 and /dev/null differ diff --git a/test/de_fuzz/corpus/d132c9daf678df93b5c9595861d25cde37cf8575 b/test/de_fuzz/corpus/d132c9daf678df93b5c9595861d25cde37cf8575 deleted file mode 100644 index 98fe05191..000000000 Binary files a/test/de_fuzz/corpus/d132c9daf678df93b5c9595861d25cde37cf8575 and /dev/null differ diff --git a/test/de_fuzz/corpus/d15a0024c98fc4d2521f076039ca77246f21e5a7 b/test/de_fuzz/corpus/d15a0024c98fc4d2521f076039ca77246f21e5a7 deleted file mode 100644 index 569a98ab3..000000000 Binary files a/test/de_fuzz/corpus/d15a0024c98fc4d2521f076039ca77246f21e5a7 and /dev/null differ diff --git a/test/de_fuzz/corpus/d166d9bc06336a15f4ff9ac112b3778ffa3b3443 b/test/de_fuzz/corpus/d166d9bc06336a15f4ff9ac112b3778ffa3b3443 deleted file mode 100644 index 95c96412a..000000000 Binary files a/test/de_fuzz/corpus/d166d9bc06336a15f4ff9ac112b3778ffa3b3443 and /dev/null differ diff --git a/test/de_fuzz/corpus/d16d07b80161837ec7c01725c4159666f35210dd b/test/de_fuzz/corpus/d16d07b80161837ec7c01725c4159666f35210dd deleted file mode 100644 index 6e72f6d42..000000000 Binary files a/test/de_fuzz/corpus/d16d07b80161837ec7c01725c4159666f35210dd and /dev/null differ diff --git a/test/de_fuzz/corpus/d1b2e46b8c234dee09567aa159043c23d655b3d2 b/test/de_fuzz/corpus/d1b2e46b8c234dee09567aa159043c23d655b3d2 deleted file mode 100644 index e6ce30d1d..000000000 Binary files a/test/de_fuzz/corpus/d1b2e46b8c234dee09567aa159043c23d655b3d2 and /dev/null differ diff --git a/test/de_fuzz/corpus/d1c62d8ceafa8ef0fd375c9fe1abfe815ba80116 b/test/de_fuzz/corpus/d1c62d8ceafa8ef0fd375c9fe1abfe815ba80116 deleted file mode 100644 index 0f52495c6..000000000 Binary files a/test/de_fuzz/corpus/d1c62d8ceafa8ef0fd375c9fe1abfe815ba80116 and /dev/null differ diff --git a/test/de_fuzz/corpus/d219c7f6cb882a07b611eb3c1206ba262c86e34a b/test/de_fuzz/corpus/d219c7f6cb882a07b611eb3c1206ba262c86e34a deleted file mode 100644 index 5e8ae7df5..000000000 Binary files a/test/de_fuzz/corpus/d219c7f6cb882a07b611eb3c1206ba262c86e34a and /dev/null differ diff --git a/test/de_fuzz/corpus/d22583d78f89c1aa27ba96cc80ff92e1f6a02f0b b/test/de_fuzz/corpus/d22583d78f89c1aa27ba96cc80ff92e1f6a02f0b deleted file mode 100644 index dd3869a7e..000000000 Binary files a/test/de_fuzz/corpus/d22583d78f89c1aa27ba96cc80ff92e1f6a02f0b and /dev/null differ diff --git a/test/de_fuzz/corpus/d2348ae2cd182f216c0a49d3009d14e009ac2aad b/test/de_fuzz/corpus/d2348ae2cd182f216c0a49d3009d14e009ac2aad deleted file mode 100644 index c09cd58c2..000000000 Binary files a/test/de_fuzz/corpus/d2348ae2cd182f216c0a49d3009d14e009ac2aad and /dev/null differ diff --git a/test/de_fuzz/corpus/d27c868430c017a79134e46bfa584a03b8d8fb6a b/test/de_fuzz/corpus/d27c868430c017a79134e46bfa584a03b8d8fb6a deleted file mode 100644 index c894b92ec..000000000 Binary files a/test/de_fuzz/corpus/d27c868430c017a79134e46bfa584a03b8d8fb6a and /dev/null differ diff --git a/test/de_fuzz/corpus/d2838345b8fce28140591d3f6baba3ac248b56c3 b/test/de_fuzz/corpus/d2838345b8fce28140591d3f6baba3ac248b56c3 deleted file mode 100644 index 711da8d45..000000000 Binary files a/test/de_fuzz/corpus/d2838345b8fce28140591d3f6baba3ac248b56c3 and /dev/null differ diff --git a/test/de_fuzz/corpus/d28aebe03692ea9889278e80b9344f2b465a31a1 b/test/de_fuzz/corpus/d28aebe03692ea9889278e80b9344f2b465a31a1 deleted file mode 100644 index 6797ba6d7..000000000 Binary files a/test/de_fuzz/corpus/d28aebe03692ea9889278e80b9344f2b465a31a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/d28cd15060cec6557f9592bd92b82120e941f0cf b/test/de_fuzz/corpus/d28cd15060cec6557f9592bd92b82120e941f0cf deleted file mode 100644 index 6af453053..000000000 Binary files a/test/de_fuzz/corpus/d28cd15060cec6557f9592bd92b82120e941f0cf and /dev/null differ diff --git a/test/de_fuzz/corpus/d28e8edf87760cef554628817ce00a7daadef5c9 b/test/de_fuzz/corpus/d28e8edf87760cef554628817ce00a7daadef5c9 deleted file mode 100644 index 0b4c63da9..000000000 Binary files a/test/de_fuzz/corpus/d28e8edf87760cef554628817ce00a7daadef5c9 and /dev/null differ diff --git a/test/de_fuzz/corpus/d2b5011cc0c7bd0009e13b90ffd4d60055564f91 b/test/de_fuzz/corpus/d2b5011cc0c7bd0009e13b90ffd4d60055564f91 deleted file mode 100644 index 0007b3cfa..000000000 Binary files a/test/de_fuzz/corpus/d2b5011cc0c7bd0009e13b90ffd4d60055564f91 and /dev/null differ diff --git a/test/de_fuzz/corpus/d2ba9cd5e905c8b832669432280bfd16a49a1140 b/test/de_fuzz/corpus/d2ba9cd5e905c8b832669432280bfd16a49a1140 deleted file mode 100644 index f04b28679..000000000 Binary files a/test/de_fuzz/corpus/d2ba9cd5e905c8b832669432280bfd16a49a1140 and /dev/null differ diff --git a/test/de_fuzz/corpus/d2fb959c6d03ebc85fe9dc2691a0db64595f83fd b/test/de_fuzz/corpus/d2fb959c6d03ebc85fe9dc2691a0db64595f83fd deleted file mode 100644 index 58eac4c4e..000000000 Binary files a/test/de_fuzz/corpus/d2fb959c6d03ebc85fe9dc2691a0db64595f83fd and /dev/null differ diff --git a/test/de_fuzz/corpus/d3040f1361ae83521168b1d72412f10396fe5a82 b/test/de_fuzz/corpus/d3040f1361ae83521168b1d72412f10396fe5a82 deleted file mode 100644 index 5f04c11cd..000000000 Binary files a/test/de_fuzz/corpus/d3040f1361ae83521168b1d72412f10396fe5a82 and /dev/null differ diff --git a/test/de_fuzz/corpus/d33429b3f02f01f69767f4e7d2dfbdfe9a8fbb29 b/test/de_fuzz/corpus/d33429b3f02f01f69767f4e7d2dfbdfe9a8fbb29 deleted file mode 100644 index 3d89d2f9a..000000000 Binary files a/test/de_fuzz/corpus/d33429b3f02f01f69767f4e7d2dfbdfe9a8fbb29 and /dev/null differ diff --git a/test/de_fuzz/corpus/d37cee3d32180dfd731e555f06ee538a9812625f b/test/de_fuzz/corpus/d37cee3d32180dfd731e555f06ee538a9812625f deleted file mode 100644 index 5d23f93c0..000000000 Binary files a/test/de_fuzz/corpus/d37cee3d32180dfd731e555f06ee538a9812625f and /dev/null differ diff --git a/test/de_fuzz/corpus/d3a4c1dc4d9308b70a9e8f834eb8dec84e1c8780 b/test/de_fuzz/corpus/d3a4c1dc4d9308b70a9e8f834eb8dec84e1c8780 deleted file mode 100644 index d11ac9f5d..000000000 Binary files a/test/de_fuzz/corpus/d3a4c1dc4d9308b70a9e8f834eb8dec84e1c8780 and /dev/null differ diff --git a/test/de_fuzz/corpus/d3ae18b74252730a2b80dcd823497f9d3f957b7c b/test/de_fuzz/corpus/d3ae18b74252730a2b80dcd823497f9d3f957b7c deleted file mode 100644 index 16f657752..000000000 --- a/test/de_fuzz/corpus/d3ae18b74252730a2b80dcd823497f9d3f957b7c +++ /dev/null @@ -1 +0,0 @@ -AE.\ZB]auuuuuuuuuuuu.uuuuuuu[[.AE.]-B]auuuuuuuuuuuuuuuuuuuuuuuu \ No newline at end of file diff --git a/test/de_fuzz/corpus/d3c2b0764a111353b9d7fb1b12e12db467efb7b2 b/test/de_fuzz/corpus/d3c2b0764a111353b9d7fb1b12e12db467efb7b2 deleted file mode 100644 index e5ba68a6d..000000000 Binary files a/test/de_fuzz/corpus/d3c2b0764a111353b9d7fb1b12e12db467efb7b2 and /dev/null differ diff --git a/test/de_fuzz/corpus/d429dc790c53b1ce53378cbe5b35fe9a7933594a b/test/de_fuzz/corpus/d429dc790c53b1ce53378cbe5b35fe9a7933594a deleted file mode 100644 index 7f2484f42..000000000 Binary files a/test/de_fuzz/corpus/d429dc790c53b1ce53378cbe5b35fe9a7933594a and /dev/null differ diff --git a/test/de_fuzz/corpus/d459ad9ebe1ee6692da174f99a2d13137f1f8808 b/test/de_fuzz/corpus/d459ad9ebe1ee6692da174f99a2d13137f1f8808 deleted file mode 100644 index fdcbba509..000000000 Binary files a/test/de_fuzz/corpus/d459ad9ebe1ee6692da174f99a2d13137f1f8808 and /dev/null differ diff --git a/test/de_fuzz/corpus/d460f3e7facef234560163b2e5e1d6a36c8b3a43 b/test/de_fuzz/corpus/d460f3e7facef234560163b2e5e1d6a36c8b3a43 deleted file mode 100644 index 13828a0ec..000000000 Binary files a/test/de_fuzz/corpus/d460f3e7facef234560163b2e5e1d6a36c8b3a43 and /dev/null differ diff --git a/test/de_fuzz/corpus/d462d83b566c03117fa153e63357c710a6dbac66 b/test/de_fuzz/corpus/d462d83b566c03117fa153e63357c710a6dbac66 deleted file mode 100644 index dee3556e0..000000000 Binary files a/test/de_fuzz/corpus/d462d83b566c03117fa153e63357c710a6dbac66 and /dev/null differ diff --git a/test/de_fuzz/corpus/d47646f4dcc80b37e11f76e7c9da07113580581c b/test/de_fuzz/corpus/d47646f4dcc80b37e11f76e7c9da07113580581c deleted file mode 100644 index fa9b9f51d..000000000 Binary files a/test/de_fuzz/corpus/d47646f4dcc80b37e11f76e7c9da07113580581c and /dev/null differ diff --git a/test/de_fuzz/corpus/d47f65e04c3bcdf8e04af0449a1321a2b43f4699 b/test/de_fuzz/corpus/d47f65e04c3bcdf8e04af0449a1321a2b43f4699 deleted file mode 100644 index b9233b19b..000000000 Binary files a/test/de_fuzz/corpus/d47f65e04c3bcdf8e04af0449a1321a2b43f4699 and /dev/null differ diff --git a/test/de_fuzz/corpus/d499ca51d5f1fe574bf0595d3ef4cacd1fa2c6ff b/test/de_fuzz/corpus/d499ca51d5f1fe574bf0595d3ef4cacd1fa2c6ff deleted file mode 100644 index b2451b9af..000000000 Binary files a/test/de_fuzz/corpus/d499ca51d5f1fe574bf0595d3ef4cacd1fa2c6ff and /dev/null differ diff --git a/test/de_fuzz/corpus/d49c941b584afdfbae232db3b747f551cb5a996f b/test/de_fuzz/corpus/d49c941b584afdfbae232db3b747f551cb5a996f deleted file mode 100644 index 844aecd19..000000000 Binary files a/test/de_fuzz/corpus/d49c941b584afdfbae232db3b747f551cb5a996f and /dev/null differ diff --git a/test/de_fuzz/corpus/d4ba8849b094886e166c7715c44e3a7cfdd1e5b8 b/test/de_fuzz/corpus/d4ba8849b094886e166c7715c44e3a7cfdd1e5b8 deleted file mode 100644 index cbf394a2b..000000000 Binary files a/test/de_fuzz/corpus/d4ba8849b094886e166c7715c44e3a7cfdd1e5b8 and /dev/null differ diff --git a/test/de_fuzz/corpus/d4f1ffc541e655e8fa20365416aa295ca5aaa17c b/test/de_fuzz/corpus/d4f1ffc541e655e8fa20365416aa295ca5aaa17c deleted file mode 100644 index d1f810e4a..000000000 Binary files a/test/de_fuzz/corpus/d4f1ffc541e655e8fa20365416aa295ca5aaa17c and /dev/null differ diff --git a/test/de_fuzz/corpus/d4ff89e4466502fe3670e08eb8e77fe5c6106084 b/test/de_fuzz/corpus/d4ff89e4466502fe3670e08eb8e77fe5c6106084 deleted file mode 100644 index a890124ed..000000000 Binary files a/test/de_fuzz/corpus/d4ff89e4466502fe3670e08eb8e77fe5c6106084 and /dev/null differ diff --git a/test/de_fuzz/corpus/d50535a36063cc9baad82d27120faf31212e1c79 b/test/de_fuzz/corpus/d50535a36063cc9baad82d27120faf31212e1c79 deleted file mode 100644 index 93a5d3b2d..000000000 Binary files a/test/de_fuzz/corpus/d50535a36063cc9baad82d27120faf31212e1c79 and /dev/null differ diff --git a/test/de_fuzz/corpus/d506f104aadaab6cae70fcf70b9fdac310a23807 b/test/de_fuzz/corpus/d506f104aadaab6cae70fcf70b9fdac310a23807 deleted file mode 100644 index 680910002..000000000 Binary files a/test/de_fuzz/corpus/d506f104aadaab6cae70fcf70b9fdac310a23807 and /dev/null differ diff --git a/test/de_fuzz/corpus/d523375a72bb1ada48fb0a1146f90fe8f36cf277 b/test/de_fuzz/corpus/d523375a72bb1ada48fb0a1146f90fe8f36cf277 deleted file mode 100644 index 9465afec7..000000000 Binary files a/test/de_fuzz/corpus/d523375a72bb1ada48fb0a1146f90fe8f36cf277 and /dev/null differ diff --git a/test/de_fuzz/corpus/d53cdc1c5b98b577b685810e5106235242b59988 b/test/de_fuzz/corpus/d53cdc1c5b98b577b685810e5106235242b59988 deleted file mode 100644 index f0724c1f6..000000000 Binary files a/test/de_fuzz/corpus/d53cdc1c5b98b577b685810e5106235242b59988 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5441854c673d01cbe7f9f996e4d40eb50d86423 b/test/de_fuzz/corpus/d5441854c673d01cbe7f9f996e4d40eb50d86423 deleted file mode 100644 index 1e4e73960..000000000 Binary files a/test/de_fuzz/corpus/d5441854c673d01cbe7f9f996e4d40eb50d86423 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5598e1b227406b5e94b164e64ffc61dc3d8f062 b/test/de_fuzz/corpus/d5598e1b227406b5e94b164e64ffc61dc3d8f062 deleted file mode 100644 index 325769ccd..000000000 Binary files a/test/de_fuzz/corpus/d5598e1b227406b5e94b164e64ffc61dc3d8f062 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5877fb79e0f7fb2a3dc05f36d8bda93cc3d75f8 b/test/de_fuzz/corpus/d5877fb79e0f7fb2a3dc05f36d8bda93cc3d75f8 deleted file mode 100644 index 16ed5d186..000000000 Binary files a/test/de_fuzz/corpus/d5877fb79e0f7fb2a3dc05f36d8bda93cc3d75f8 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5acd64bc6966f87e7b3ebfd5bee83f1548b6700 b/test/de_fuzz/corpus/d5acd64bc6966f87e7b3ebfd5bee83f1548b6700 deleted file mode 100644 index f1c4af860..000000000 Binary files a/test/de_fuzz/corpus/d5acd64bc6966f87e7b3ebfd5bee83f1548b6700 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5b117a45d2b52bd18df5bef8a78ae573391290e b/test/de_fuzz/corpus/d5b117a45d2b52bd18df5bef8a78ae573391290e deleted file mode 100644 index 6c3daa66d..000000000 Binary files a/test/de_fuzz/corpus/d5b117a45d2b52bd18df5bef8a78ae573391290e and /dev/null differ diff --git a/test/de_fuzz/corpus/d5f3b58062d843d5706995c78637b049df1501c7 b/test/de_fuzz/corpus/d5f3b58062d843d5706995c78637b049df1501c7 deleted file mode 100644 index 9c9e58d7c..000000000 Binary files a/test/de_fuzz/corpus/d5f3b58062d843d5706995c78637b049df1501c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/d5f8c86ccb03cd10b4c391498590fa44bcbd248a b/test/de_fuzz/corpus/d5f8c86ccb03cd10b4c391498590fa44bcbd248a deleted file mode 100644 index 0ce9aac4a..000000000 Binary files a/test/de_fuzz/corpus/d5f8c86ccb03cd10b4c391498590fa44bcbd248a and /dev/null differ diff --git a/test/de_fuzz/corpus/d5fea5cd5db7debf79c298dda8fca9db6f87889a b/test/de_fuzz/corpus/d5fea5cd5db7debf79c298dda8fca9db6f87889a deleted file mode 100644 index a48cb0332..000000000 Binary files a/test/de_fuzz/corpus/d5fea5cd5db7debf79c298dda8fca9db6f87889a and /dev/null differ diff --git a/test/de_fuzz/corpus/d61bd932964a523be501065a88454ecfea6655da b/test/de_fuzz/corpus/d61bd932964a523be501065a88454ecfea6655da deleted file mode 100644 index 6376d0ede..000000000 Binary files a/test/de_fuzz/corpus/d61bd932964a523be501065a88454ecfea6655da and /dev/null differ diff --git a/test/de_fuzz/corpus/d62bad932dfc27f3372787c5e059b8d9cb8007cc b/test/de_fuzz/corpus/d62bad932dfc27f3372787c5e059b8d9cb8007cc deleted file mode 100644 index aaee6f2a9..000000000 Binary files a/test/de_fuzz/corpus/d62bad932dfc27f3372787c5e059b8d9cb8007cc and /dev/null differ diff --git a/test/de_fuzz/corpus/d62e1cf6bef93a31ad4b97eec19f8fcf4e043df8 b/test/de_fuzz/corpus/d62e1cf6bef93a31ad4b97eec19f8fcf4e043df8 deleted file mode 100644 index b7288b39f..000000000 Binary files a/test/de_fuzz/corpus/d62e1cf6bef93a31ad4b97eec19f8fcf4e043df8 and /dev/null differ diff --git a/test/de_fuzz/corpus/d633675178f89cb34bc4bebc854ff9f251aa0a49 b/test/de_fuzz/corpus/d633675178f89cb34bc4bebc854ff9f251aa0a49 deleted file mode 100644 index cba6b8b36..000000000 Binary files a/test/de_fuzz/corpus/d633675178f89cb34bc4bebc854ff9f251aa0a49 and /dev/null differ diff --git a/test/de_fuzz/corpus/d66f69f5d96ce26014c75504356d5cdc4fdacf28 b/test/de_fuzz/corpus/d66f69f5d96ce26014c75504356d5cdc4fdacf28 deleted file mode 100644 index dab22c622..000000000 --- a/test/de_fuzz/corpus/d66f69f5d96ce26014c75504356d5cdc4fdacf28 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+')+)+)+)+)+|Y(((((((a+)+)+)'+)+)!)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a1)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/d6902f73cd5d6ad5260b27e45bec7b3a27064501 b/test/de_fuzz/corpus/d6902f73cd5d6ad5260b27e45bec7b3a27064501 deleted file mode 100644 index 1337cdec3..000000000 Binary files a/test/de_fuzz/corpus/d6902f73cd5d6ad5260b27e45bec7b3a27064501 and /dev/null differ diff --git a/test/de_fuzz/corpus/d6b62f4a4f234200133efa852357bc2ffdb6d038 b/test/de_fuzz/corpus/d6b62f4a4f234200133efa852357bc2ffdb6d038 deleted file mode 100644 index d3b89cc39..000000000 Binary files a/test/de_fuzz/corpus/d6b62f4a4f234200133efa852357bc2ffdb6d038 and /dev/null differ diff --git a/test/de_fuzz/corpus/d7295d54006e66c8d727ac3e5bdc7ade33a76b3b b/test/de_fuzz/corpus/d7295d54006e66c8d727ac3e5bdc7ade33a76b3b deleted file mode 100644 index 2d05975fd..000000000 Binary files a/test/de_fuzz/corpus/d7295d54006e66c8d727ac3e5bdc7ade33a76b3b and /dev/null differ diff --git a/test/de_fuzz/corpus/d74310792476b1e4f1a5bfb896d0972a32997d12 b/test/de_fuzz/corpus/d74310792476b1e4f1a5bfb896d0972a32997d12 deleted file mode 100644 index e49429cb6..000000000 Binary files a/test/de_fuzz/corpus/d74310792476b1e4f1a5bfb896d0972a32997d12 and /dev/null differ diff --git a/test/de_fuzz/corpus/d7a8f08b740704c3a35b753ff915bd2fa63f4d54 b/test/de_fuzz/corpus/d7a8f08b740704c3a35b753ff915bd2fa63f4d54 deleted file mode 100644 index f9555e68e..000000000 Binary files a/test/de_fuzz/corpus/d7a8f08b740704c3a35b753ff915bd2fa63f4d54 and /dev/null differ diff --git a/test/de_fuzz/corpus/d7b70908fc25586a77949c65608a7a75aff9893f b/test/de_fuzz/corpus/d7b70908fc25586a77949c65608a7a75aff9893f deleted file mode 100644 index c776b5fe5..000000000 Binary files a/test/de_fuzz/corpus/d7b70908fc25586a77949c65608a7a75aff9893f and /dev/null differ diff --git a/test/de_fuzz/corpus/d7ec4fda69e6d66a19f8d5d9a031a7c550c0c354 b/test/de_fuzz/corpus/d7ec4fda69e6d66a19f8d5d9a031a7c550c0c354 deleted file mode 100644 index 59a52e338..000000000 Binary files a/test/de_fuzz/corpus/d7ec4fda69e6d66a19f8d5d9a031a7c550c0c354 and /dev/null differ diff --git a/test/de_fuzz/corpus/d816ae9132b5b2418ac9a0a723031a3e664ca062 b/test/de_fuzz/corpus/d816ae9132b5b2418ac9a0a723031a3e664ca062 deleted file mode 100644 index 683d88271..000000000 Binary files a/test/de_fuzz/corpus/d816ae9132b5b2418ac9a0a723031a3e664ca062 and /dev/null differ diff --git a/test/de_fuzz/corpus/d817bd6c83ee33ab75ab4e6c2a4b03bdccf90511 b/test/de_fuzz/corpus/d817bd6c83ee33ab75ab4e6c2a4b03bdccf90511 deleted file mode 100644 index 367213cb9..000000000 Binary files a/test/de_fuzz/corpus/d817bd6c83ee33ab75ab4e6c2a4b03bdccf90511 and /dev/null differ diff --git a/test/de_fuzz/corpus/d8194629fc9101c3da6d624b3d5688c0f1f3b40f b/test/de_fuzz/corpus/d8194629fc9101c3da6d624b3d5688c0f1f3b40f deleted file mode 100644 index 585c1c364..000000000 Binary files a/test/de_fuzz/corpus/d8194629fc9101c3da6d624b3d5688c0f1f3b40f and /dev/null differ diff --git a/test/de_fuzz/corpus/d84b2573a74612b2707ac6417af7500c65ebe93c b/test/de_fuzz/corpus/d84b2573a74612b2707ac6417af7500c65ebe93c deleted file mode 100644 index c74043ffd..000000000 Binary files a/test/de_fuzz/corpus/d84b2573a74612b2707ac6417af7500c65ebe93c and /dev/null differ diff --git a/test/de_fuzz/corpus/d853f145c312c1c578b5e25d18067c78c80c8ab5 b/test/de_fuzz/corpus/d853f145c312c1c578b5e25d18067c78c80c8ab5 deleted file mode 100644 index 142ff1bcd..000000000 Binary files a/test/de_fuzz/corpus/d853f145c312c1c578b5e25d18067c78c80c8ab5 and /dev/null differ diff --git a/test/de_fuzz/corpus/d882dca73ffce2b353d8f809e03df1f0d39aff1c b/test/de_fuzz/corpus/d882dca73ffce2b353d8f809e03df1f0d39aff1c deleted file mode 100644 index 4158a918a..000000000 Binary files a/test/de_fuzz/corpus/d882dca73ffce2b353d8f809e03df1f0d39aff1c and /dev/null differ diff --git a/test/de_fuzz/corpus/d897d38c03f883e285538c7cdc7f52c045f4ea10 b/test/de_fuzz/corpus/d897d38c03f883e285538c7cdc7f52c045f4ea10 deleted file mode 100644 index 6bc928d3a..000000000 Binary files a/test/de_fuzz/corpus/d897d38c03f883e285538c7cdc7f52c045f4ea10 and /dev/null differ diff --git a/test/de_fuzz/corpus/d901e994c163d78b59288fc54f1f018a9a84b460 b/test/de_fuzz/corpus/d901e994c163d78b59288fc54f1f018a9a84b460 deleted file mode 100644 index 6c32d0c42..000000000 Binary files a/test/de_fuzz/corpus/d901e994c163d78b59288fc54f1f018a9a84b460 and /dev/null differ diff --git a/test/de_fuzz/corpus/d917db36846b4c3c0f186c474bb002df35a1c5b9 b/test/de_fuzz/corpus/d917db36846b4c3c0f186c474bb002df35a1c5b9 deleted file mode 100644 index def07fe48..000000000 Binary files a/test/de_fuzz/corpus/d917db36846b4c3c0f186c474bb002df35a1c5b9 and /dev/null differ diff --git a/test/de_fuzz/corpus/d929d9a7688f2d4faf9eabca7a38934673107271 b/test/de_fuzz/corpus/d929d9a7688f2d4faf9eabca7a38934673107271 deleted file mode 100644 index befb7c221..000000000 Binary files a/test/de_fuzz/corpus/d929d9a7688f2d4faf9eabca7a38934673107271 and /dev/null differ diff --git a/test/de_fuzz/corpus/d98f24c156fd91792e8287aab46593440e291555 b/test/de_fuzz/corpus/d98f24c156fd91792e8287aab46593440e291555 deleted file mode 100644 index 276f772f8..000000000 Binary files a/test/de_fuzz/corpus/d98f24c156fd91792e8287aab46593440e291555 and /dev/null differ diff --git a/test/de_fuzz/corpus/d99219d66aaf81ea4cd3d80b5775a2b536685f87 b/test/de_fuzz/corpus/d99219d66aaf81ea4cd3d80b5775a2b536685f87 deleted file mode 100644 index c6546997d..000000000 Binary files a/test/de_fuzz/corpus/d99219d66aaf81ea4cd3d80b5775a2b536685f87 and /dev/null differ diff --git a/test/de_fuzz/corpus/d996bef6d95a7c736a6ffdb7a776f610ca8b4b26 b/test/de_fuzz/corpus/d996bef6d95a7c736a6ffdb7a776f610ca8b4b26 deleted file mode 100644 index 3253c69b0..000000000 Binary files a/test/de_fuzz/corpus/d996bef6d95a7c736a6ffdb7a776f610ca8b4b26 and /dev/null differ diff --git a/test/de_fuzz/corpus/d99f0217d5a7be73c113f9434f8e76bec5a39293 b/test/de_fuzz/corpus/d99f0217d5a7be73c113f9434f8e76bec5a39293 deleted file mode 100644 index 60b4590bf..000000000 --- a/test/de_fuzz/corpus/d99f0217d5a7be73c113f9434f8e76bec5a39293 +++ /dev/null @@ -1 +0,0 @@ -^Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+VC|(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/d9db942086ac55465d79245409bee24efae27019 b/test/de_fuzz/corpus/d9db942086ac55465d79245409bee24efae27019 deleted file mode 100644 index 038500450..000000000 Binary files a/test/de_fuzz/corpus/d9db942086ac55465d79245409bee24efae27019 and /dev/null differ diff --git a/test/de_fuzz/corpus/da13e6fa01fdd3178d7ddf2f9adf0e5b77e3bd9e b/test/de_fuzz/corpus/da13e6fa01fdd3178d7ddf2f9adf0e5b77e3bd9e deleted file mode 100644 index 3310617dc..000000000 Binary files a/test/de_fuzz/corpus/da13e6fa01fdd3178d7ddf2f9adf0e5b77e3bd9e and /dev/null differ diff --git a/test/de_fuzz/corpus/da3274c852d4b38d204ba6c0a264da848c869399 b/test/de_fuzz/corpus/da3274c852d4b38d204ba6c0a264da848c869399 deleted file mode 100644 index cc6aaecad..000000000 Binary files a/test/de_fuzz/corpus/da3274c852d4b38d204ba6c0a264da848c869399 and /dev/null differ diff --git a/test/de_fuzz/corpus/da5e1a15b595dcf7649e29dd21d5996d7306f279 b/test/de_fuzz/corpus/da5e1a15b595dcf7649e29dd21d5996d7306f279 deleted file mode 100644 index 8f4f9a418..000000000 Binary files a/test/de_fuzz/corpus/da5e1a15b595dcf7649e29dd21d5996d7306f279 and /dev/null differ diff --git a/test/de_fuzz/corpus/da7384b916f08c3c0c7a01512895d9a24ab3c572 b/test/de_fuzz/corpus/da7384b916f08c3c0c7a01512895d9a24ab3c572 deleted file mode 100644 index 57c058b05..000000000 Binary files a/test/de_fuzz/corpus/da7384b916f08c3c0c7a01512895d9a24ab3c572 and /dev/null differ diff --git a/test/de_fuzz/corpus/da8d518a3aacfa8850fc1f0cb3bca5de5c6c86c8 b/test/de_fuzz/corpus/da8d518a3aacfa8850fc1f0cb3bca5de5c6c86c8 deleted file mode 100644 index 459fdb416..000000000 Binary files a/test/de_fuzz/corpus/da8d518a3aacfa8850fc1f0cb3bca5de5c6c86c8 and /dev/null differ diff --git a/test/de_fuzz/corpus/dab58597ba06a6ad31d4d137823f100696f3ebfa b/test/de_fuzz/corpus/dab58597ba06a6ad31d4d137823f100696f3ebfa deleted file mode 100644 index 9d6f418cf..000000000 Binary files a/test/de_fuzz/corpus/dab58597ba06a6ad31d4d137823f100696f3ebfa and /dev/null differ diff --git a/test/de_fuzz/corpus/dac1bddb2ac76d3ea3ba1cbf61137a0870507666 b/test/de_fuzz/corpus/dac1bddb2ac76d3ea3ba1cbf61137a0870507666 deleted file mode 100644 index a8ad092f4..000000000 Binary files a/test/de_fuzz/corpus/dac1bddb2ac76d3ea3ba1cbf61137a0870507666 and /dev/null differ diff --git a/test/de_fuzz/corpus/dad4040b19e17383f9194e26819b30538760ac0c b/test/de_fuzz/corpus/dad4040b19e17383f9194e26819b30538760ac0c deleted file mode 100644 index c4c779066..000000000 Binary files a/test/de_fuzz/corpus/dad4040b19e17383f9194e26819b30538760ac0c and /dev/null differ diff --git a/test/de_fuzz/corpus/dad7078f051d6d0dbb2ee5c66255eaa8506215d5 b/test/de_fuzz/corpus/dad7078f051d6d0dbb2ee5c66255eaa8506215d5 deleted file mode 100644 index 36d52db70..000000000 Binary files a/test/de_fuzz/corpus/dad7078f051d6d0dbb2ee5c66255eaa8506215d5 and /dev/null differ diff --git a/test/de_fuzz/corpus/dae724b110f994fd499da0adee5ce4b110633594 b/test/de_fuzz/corpus/dae724b110f994fd499da0adee5ce4b110633594 deleted file mode 100644 index d20129716..000000000 Binary files a/test/de_fuzz/corpus/dae724b110f994fd499da0adee5ce4b110633594 and /dev/null differ diff --git a/test/de_fuzz/corpus/db66b7459712d74fb0b05f3f0385dcc891fce1ee b/test/de_fuzz/corpus/db66b7459712d74fb0b05f3f0385dcc891fce1ee deleted file mode 100644 index 735c0195c..000000000 Binary files a/test/de_fuzz/corpus/db66b7459712d74fb0b05f3f0385dcc891fce1ee and /dev/null differ diff --git a/test/de_fuzz/corpus/db68e529bc42ee49135cdbafb114bee1e35c1ab4 b/test/de_fuzz/corpus/db68e529bc42ee49135cdbafb114bee1e35c1ab4 deleted file mode 100644 index 8a17715e8..000000000 Binary files a/test/de_fuzz/corpus/db68e529bc42ee49135cdbafb114bee1e35c1ab4 and /dev/null differ diff --git a/test/de_fuzz/corpus/db7cffc4b9e69beca9048a2dc5729cbe36a0145d b/test/de_fuzz/corpus/db7cffc4b9e69beca9048a2dc5729cbe36a0145d deleted file mode 100644 index 3a49b5a50..000000000 Binary files a/test/de_fuzz/corpus/db7cffc4b9e69beca9048a2dc5729cbe36a0145d and /dev/null differ diff --git a/test/de_fuzz/corpus/dba3f0a87ad719c0a4bc34bca61d6b6c8f4e652a b/test/de_fuzz/corpus/dba3f0a87ad719c0a4bc34bca61d6b6c8f4e652a deleted file mode 100644 index b33d15b10..000000000 Binary files a/test/de_fuzz/corpus/dba3f0a87ad719c0a4bc34bca61d6b6c8f4e652a and /dev/null differ diff --git a/test/de_fuzz/corpus/dba4868097c2eb20bbd7b1e6cf18da42dea9346f b/test/de_fuzz/corpus/dba4868097c2eb20bbd7b1e6cf18da42dea9346f deleted file mode 100644 index 8e317113b..000000000 --- a/test/de_fuzz/corpus/dba4868097c2eb20bbd7b1e6cf18da42dea9346f +++ /dev/null @@ -1 +0,0 @@ -;ae[[=ae=]]ZWe \ No newline at end of file diff --git a/test/de_fuzz/corpus/dba53696512f70bba89b653eeeb67e94303c6f49 b/test/de_fuzz/corpus/dba53696512f70bba89b653eeeb67e94303c6f49 deleted file mode 100644 index cfe211f1f..000000000 Binary files a/test/de_fuzz/corpus/dba53696512f70bba89b653eeeb67e94303c6f49 and /dev/null differ diff --git a/test/de_fuzz/corpus/dbac6a249252f37f4e39a75ff23aa678d3bd9ba3 b/test/de_fuzz/corpus/dbac6a249252f37f4e39a75ff23aa678d3bd9ba3 deleted file mode 100644 index 383724729..000000000 Binary files a/test/de_fuzz/corpus/dbac6a249252f37f4e39a75ff23aa678d3bd9ba3 and /dev/null differ diff --git a/test/de_fuzz/corpus/dbe011164d78437873fc991d750556e5129f19a9 b/test/de_fuzz/corpus/dbe011164d78437873fc991d750556e5129f19a9 deleted file mode 100644 index 0fcf9eba4..000000000 Binary files a/test/de_fuzz/corpus/dbe011164d78437873fc991d750556e5129f19a9 and /dev/null differ diff --git a/test/de_fuzz/corpus/dbee1ce9578b1b9e4d65b126e92699e968809cda b/test/de_fuzz/corpus/dbee1ce9578b1b9e4d65b126e92699e968809cda deleted file mode 100644 index db033abcc..000000000 --- a/test/de_fuzz/corpus/dbee1ce9578b1b9e4d65b126e92699e968809cda +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)?\W*(?1)\W*|2| |((.)\W*(?mmmmmmmmmmmmm ! \ No newline at end of file diff --git a/test/de_fuzz/corpus/dbf270e3b21691e5588370a7d7844f09999aec68 b/test/de_fuzz/corpus/dbf270e3b21691e5588370a7d7844f09999aec68 deleted file mode 100644 index aa647ca7f..000000000 Binary files a/test/de_fuzz/corpus/dbf270e3b21691e5588370a7d7844f09999aec68 and /dev/null differ diff --git a/test/de_fuzz/corpus/dc04d426ab3eaa19eaf6f8b35491a7158b9fbd19 b/test/de_fuzz/corpus/dc04d426ab3eaa19eaf6f8b35491a7158b9fbd19 deleted file mode 100644 index b18543a4b..000000000 Binary files a/test/de_fuzz/corpus/dc04d426ab3eaa19eaf6f8b35491a7158b9fbd19 and /dev/null differ diff --git a/test/de_fuzz/corpus/dc23b51dac275e8d7a3f55cb8de9a84c0a0c07a3 b/test/de_fuzz/corpus/dc23b51dac275e8d7a3f55cb8de9a84c0a0c07a3 deleted file mode 100644 index 0cf995fa8..000000000 Binary files a/test/de_fuzz/corpus/dc23b51dac275e8d7a3f55cb8de9a84c0a0c07a3 and /dev/null differ diff --git a/test/de_fuzz/corpus/dc44a247849218557f40a114c9676c4c62f959f7 b/test/de_fuzz/corpus/dc44a247849218557f40a114c9676c4c62f959f7 deleted file mode 100644 index 8e28720f6..000000000 Binary files a/test/de_fuzz/corpus/dc44a247849218557f40a114c9676c4c62f959f7 and /dev/null differ diff --git a/test/de_fuzz/corpus/dc4f10c51643d693036228e25db214408b486024 b/test/de_fuzz/corpus/dc4f10c51643d693036228e25db214408b486024 deleted file mode 100644 index 7b5bb11db..000000000 Binary files a/test/de_fuzz/corpus/dc4f10c51643d693036228e25db214408b486024 and /dev/null differ diff --git a/test/de_fuzz/corpus/dc55beb5c3f853cefd6d0072b562228e17384da7 b/test/de_fuzz/corpus/dc55beb5c3f853cefd6d0072b562228e17384da7 deleted file mode 100644 index abdfaf059..000000000 Binary files a/test/de_fuzz/corpus/dc55beb5c3f853cefd6d0072b562228e17384da7 and /dev/null differ diff --git a/test/de_fuzz/corpus/dca3de6c5a385d65a466afff5e3761922dabf7d7 b/test/de_fuzz/corpus/dca3de6c5a385d65a466afff5e3761922dabf7d7 deleted file mode 100644 index 7b6c745d8..000000000 Binary files a/test/de_fuzz/corpus/dca3de6c5a385d65a466afff5e3761922dabf7d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/dca41ea750524454b76fb1acf307a47a9e1ba296 b/test/de_fuzz/corpus/dca41ea750524454b76fb1acf307a47a9e1ba296 deleted file mode 100644 index c446ed9d5..000000000 Binary files a/test/de_fuzz/corpus/dca41ea750524454b76fb1acf307a47a9e1ba296 and /dev/null differ diff --git a/test/de_fuzz/corpus/dcd74899eef23c66030a22411e0e8ff9ea024712 b/test/de_fuzz/corpus/dcd74899eef23c66030a22411e0e8ff9ea024712 deleted file mode 100644 index 1f8fe1195..000000000 Binary files a/test/de_fuzz/corpus/dcd74899eef23c66030a22411e0e8ff9ea024712 and /dev/null differ diff --git a/test/de_fuzz/corpus/dcf05aa719032adf004d4cd96174cc524b5adead b/test/de_fuzz/corpus/dcf05aa719032adf004d4cd96174cc524b5adead deleted file mode 100644 index 1981d3cc9..000000000 Binary files a/test/de_fuzz/corpus/dcf05aa719032adf004d4cd96174cc524b5adead and /dev/null differ diff --git a/test/de_fuzz/corpus/dcf68bdcf2709cfb6a36100910ce006d38affc6e b/test/de_fuzz/corpus/dcf68bdcf2709cfb6a36100910ce006d38affc6e deleted file mode 100644 index df43b2c1e..000000000 Binary files a/test/de_fuzz/corpus/dcf68bdcf2709cfb6a36100910ce006d38affc6e and /dev/null differ diff --git a/test/de_fuzz/corpus/dd2d72d44cf6c84b164f61528bcdcb2d27b50959 b/test/de_fuzz/corpus/dd2d72d44cf6c84b164f61528bcdcb2d27b50959 deleted file mode 100644 index 9c319ded5..000000000 Binary files a/test/de_fuzz/corpus/dd2d72d44cf6c84b164f61528bcdcb2d27b50959 and /dev/null differ diff --git a/test/de_fuzz/corpus/dd33c82dc187d71362de3403761413d02fbb0b10 b/test/de_fuzz/corpus/dd33c82dc187d71362de3403761413d02fbb0b10 deleted file mode 100644 index f13a9fbbe..000000000 Binary files a/test/de_fuzz/corpus/dd33c82dc187d71362de3403761413d02fbb0b10 and /dev/null differ diff --git a/test/de_fuzz/corpus/dd3563871a30d3bd995d48bcc07982329d9b492c b/test/de_fuzz/corpus/dd3563871a30d3bd995d48bcc07982329d9b492c deleted file mode 100644 index 7911ca094..000000000 Binary files a/test/de_fuzz/corpus/dd3563871a30d3bd995d48bcc07982329d9b492c and /dev/null differ diff --git a/test/de_fuzz/corpus/dd6c8beaadbbba401b9baf36bfb466c775360373 b/test/de_fuzz/corpus/dd6c8beaadbbba401b9baf36bfb466c775360373 deleted file mode 100644 index 9fb70afa1..000000000 Binary files a/test/de_fuzz/corpus/dd6c8beaadbbba401b9baf36bfb466c775360373 and /dev/null differ diff --git a/test/de_fuzz/corpus/dda6ccdb96dd9f0632596bec021d2860382f8645 b/test/de_fuzz/corpus/dda6ccdb96dd9f0632596bec021d2860382f8645 deleted file mode 100644 index 322e397dc..000000000 Binary files a/test/de_fuzz/corpus/dda6ccdb96dd9f0632596bec021d2860382f8645 and /dev/null differ diff --git a/test/de_fuzz/corpus/ddb401cf7e7c7fb8d13a11b7233ef4d4f7829eac b/test/de_fuzz/corpus/ddb401cf7e7c7fb8d13a11b7233ef4d4f7829eac deleted file mode 100644 index f676ee48d..000000000 Binary files a/test/de_fuzz/corpus/ddb401cf7e7c7fb8d13a11b7233ef4d4f7829eac and /dev/null differ diff --git a/test/de_fuzz/corpus/ddc74b7a078ecfcd4611185581344fa229f27d83 b/test/de_fuzz/corpus/ddc74b7a078ecfcd4611185581344fa229f27d83 deleted file mode 100644 index 5500c2f61..000000000 Binary files a/test/de_fuzz/corpus/ddc74b7a078ecfcd4611185581344fa229f27d83 and /dev/null differ diff --git a/test/de_fuzz/corpus/ddcad26e8d27fa16ad22067e26a612617971a723 b/test/de_fuzz/corpus/ddcad26e8d27fa16ad22067e26a612617971a723 deleted file mode 100644 index 2be574e45..000000000 --- a/test/de_fuzz/corpus/ddcad26e8d27fa16ad22067e26a612617971a723 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)Z((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+-+)+)+|CY(((((((a+[abc])+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+;+)+)+)+)+)+|(a+)+b+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/ddcb4783b3b4b5fdb90f91114bd8c608210db230 b/test/de_fuzz/corpus/ddcb4783b3b4b5fdb90f91114bd8c608210db230 deleted file mode 100644 index b467b5946..000000000 Binary files a/test/de_fuzz/corpus/ddcb4783b3b4b5fdb90f91114bd8c608210db230 and /dev/null differ diff --git a/test/de_fuzz/corpus/ddcc0344a7bcd11411e7dfede7ae8ef79b48547f b/test/de_fuzz/corpus/ddcc0344a7bcd11411e7dfede7ae8ef79b48547f deleted file mode 100644 index 0a0822926..000000000 Binary files a/test/de_fuzz/corpus/ddcc0344a7bcd11411e7dfede7ae8ef79b48547f and /dev/null differ diff --git a/test/de_fuzz/corpus/ddd4c0983901c236f2c3b5373eb607e79dfde1d1 b/test/de_fuzz/corpus/ddd4c0983901c236f2c3b5373eb607e79dfde1d1 deleted file mode 100644 index 54e7eec41..000000000 Binary files a/test/de_fuzz/corpus/ddd4c0983901c236f2c3b5373eb607e79dfde1d1 and /dev/null differ diff --git a/test/de_fuzz/corpus/ddd5e09931687ec468fc3221b04e5ed0547f79f3 b/test/de_fuzz/corpus/ddd5e09931687ec468fc3221b04e5ed0547f79f3 deleted file mode 100644 index 439dada89..000000000 Binary files a/test/de_fuzz/corpus/ddd5e09931687ec468fc3221b04e5ed0547f79f3 and /dev/null differ diff --git a/test/de_fuzz/corpus/ddff94ec9b47183ce96ce8a19b9b1f7329513901 b/test/de_fuzz/corpus/ddff94ec9b47183ce96ce8a19b9b1f7329513901 deleted file mode 100644 index 4ea114215..000000000 Binary files a/test/de_fuzz/corpus/ddff94ec9b47183ce96ce8a19b9b1f7329513901 and /dev/null differ diff --git a/test/de_fuzz/corpus/de0bcd0e3b4e890c4425e511be562172cd83493b b/test/de_fuzz/corpus/de0bcd0e3b4e890c4425e511be562172cd83493b deleted file mode 100644 index 602975734..000000000 Binary files a/test/de_fuzz/corpus/de0bcd0e3b4e890c4425e511be562172cd83493b and /dev/null differ diff --git a/test/de_fuzz/corpus/de197f8716180ea06f8a17232a60511ef1e366c2 b/test/de_fuzz/corpus/de197f8716180ea06f8a17232a60511ef1e366c2 deleted file mode 100644 index d2ec6bb14..000000000 Binary files a/test/de_fuzz/corpus/de197f8716180ea06f8a17232a60511ef1e366c2 and /dev/null differ diff --git a/test/de_fuzz/corpus/de199f9aa7cdc8143dd30a5c56a09e8ca370fff3 b/test/de_fuzz/corpus/de199f9aa7cdc8143dd30a5c56a09e8ca370fff3 deleted file mode 100644 index 89e70be57..000000000 Binary files a/test/de_fuzz/corpus/de199f9aa7cdc8143dd30a5c56a09e8ca370fff3 and /dev/null differ diff --git a/test/de_fuzz/corpus/de4aed852e5419b1bcfb2e78b12a39aa6247d12a b/test/de_fuzz/corpus/de4aed852e5419b1bcfb2e78b12a39aa6247d12a deleted file mode 100644 index 1d0a2e793..000000000 Binary files a/test/de_fuzz/corpus/de4aed852e5419b1bcfb2e78b12a39aa6247d12a and /dev/null differ diff --git a/test/de_fuzz/corpus/de55650b1f9564ad5b4c1ac8ea78b89638a1d78f b/test/de_fuzz/corpus/de55650b1f9564ad5b4c1ac8ea78b89638a1d78f deleted file mode 100644 index c6d10f28f..000000000 Binary files a/test/de_fuzz/corpus/de55650b1f9564ad5b4c1ac8ea78b89638a1d78f and /dev/null differ diff --git a/test/de_fuzz/corpus/de752cccff53085bb81a2ea954d015cdaac63bc2 b/test/de_fuzz/corpus/de752cccff53085bb81a2ea954d015cdaac63bc2 deleted file mode 100644 index d5d9e0905..000000000 Binary files a/test/de_fuzz/corpus/de752cccff53085bb81a2ea954d015cdaac63bc2 and /dev/null differ diff --git a/test/de_fuzz/corpus/de7568dc679d3564da97aa3e6b4a785fdc12578a b/test/de_fuzz/corpus/de7568dc679d3564da97aa3e6b4a785fdc12578a deleted file mode 100644 index 0428614cd..000000000 Binary files a/test/de_fuzz/corpus/de7568dc679d3564da97aa3e6b4a785fdc12578a and /dev/null differ diff --git a/test/de_fuzz/corpus/de86a7f7640a7f4b98b7ae91429dea0c50278c16 b/test/de_fuzz/corpus/de86a7f7640a7f4b98b7ae91429dea0c50278c16 deleted file mode 100644 index 4fbea52c9..000000000 Binary files a/test/de_fuzz/corpus/de86a7f7640a7f4b98b7ae91429dea0c50278c16 and /dev/null differ diff --git a/test/de_fuzz/corpus/de86da77e009f9d5677333d80732b2cd658d446a b/test/de_fuzz/corpus/de86da77e009f9d5677333d80732b2cd658d446a deleted file mode 100644 index 1b00ecb3a..000000000 Binary files a/test/de_fuzz/corpus/de86da77e009f9d5677333d80732b2cd658d446a and /dev/null differ diff --git a/test/de_fuzz/corpus/de884e41f9d08b23a38c27e8324888b70fc4fef4 b/test/de_fuzz/corpus/de884e41f9d08b23a38c27e8324888b70fc4fef4 deleted file mode 100644 index c3b603180..000000000 Binary files a/test/de_fuzz/corpus/de884e41f9d08b23a38c27e8324888b70fc4fef4 and /dev/null differ diff --git a/test/de_fuzz/corpus/dea0c1e2518b5a0cac9e237fdb3a22b841947f1b b/test/de_fuzz/corpus/dea0c1e2518b5a0cac9e237fdb3a22b841947f1b deleted file mode 100644 index 633eee085..000000000 Binary files a/test/de_fuzz/corpus/dea0c1e2518b5a0cac9e237fdb3a22b841947f1b and /dev/null differ diff --git a/test/de_fuzz/corpus/decbbdbf919216d1c61b47983b2c53cd29201943 b/test/de_fuzz/corpus/decbbdbf919216d1c61b47983b2c53cd29201943 deleted file mode 100644 index b0037ae9f..000000000 Binary files a/test/de_fuzz/corpus/decbbdbf919216d1c61b47983b2c53cd29201943 and /dev/null differ diff --git a/test/de_fuzz/corpus/dece6654815eee943477451f46f2249ea1da89ad b/test/de_fuzz/corpus/dece6654815eee943477451f46f2249ea1da89ad deleted file mode 100644 index 5f40c1dce..000000000 Binary files a/test/de_fuzz/corpus/dece6654815eee943477451f46f2249ea1da89ad and /dev/null differ diff --git a/test/de_fuzz/corpus/deecc6bb4bcb6fb18a086c07631445dc703c8f92 b/test/de_fuzz/corpus/deecc6bb4bcb6fb18a086c07631445dc703c8f92 deleted file mode 100644 index 1982e35ff..000000000 Binary files a/test/de_fuzz/corpus/deecc6bb4bcb6fb18a086c07631445dc703c8f92 and /dev/null differ diff --git a/test/de_fuzz/corpus/df167f09e4db6f0efdd174ceeef8dd03513143df b/test/de_fuzz/corpus/df167f09e4db6f0efdd174ceeef8dd03513143df deleted file mode 100644 index 4a8a67fbe..000000000 Binary files a/test/de_fuzz/corpus/df167f09e4db6f0efdd174ceeef8dd03513143df and /dev/null differ diff --git a/test/de_fuzz/corpus/df1aa73f60725d4ff8fe0b746ad69afb8839c345 b/test/de_fuzz/corpus/df1aa73f60725d4ff8fe0b746ad69afb8839c345 deleted file mode 100644 index adddabbf5..000000000 --- a/test/de_fuzz/corpus/df1aa73f60725d4ff8fe0b746ad69afb8839c345 +++ /dev/null @@ -1,175 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,);:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -"ept backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x60-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\039\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/df1f39638bd17645b0fb97b7bfebfcaa2a2a933d b/test/de_fuzz/corpus/df1f39638bd17645b0fb97b7bfebfcaa2a2a933d deleted file mode 100644 index 240828323..000000000 Binary files a/test/de_fuzz/corpus/df1f39638bd17645b0fb97b7bfebfcaa2a2a933d and /dev/null differ diff --git a/test/de_fuzz/corpus/df207e3054a58eeca70718b0b65802a30f302129 b/test/de_fuzz/corpus/df207e3054a58eeca70718b0b65802a30f302129 deleted file mode 100644 index fdb16056b..000000000 Binary files a/test/de_fuzz/corpus/df207e3054a58eeca70718b0b65802a30f302129 and /dev/null differ diff --git a/test/de_fuzz/corpus/df526e7976f193836178cf129412c4426c71a6d4 b/test/de_fuzz/corpus/df526e7976f193836178cf129412c4426c71a6d4 deleted file mode 100644 index b15f69890..000000000 Binary files a/test/de_fuzz/corpus/df526e7976f193836178cf129412c4426c71a6d4 and /dev/null differ diff --git a/test/de_fuzz/corpus/df69bd66baf23c771e2d7df9765c8a3533404f32 b/test/de_fuzz/corpus/df69bd66baf23c771e2d7df9765c8a3533404f32 deleted file mode 100644 index 40bc60f51..000000000 Binary files a/test/de_fuzz/corpus/df69bd66baf23c771e2d7df9765c8a3533404f32 and /dev/null differ diff --git a/test/de_fuzz/corpus/df77a33deac271a6b2091e67f5ff6007329abdbe b/test/de_fuzz/corpus/df77a33deac271a6b2091e67f5ff6007329abdbe deleted file mode 100644 index d7802a396..000000000 Binary files a/test/de_fuzz/corpus/df77a33deac271a6b2091e67f5ff6007329abdbe and /dev/null differ diff --git a/test/de_fuzz/corpus/dfdf4904abb3f645c4fd5810f804fba902ae6f94 b/test/de_fuzz/corpus/dfdf4904abb3f645c4fd5810f804fba902ae6f94 deleted file mode 100644 index 05a7db6fd..000000000 Binary files a/test/de_fuzz/corpus/dfdf4904abb3f645c4fd5810f804fba902ae6f94 and /dev/null differ diff --git a/test/de_fuzz/corpus/dff25edd5d709b0c887f8c16ba3a9b947e3c52c4 b/test/de_fuzz/corpus/dff25edd5d709b0c887f8c16ba3a9b947e3c52c4 deleted file mode 100644 index 9dbcdb176..000000000 Binary files a/test/de_fuzz/corpus/dff25edd5d709b0c887f8c16ba3a9b947e3c52c4 and /dev/null differ diff --git a/test/de_fuzz/corpus/e000d35aa345328b400ed82a667a7562739ae741 b/test/de_fuzz/corpus/e000d35aa345328b400ed82a667a7562739ae741 deleted file mode 100644 index 267eef703..000000000 Binary files a/test/de_fuzz/corpus/e000d35aa345328b400ed82a667a7562739ae741 and /dev/null differ diff --git a/test/de_fuzz/corpus/e00700047cdd103c0f289142790b650aa0cec1d8 b/test/de_fuzz/corpus/e00700047cdd103c0f289142790b650aa0cec1d8 deleted file mode 100644 index 0f321e8cc..000000000 Binary files a/test/de_fuzz/corpus/e00700047cdd103c0f289142790b650aa0cec1d8 and /dev/null differ diff --git a/test/de_fuzz/corpus/e011c4b27064731c8c64a74cb3e263d84bc2a438 b/test/de_fuzz/corpus/e011c4b27064731c8c64a74cb3e263d84bc2a438 deleted file mode 100644 index a5789c605..000000000 --- a/test/de_fuzz/corpus/e011c4b27064731c8c64a74cb3e263d84bc2a438 +++ /dev/null @@ -1,177 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [ # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/e03f84cc3a557425ddc0eef6997553dd06d0b670 b/test/de_fuzz/corpus/e03f84cc3a557425ddc0eef6997553dd06d0b670 deleted file mode 100644 index de9191d26..000000000 Binary files a/test/de_fuzz/corpus/e03f84cc3a557425ddc0eef6997553dd06d0b670 and /dev/null differ diff --git a/test/de_fuzz/corpus/e04bacdbe200c6deda60c24045e24e5975edd18e b/test/de_fuzz/corpus/e04bacdbe200c6deda60c24045e24e5975edd18e deleted file mode 100644 index a6044447f..000000000 Binary files a/test/de_fuzz/corpus/e04bacdbe200c6deda60c24045e24e5975edd18e and /dev/null differ diff --git a/test/de_fuzz/corpus/e09c7e496c2c9cd30117fc42cf242073515df8cc b/test/de_fuzz/corpus/e09c7e496c2c9cd30117fc42cf242073515df8cc deleted file mode 100644 index bff2cd5c5..000000000 Binary files a/test/de_fuzz/corpus/e09c7e496c2c9cd30117fc42cf242073515df8cc and /dev/null differ diff --git a/test/de_fuzz/corpus/e10ae5c1abae863fd5f5cdebd3e8e0cbf9b8089b b/test/de_fuzz/corpus/e10ae5c1abae863fd5f5cdebd3e8e0cbf9b8089b deleted file mode 100644 index f94b4b380..000000000 Binary files a/test/de_fuzz/corpus/e10ae5c1abae863fd5f5cdebd3e8e0cbf9b8089b and /dev/null differ diff --git a/test/de_fuzz/corpus/e113478b91c3daf6b74b8040b03e51cf76eb39eb b/test/de_fuzz/corpus/e113478b91c3daf6b74b8040b03e51cf76eb39eb deleted file mode 100644 index 3dce3aad7..000000000 Binary files a/test/de_fuzz/corpus/e113478b91c3daf6b74b8040b03e51cf76eb39eb and /dev/null differ diff --git a/test/de_fuzz/corpus/e119af1267e5ba2dd3906c7ce54d6b2be271780f b/test/de_fuzz/corpus/e119af1267e5ba2dd3906c7ce54d6b2be271780f deleted file mode 100644 index 3be07684e..000000000 Binary files a/test/de_fuzz/corpus/e119af1267e5ba2dd3906c7ce54d6b2be271780f and /dev/null differ diff --git a/test/de_fuzz/corpus/e11db190643b05a18fa00e6eb47aaad39bba146f b/test/de_fuzz/corpus/e11db190643b05a18fa00e6eb47aaad39bba146f deleted file mode 100644 index 5a014d059..000000000 Binary files a/test/de_fuzz/corpus/e11db190643b05a18fa00e6eb47aaad39bba146f and /dev/null differ diff --git a/test/de_fuzz/corpus/e13712844754451f514edeb1cc314b411c56bf6e b/test/de_fuzz/corpus/e13712844754451f514edeb1cc314b411c56bf6e deleted file mode 100644 index 361a99d4e..000000000 Binary files a/test/de_fuzz/corpus/e13712844754451f514edeb1cc314b411c56bf6e and /dev/null differ diff --git a/test/de_fuzz/corpus/e14ba8cc25078e265f7fd3afdf3290a9b853b3f8 b/test/de_fuzz/corpus/e14ba8cc25078e265f7fd3afdf3290a9b853b3f8 deleted file mode 100644 index df1341470..000000000 Binary files a/test/de_fuzz/corpus/e14ba8cc25078e265f7fd3afdf3290a9b853b3f8 and /dev/null differ diff --git a/test/de_fuzz/corpus/e153aaf3e9819ed5dfc6796e979e5060a86f7ac5 b/test/de_fuzz/corpus/e153aaf3e9819ed5dfc6796e979e5060a86f7ac5 deleted file mode 100644 index 444621451..000000000 --- a/test/de_fuzz/corpus/e153aaf3e9819ed5dfc6796e979e5060a86f7ac5 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)++)+)|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+;|V((()++)+)+|CW(((((((a+)+)+)+((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV,((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/e17c0aa4f571138fb2a9738f3060b23e0424841f b/test/de_fuzz/corpus/e17c0aa4f571138fb2a9738f3060b23e0424841f deleted file mode 100644 index a4263f559..000000000 Binary files a/test/de_fuzz/corpus/e17c0aa4f571138fb2a9738f3060b23e0424841f and /dev/null differ diff --git a/test/de_fuzz/corpus/e1c02044349fe43a5274a33d0a1b681d4a8400e4 b/test/de_fuzz/corpus/e1c02044349fe43a5274a33d0a1b681d4a8400e4 deleted file mode 100644 index ebee8ee99..000000000 Binary files a/test/de_fuzz/corpus/e1c02044349fe43a5274a33d0a1b681d4a8400e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/e1c55eaf53079e909c6bc77b6b9144b68b36919d b/test/de_fuzz/corpus/e1c55eaf53079e909c6bc77b6b9144b68b36919d deleted file mode 100644 index 50b661b06..000000000 Binary files a/test/de_fuzz/corpus/e1c55eaf53079e909c6bc77b6b9144b68b36919d and /dev/null differ diff --git a/test/de_fuzz/corpus/e1d935e141cc465373535559a54250eae389161f b/test/de_fuzz/corpus/e1d935e141cc465373535559a54250eae389161f deleted file mode 100644 index b476794d3..000000000 Binary files a/test/de_fuzz/corpus/e1d935e141cc465373535559a54250eae389161f and /dev/null differ diff --git a/test/de_fuzz/corpus/e2010af8da1bbf8481c8ce98a141152845698ec1 b/test/de_fuzz/corpus/e2010af8da1bbf8481c8ce98a141152845698ec1 deleted file mode 100644 index 732640ccd..000000000 Binary files a/test/de_fuzz/corpus/e2010af8da1bbf8481c8ce98a141152845698ec1 and /dev/null differ diff --git a/test/de_fuzz/corpus/e22b6279e326dc3c21e55b470ba997c197a7d72e b/test/de_fuzz/corpus/e22b6279e326dc3c21e55b470ba997c197a7d72e deleted file mode 100644 index 7cd352ed2..000000000 Binary files a/test/de_fuzz/corpus/e22b6279e326dc3c21e55b470ba997c197a7d72e and /dev/null differ diff --git a/test/de_fuzz/corpus/e240c5e7d18a161fcb74d1373763bb5a5d3243e8 b/test/de_fuzz/corpus/e240c5e7d18a161fcb74d1373763bb5a5d3243e8 deleted file mode 100644 index f0c5551e7..000000000 Binary files a/test/de_fuzz/corpus/e240c5e7d18a161fcb74d1373763bb5a5d3243e8 and /dev/null differ diff --git a/test/de_fuzz/corpus/e2551911bef27d66084c47184ce426181cde28fa b/test/de_fuzz/corpus/e2551911bef27d66084c47184ce426181cde28fa deleted file mode 100644 index e2e645832..000000000 Binary files a/test/de_fuzz/corpus/e2551911bef27d66084c47184ce426181cde28fa and /dev/null differ diff --git a/test/de_fuzz/corpus/e268d41ddae1293fe50700526326e29edbfcffc4 b/test/de_fuzz/corpus/e268d41ddae1293fe50700526326e29edbfcffc4 deleted file mode 100644 index 5e84fe34e..000000000 Binary files a/test/de_fuzz/corpus/e268d41ddae1293fe50700526326e29edbfcffc4 and /dev/null differ diff --git a/test/de_fuzz/corpus/e2781fe0262fb56521967860712a68bc47db536e b/test/de_fuzz/corpus/e2781fe0262fb56521967860712a68bc47db536e deleted file mode 100644 index c8e7bc24f..000000000 Binary files a/test/de_fuzz/corpus/e2781fe0262fb56521967860712a68bc47db536e and /dev/null differ diff --git a/test/de_fuzz/corpus/e2977965b12cda2fb2eec2fc4547ddcf30e9b528 b/test/de_fuzz/corpus/e2977965b12cda2fb2eec2fc4547ddcf30e9b528 deleted file mode 100644 index 1c4e1d040..000000000 Binary files a/test/de_fuzz/corpus/e2977965b12cda2fb2eec2fc4547ddcf30e9b528 and /dev/null differ diff --git a/test/de_fuzz/corpus/e299493243c9f89c60e709e0a5747a92608a1e31 b/test/de_fuzz/corpus/e299493243c9f89c60e709e0a5747a92608a1e31 deleted file mode 100644 index 5d85d546f..000000000 Binary files a/test/de_fuzz/corpus/e299493243c9f89c60e709e0a5747a92608a1e31 and /dev/null differ diff --git a/test/de_fuzz/corpus/e2c636d1a72242818670f54cd3481c44ccb631ac b/test/de_fuzz/corpus/e2c636d1a72242818670f54cd3481c44ccb631ac deleted file mode 100644 index 9a910e168..000000000 Binary files a/test/de_fuzz/corpus/e2c636d1a72242818670f54cd3481c44ccb631ac and /dev/null differ diff --git a/test/de_fuzz/corpus/e2d143dde8446e3de22bf8dc5663f7773708be87 b/test/de_fuzz/corpus/e2d143dde8446e3de22bf8dc5663f7773708be87 deleted file mode 100644 index 46648dcef..000000000 Binary files a/test/de_fuzz/corpus/e2d143dde8446e3de22bf8dc5663f7773708be87 and /dev/null differ diff --git a/test/de_fuzz/corpus/e2fe1a1819b4ed9b0ab553f3d7da7b2c2a0b728b b/test/de_fuzz/corpus/e2fe1a1819b4ed9b0ab553f3d7da7b2c2a0b728b deleted file mode 100644 index e966bf47e..000000000 --- a/test/de_fuzz/corpus/e2fe1a1819b4ed9b0ab553f3d7da7b2c2a0b728b +++ /dev/null @@ -1 +0,0 @@ -@J\b(?:(?:(one)|(tone)|(two)|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|wo)|(three))(?:,|\b)){3,}(?(1)|(?!))(?(2)|(?!))(?(3)|(?!))one,three,two \ No newline at end of file diff --git a/test/de_fuzz/corpus/e32530ef7756d0c484d325a5a875f79aefcbffd0 b/test/de_fuzz/corpus/e32530ef7756d0c484d325a5a875f79aefcbffd0 deleted file mode 100644 index 96d40ee33..000000000 Binary files a/test/de_fuzz/corpus/e32530ef7756d0c484d325a5a875f79aefcbffd0 and /dev/null differ diff --git a/test/de_fuzz/corpus/e333b0bab4aec6438771bb9c886051cdcba8bc27 b/test/de_fuzz/corpus/e333b0bab4aec6438771bb9c886051cdcba8bc27 deleted file mode 100644 index cce59e512..000000000 Binary files a/test/de_fuzz/corpus/e333b0bab4aec6438771bb9c886051cdcba8bc27 and /dev/null differ diff --git a/test/de_fuzz/corpus/e33b50609243d85f8210a046cf2c75b96d56b39a b/test/de_fuzz/corpus/e33b50609243d85f8210a046cf2c75b96d56b39a deleted file mode 100644 index d2a48eed8..000000000 Binary files a/test/de_fuzz/corpus/e33b50609243d85f8210a046cf2c75b96d56b39a and /dev/null differ diff --git a/test/de_fuzz/corpus/e33d8387de013fc0e7a57e308efb64f7da2c4aad b/test/de_fuzz/corpus/e33d8387de013fc0e7a57e308efb64f7da2c4aad deleted file mode 100644 index cda9357b3..000000000 Binary files a/test/de_fuzz/corpus/e33d8387de013fc0e7a57e308efb64f7da2c4aad and /dev/null differ diff --git a/test/de_fuzz/corpus/e36e4da003187e5df9123c3f5f92837012a09971 b/test/de_fuzz/corpus/e36e4da003187e5df9123c3f5f92837012a09971 deleted file mode 100644 index 02c0e777b..000000000 Binary files a/test/de_fuzz/corpus/e36e4da003187e5df9123c3f5f92837012a09971 and /dev/null differ diff --git a/test/de_fuzz/corpus/e373efdfa180831a8dab078cb410273ca1749ddd b/test/de_fuzz/corpus/e373efdfa180831a8dab078cb410273ca1749ddd deleted file mode 100644 index fd6054566..000000000 Binary files a/test/de_fuzz/corpus/e373efdfa180831a8dab078cb410273ca1749ddd and /dev/null differ diff --git a/test/de_fuzz/corpus/e3b4dd5d84348ec03c10f9b726cf47c0dd515069 b/test/de_fuzz/corpus/e3b4dd5d84348ec03c10f9b726cf47c0dd515069 deleted file mode 100644 index 2a2ded03a..000000000 Binary files a/test/de_fuzz/corpus/e3b4dd5d84348ec03c10f9b726cf47c0dd515069 and /dev/null differ diff --git a/test/de_fuzz/corpus/e3ba2084d8d3757506ff7320e70549f5b26a4968 b/test/de_fuzz/corpus/e3ba2084d8d3757506ff7320e70549f5b26a4968 deleted file mode 100644 index c6e9cbb5c..000000000 Binary files a/test/de_fuzz/corpus/e3ba2084d8d3757506ff7320e70549f5b26a4968 and /dev/null differ diff --git a/test/de_fuzz/corpus/e3fe435e743234f1bf4c9dbb1c60c1bd5964fd55 b/test/de_fuzz/corpus/e3fe435e743234f1bf4c9dbb1c60c1bd5964fd55 deleted file mode 100644 index 8bb408c9f..000000000 Binary files a/test/de_fuzz/corpus/e3fe435e743234f1bf4c9dbb1c60c1bd5964fd55 and /dev/null differ diff --git a/test/de_fuzz/corpus/e47c2be51ff513a4d9313e423deb43137d6ac210 b/test/de_fuzz/corpus/e47c2be51ff513a4d9313e423deb43137d6ac210 deleted file mode 100644 index 5c99dab1b..000000000 Binary files a/test/de_fuzz/corpus/e47c2be51ff513a4d9313e423deb43137d6ac210 and /dev/null differ diff --git a/test/de_fuzz/corpus/e49313d178226b4975ef3d861a4c6f8a26e4f18d b/test/de_fuzz/corpus/e49313d178226b4975ef3d861a4c6f8a26e4f18d deleted file mode 100644 index 6fea89fa2..000000000 Binary files a/test/de_fuzz/corpus/e49313d178226b4975ef3d861a4c6f8a26e4f18d and /dev/null differ diff --git a/test/de_fuzz/corpus/e5036247835b391188e4cbd503ff2c46900db12b b/test/de_fuzz/corpus/e5036247835b391188e4cbd503ff2c46900db12b deleted file mode 100644 index 5bd120a50..000000000 Binary files a/test/de_fuzz/corpus/e5036247835b391188e4cbd503ff2c46900db12b and /dev/null differ diff --git a/test/de_fuzz/corpus/e5132dfab6b281be880e6208e29bb62a56b749d6 b/test/de_fuzz/corpus/e5132dfab6b281be880e6208e29bb62a56b749d6 deleted file mode 100644 index 58808a4d3..000000000 Binary files a/test/de_fuzz/corpus/e5132dfab6b281be880e6208e29bb62a56b749d6 and /dev/null differ diff --git a/test/de_fuzz/corpus/e53122ba876fd7908c3b2d68666299dd0de9880e b/test/de_fuzz/corpus/e53122ba876fd7908c3b2d68666299dd0de9880e deleted file mode 100644 index d5f1fca8b..000000000 Binary files a/test/de_fuzz/corpus/e53122ba876fd7908c3b2d68666299dd0de9880e and /dev/null differ diff --git a/test/de_fuzz/corpus/e587899e2825ba75163a40f7ec1c57fb28d69dda b/test/de_fuzz/corpus/e587899e2825ba75163a40f7ec1c57fb28d69dda deleted file mode 100644 index 505ad7a51..000000000 Binary files a/test/de_fuzz/corpus/e587899e2825ba75163a40f7ec1c57fb28d69dda and /dev/null differ diff --git a/test/de_fuzz/corpus/e5bc286cf1ab03be48f4d13bb0a434839a9458eb b/test/de_fuzz/corpus/e5bc286cf1ab03be48f4d13bb0a434839a9458eb deleted file mode 100644 index 0b85b2288..000000000 Binary files a/test/de_fuzz/corpus/e5bc286cf1ab03be48f4d13bb0a434839a9458eb and /dev/null differ diff --git a/test/de_fuzz/corpus/e5d5eb0e8998a652b81dbf3158797d061702a971 b/test/de_fuzz/corpus/e5d5eb0e8998a652b81dbf3158797d061702a971 deleted file mode 100644 index 3c9006d1b..000000000 Binary files a/test/de_fuzz/corpus/e5d5eb0e8998a652b81dbf3158797d061702a971 and /dev/null differ diff --git a/test/de_fuzz/corpus/e5f019510af3bf197e58300030014a229139edf1 b/test/de_fuzz/corpus/e5f019510af3bf197e58300030014a229139edf1 deleted file mode 100644 index fbb4f9b01..000000000 Binary files a/test/de_fuzz/corpus/e5f019510af3bf197e58300030014a229139edf1 and /dev/null differ diff --git a/test/de_fuzz/corpus/e601def8ad1f06e18517b7a35667cdb0d09744b2 b/test/de_fuzz/corpus/e601def8ad1f06e18517b7a35667cdb0d09744b2 deleted file mode 100644 index 7b66c620e..000000000 Binary files a/test/de_fuzz/corpus/e601def8ad1f06e18517b7a35667cdb0d09744b2 and /dev/null differ diff --git a/test/de_fuzz/corpus/e604f8b71c980a742e2f77db0180349affcaced1 b/test/de_fuzz/corpus/e604f8b71c980a742e2f77db0180349affcaced1 deleted file mode 100644 index d099374d3..000000000 Binary files a/test/de_fuzz/corpus/e604f8b71c980a742e2f77db0180349affcaced1 and /dev/null differ diff --git a/test/de_fuzz/corpus/e642c837188bbcec6e7357b44ba2aa02b180e895 b/test/de_fuzz/corpus/e642c837188bbcec6e7357b44ba2aa02b180e895 deleted file mode 100644 index a92567955..000000000 Binary files a/test/de_fuzz/corpus/e642c837188bbcec6e7357b44ba2aa02b180e895 and /dev/null differ diff --git a/test/de_fuzz/corpus/e66c33752ee603cf7457c8444fbba8f6ff1b6d46 b/test/de_fuzz/corpus/e66c33752ee603cf7457c8444fbba8f6ff1b6d46 deleted file mode 100644 index 981fd6ed3..000000000 Binary files a/test/de_fuzz/corpus/e66c33752ee603cf7457c8444fbba8f6ff1b6d46 and /dev/null differ diff --git a/test/de_fuzz/corpus/e6b0e90a0db6347a5b39f47a7221af41d0b22a0c b/test/de_fuzz/corpus/e6b0e90a0db6347a5b39f47a7221af41d0b22a0c deleted file mode 100644 index a8d5cfa5b..000000000 Binary files a/test/de_fuzz/corpus/e6b0e90a0db6347a5b39f47a7221af41d0b22a0c and /dev/null differ diff --git a/test/de_fuzz/corpus/e6bfeea120096a31b7e2c2a5afe0b6951a091fd6 b/test/de_fuzz/corpus/e6bfeea120096a31b7e2c2a5afe0b6951a091fd6 deleted file mode 100644 index cb0cdd480..000000000 Binary files a/test/de_fuzz/corpus/e6bfeea120096a31b7e2c2a5afe0b6951a091fd6 and /dev/null differ diff --git a/test/de_fuzz/corpus/e6c1cdc3a21758be72d9881083f7936bb4e57f7f b/test/de_fuzz/corpus/e6c1cdc3a21758be72d9881083f7936bb4e57f7f deleted file mode 100644 index 0f2d16ded..000000000 Binary files a/test/de_fuzz/corpus/e6c1cdc3a21758be72d9881083f7936bb4e57f7f and /dev/null differ diff --git a/test/de_fuzz/corpus/e6d60664271b0c16a7dc8fde001f509814b0be07 b/test/de_fuzz/corpus/e6d60664271b0c16a7dc8fde001f509814b0be07 deleted file mode 100644 index 980e5f803..000000000 Binary files a/test/de_fuzz/corpus/e6d60664271b0c16a7dc8fde001f509814b0be07 and /dev/null differ diff --git a/test/de_fuzz/corpus/e7028176f4284f82d8bf86005ded4d51afd9c9ef b/test/de_fuzz/corpus/e7028176f4284f82d8bf86005ded4d51afd9c9ef deleted file mode 100644 index 72b320899..000000000 Binary files a/test/de_fuzz/corpus/e7028176f4284f82d8bf86005ded4d51afd9c9ef and /dev/null differ diff --git a/test/de_fuzz/corpus/e75a8bf7cd5ed06cf1558f861968d5a99b31fe2f b/test/de_fuzz/corpus/e75a8bf7cd5ed06cf1558f861968d5a99b31fe2f deleted file mode 100644 index 4073aa994..000000000 Binary files a/test/de_fuzz/corpus/e75a8bf7cd5ed06cf1558f861968d5a99b31fe2f and /dev/null differ diff --git a/test/de_fuzz/corpus/e786eb7b5ad59987df46b47b43bab7556c223dbf b/test/de_fuzz/corpus/e786eb7b5ad59987df46b47b43bab7556c223dbf deleted file mode 100644 index c55b05cb6..000000000 Binary files a/test/de_fuzz/corpus/e786eb7b5ad59987df46b47b43bab7556c223dbf and /dev/null differ diff --git a/test/de_fuzz/corpus/e7ac6f06ecb5cc2b555983e817d67f776554cc12 b/test/de_fuzz/corpus/e7ac6f06ecb5cc2b555983e817d67f776554cc12 deleted file mode 100644 index b0670dcda..000000000 Binary files a/test/de_fuzz/corpus/e7ac6f06ecb5cc2b555983e817d67f776554cc12 and /dev/null differ diff --git a/test/de_fuzz/corpus/e7b34cb68fa45b66d16f30e5dcac31b68fcdea99 b/test/de_fuzz/corpus/e7b34cb68fa45b66d16f30e5dcac31b68fcdea99 deleted file mode 100644 index 7026d94ca..000000000 Binary files a/test/de_fuzz/corpus/e7b34cb68fa45b66d16f30e5dcac31b68fcdea99 and /dev/null differ diff --git a/test/de_fuzz/corpus/e7c3c8586d8160ab06fb3075ce6735fad0ed341f b/test/de_fuzz/corpus/e7c3c8586d8160ab06fb3075ce6735fad0ed341f deleted file mode 100644 index bdec61d74..000000000 Binary files a/test/de_fuzz/corpus/e7c3c8586d8160ab06fb3075ce6735fad0ed341f and /dev/null differ diff --git a/test/de_fuzz/corpus/e7c3f1de7bbe2826623fbd14fcd3db9f8bebf68d b/test/de_fuzz/corpus/e7c3f1de7bbe2826623fbd14fcd3db9f8bebf68d deleted file mode 100644 index ab636beb3..000000000 Binary files a/test/de_fuzz/corpus/e7c3f1de7bbe2826623fbd14fcd3db9f8bebf68d and /dev/null differ diff --git a/test/de_fuzz/corpus/e7d50871f347ad94d789b377070825b27d989d7d b/test/de_fuzz/corpus/e7d50871f347ad94d789b377070825b27d989d7d deleted file mode 100644 index f7930f6ba..000000000 Binary files a/test/de_fuzz/corpus/e7d50871f347ad94d789b377070825b27d989d7d and /dev/null differ diff --git a/test/de_fuzz/corpus/e7e1f21ef29e2cd2d6547116f45111cb325f7335 b/test/de_fuzz/corpus/e7e1f21ef29e2cd2d6547116f45111cb325f7335 deleted file mode 100644 index 71ed25e99..000000000 Binary files a/test/de_fuzz/corpus/e7e1f21ef29e2cd2d6547116f45111cb325f7335 and /dev/null differ diff --git a/test/de_fuzz/corpus/e81fa9d4ed00ac9af904a9825b5e1c4609427665 b/test/de_fuzz/corpus/e81fa9d4ed00ac9af904a9825b5e1c4609427665 deleted file mode 100644 index 25d41db08..000000000 Binary files a/test/de_fuzz/corpus/e81fa9d4ed00ac9af904a9825b5e1c4609427665 and /dev/null differ diff --git a/test/de_fuzz/corpus/e83204080b50c6f8e925bf219bfe73e87904d548 b/test/de_fuzz/corpus/e83204080b50c6f8e925bf219bfe73e87904d548 deleted file mode 100644 index e507d0faa..000000000 Binary files a/test/de_fuzz/corpus/e83204080b50c6f8e925bf219bfe73e87904d548 and /dev/null differ diff --git a/test/de_fuzz/corpus/e84489a2ee851f0fb602ead9cf044062b249d6bb b/test/de_fuzz/corpus/e84489a2ee851f0fb602ead9cf044062b249d6bb deleted file mode 100644 index e10950c49..000000000 Binary files a/test/de_fuzz/corpus/e84489a2ee851f0fb602ead9cf044062b249d6bb and /dev/null differ diff --git a/test/de_fuzz/corpus/e84502e20dad0c9dbf30c3e8c7b71b1e00a22398 b/test/de_fuzz/corpus/e84502e20dad0c9dbf30c3e8c7b71b1e00a22398 deleted file mode 100644 index 443078749..000000000 Binary files a/test/de_fuzz/corpus/e84502e20dad0c9dbf30c3e8c7b71b1e00a22398 and /dev/null differ diff --git a/test/de_fuzz/corpus/e8457e2f658e010d02204c8a3dd3ea1c53d8dba1 b/test/de_fuzz/corpus/e8457e2f658e010d02204c8a3dd3ea1c53d8dba1 deleted file mode 100644 index 4943e8126..000000000 Binary files a/test/de_fuzz/corpus/e8457e2f658e010d02204c8a3dd3ea1c53d8dba1 and /dev/null differ diff --git a/test/de_fuzz/corpus/e84b40dc8f1a0b73e73b7541f471324e5ed7d720 b/test/de_fuzz/corpus/e84b40dc8f1a0b73e73b7541f471324e5ed7d720 deleted file mode 100644 index f17fd88b0..000000000 Binary files a/test/de_fuzz/corpus/e84b40dc8f1a0b73e73b7541f471324e5ed7d720 and /dev/null differ diff --git a/test/de_fuzz/corpus/e85847a0af0a9e1b8f167072c9264ced9e713a73 b/test/de_fuzz/corpus/e85847a0af0a9e1b8f167072c9264ced9e713a73 deleted file mode 100644 index d18a894ce..000000000 Binary files a/test/de_fuzz/corpus/e85847a0af0a9e1b8f167072c9264ced9e713a73 and /dev/null differ diff --git a/test/de_fuzz/corpus/e863165ffa809910ac80b21c3925c1e8e1663716 b/test/de_fuzz/corpus/e863165ffa809910ac80b21c3925c1e8e1663716 deleted file mode 100644 index 031bc8a7f..000000000 Binary files a/test/de_fuzz/corpus/e863165ffa809910ac80b21c3925c1e8e1663716 and /dev/null differ diff --git a/test/de_fuzz/corpus/e88ae8c0efa463f2fd86ba2d8ef90b01c9dda82c b/test/de_fuzz/corpus/e88ae8c0efa463f2fd86ba2d8ef90b01c9dda82c deleted file mode 100644 index e91972976..000000000 Binary files a/test/de_fuzz/corpus/e88ae8c0efa463f2fd86ba2d8ef90b01c9dda82c and /dev/null differ diff --git a/test/de_fuzz/corpus/e89c6af4cc01460b7c369075fe89114d27c6cb7f b/test/de_fuzz/corpus/e89c6af4cc01460b7c369075fe89114d27c6cb7f deleted file mode 100644 index 9821bf783..000000000 Binary files a/test/de_fuzz/corpus/e89c6af4cc01460b7c369075fe89114d27c6cb7f and /dev/null differ diff --git a/test/de_fuzz/corpus/e8e03a27636dc9ad18b36a540b561971f99e27c5 b/test/de_fuzz/corpus/e8e03a27636dc9ad18b36a540b561971f99e27c5 deleted file mode 100644 index 5277a4fd2..000000000 Binary files a/test/de_fuzz/corpus/e8e03a27636dc9ad18b36a540b561971f99e27c5 and /dev/null differ diff --git a/test/de_fuzz/corpus/e911233fc11bf6eda25a181e3557ff04a65895e4 b/test/de_fuzz/corpus/e911233fc11bf6eda25a181e3557ff04a65895e4 deleted file mode 100644 index 5aeb36c9a..000000000 Binary files a/test/de_fuzz/corpus/e911233fc11bf6eda25a181e3557ff04a65895e4 and /dev/null differ diff --git a/test/de_fuzz/corpus/e99d736364913c559d73d1356ba5039f5bc9ef15 b/test/de_fuzz/corpus/e99d736364913c559d73d1356ba5039f5bc9ef15 deleted file mode 100644 index 4ce16d8b1..000000000 Binary files a/test/de_fuzz/corpus/e99d736364913c559d73d1356ba5039f5bc9ef15 and /dev/null differ diff --git a/test/de_fuzz/corpus/e99fa0bbd27e3a6f1a2278b77693e1ae6ff61548 b/test/de_fuzz/corpus/e99fa0bbd27e3a6f1a2278b77693e1ae6ff61548 deleted file mode 100644 index d4a3beec1..000000000 Binary files a/test/de_fuzz/corpus/e99fa0bbd27e3a6f1a2278b77693e1ae6ff61548 and /dev/null differ diff --git a/test/de_fuzz/corpus/e9a09a641b1d7c119576287f323db7c7971e5fde b/test/de_fuzz/corpus/e9a09a641b1d7c119576287f323db7c7971e5fde deleted file mode 100644 index 078dc6c2a..000000000 Binary files a/test/de_fuzz/corpus/e9a09a641b1d7c119576287f323db7c7971e5fde and /dev/null differ diff --git a/test/de_fuzz/corpus/e9a87965013edcea009beb8bb40599de1a2ded98 b/test/de_fuzz/corpus/e9a87965013edcea009beb8bb40599de1a2ded98 deleted file mode 100644 index f8f45dd73..000000000 Binary files a/test/de_fuzz/corpus/e9a87965013edcea009beb8bb40599de1a2ded98 and /dev/null differ diff --git a/test/de_fuzz/corpus/e9b252fcd3351e722d3343c254af906d26500460 b/test/de_fuzz/corpus/e9b252fcd3351e722d3343c254af906d26500460 deleted file mode 100644 index 1486eecef..000000000 Binary files a/test/de_fuzz/corpus/e9b252fcd3351e722d3343c254af906d26500460 and /dev/null differ diff --git a/test/de_fuzz/corpus/ea3407612692b66d450d9a86d47199acd18d3470 b/test/de_fuzz/corpus/ea3407612692b66d450d9a86d47199acd18d3470 deleted file mode 100644 index 0d035594e..000000000 Binary files a/test/de_fuzz/corpus/ea3407612692b66d450d9a86d47199acd18d3470 and /dev/null differ diff --git a/test/de_fuzz/corpus/ead4a09637824561407946a193dbe4a86b202060 b/test/de_fuzz/corpus/ead4a09637824561407946a193dbe4a86b202060 deleted file mode 100644 index 468e16578..000000000 Binary files a/test/de_fuzz/corpus/ead4a09637824561407946a193dbe4a86b202060 and /dev/null differ diff --git a/test/de_fuzz/corpus/eaf7472a2a35c65244f6a4ab18ea198917c3367c b/test/de_fuzz/corpus/eaf7472a2a35c65244f6a4ab18ea198917c3367c deleted file mode 100644 index 87f396909..000000000 Binary files a/test/de_fuzz/corpus/eaf7472a2a35c65244f6a4ab18ea198917c3367c and /dev/null differ diff --git a/test/de_fuzz/corpus/eb0cf0f70d6a161ae14add864f481eda5af06af0 b/test/de_fuzz/corpus/eb0cf0f70d6a161ae14add864f481eda5af06af0 deleted file mode 100644 index 01abbf81a..000000000 Binary files a/test/de_fuzz/corpus/eb0cf0f70d6a161ae14add864f481eda5af06af0 and /dev/null differ diff --git a/test/de_fuzz/corpus/eb13cb8ae40808af6cc1bf58edd10159876ef515 b/test/de_fuzz/corpus/eb13cb8ae40808af6cc1bf58edd10159876ef515 deleted file mode 100644 index 01249e2b7..000000000 Binary files a/test/de_fuzz/corpus/eb13cb8ae40808af6cc1bf58edd10159876ef515 and /dev/null differ diff --git a/test/de_fuzz/corpus/eb14804b0e1c82cd3fae4cc8b51bf24089f7ea6c b/test/de_fuzz/corpus/eb14804b0e1c82cd3fae4cc8b51bf24089f7ea6c deleted file mode 100644 index c2f996d1d..000000000 Binary files a/test/de_fuzz/corpus/eb14804b0e1c82cd3fae4cc8b51bf24089f7ea6c and /dev/null differ diff --git a/test/de_fuzz/corpus/eb18166e6dddd4b2727316f1c4a69e2803e2294b b/test/de_fuzz/corpus/eb18166e6dddd4b2727316f1c4a69e2803e2294b deleted file mode 100644 index 6b822b4fb..000000000 Binary files a/test/de_fuzz/corpus/eb18166e6dddd4b2727316f1c4a69e2803e2294b and /dev/null differ diff --git a/test/de_fuzz/corpus/eb209b9558deb69bc059ed6d3c4c2260f93c9a22 b/test/de_fuzz/corpus/eb209b9558deb69bc059ed6d3c4c2260f93c9a22 deleted file mode 100644 index 5d93eabef..000000000 Binary files a/test/de_fuzz/corpus/eb209b9558deb69bc059ed6d3c4c2260f93c9a22 and /dev/null differ diff --git a/test/de_fuzz/corpus/eb3079624a525b5100850399e0627018694228fb b/test/de_fuzz/corpus/eb3079624a525b5100850399e0627018694228fb deleted file mode 100644 index 26b4934b0..000000000 Binary files a/test/de_fuzz/corpus/eb3079624a525b5100850399e0627018694228fb and /dev/null differ diff --git a/test/de_fuzz/corpus/eb441e79ec50b2f5b76c79ac58ab54dd126a2035 b/test/de_fuzz/corpus/eb441e79ec50b2f5b76c79ac58ab54dd126a2035 deleted file mode 100644 index 1562196fb..000000000 Binary files a/test/de_fuzz/corpus/eb441e79ec50b2f5b76c79ac58ab54dd126a2035 and /dev/null differ diff --git a/test/de_fuzz/corpus/eb869bcbd32af56ed726528a3fcafc437da6e6c7 b/test/de_fuzz/corpus/eb869bcbd32af56ed726528a3fcafc437da6e6c7 deleted file mode 100644 index 2fa1dc626..000000000 Binary files a/test/de_fuzz/corpus/eb869bcbd32af56ed726528a3fcafc437da6e6c7 and /dev/null differ diff --git a/test/de_fuzz/corpus/ebb41e7d299d5268ac46257422e1e0aa2aa6cbdf b/test/de_fuzz/corpus/ebb41e7d299d5268ac46257422e1e0aa2aa6cbdf deleted file mode 100644 index 5d1b2d5fd..000000000 Binary files a/test/de_fuzz/corpus/ebb41e7d299d5268ac46257422e1e0aa2aa6cbdf and /dev/null differ diff --git a/test/de_fuzz/corpus/ebbec670cfdbf86fa82a1d3c00695ed27ea4b7ae b/test/de_fuzz/corpus/ebbec670cfdbf86fa82a1d3c00695ed27ea4b7ae deleted file mode 100644 index 172cc4620..000000000 Binary files a/test/de_fuzz/corpus/ebbec670cfdbf86fa82a1d3c00695ed27ea4b7ae and /dev/null differ diff --git a/test/de_fuzz/corpus/ebc96096c049068492e40c6408df406c64a06e6e b/test/de_fuzz/corpus/ebc96096c049068492e40c6408df406c64a06e6e deleted file mode 100644 index 05d059fd0..000000000 Binary files a/test/de_fuzz/corpus/ebc96096c049068492e40c6408df406c64a06e6e and /dev/null differ diff --git a/test/de_fuzz/corpus/ebee2c83ebe6265b682e8fababe5fdf7c9f2416f b/test/de_fuzz/corpus/ebee2c83ebe6265b682e8fababe5fdf7c9f2416f deleted file mode 100644 index dbb0b72ec..000000000 Binary files a/test/de_fuzz/corpus/ebee2c83ebe6265b682e8fababe5fdf7c9f2416f and /dev/null differ diff --git a/test/de_fuzz/corpus/ebf2032860f79f6de56907c3bb340c19db5ece02 b/test/de_fuzz/corpus/ebf2032860f79f6de56907c3bb340c19db5ece02 deleted file mode 100644 index 98cb146e3..000000000 --- a/test/de_fuzz/corpus/ebf2032860f79f6de56907c3bb340c19db5ece02 +++ /dev/null @@ -1,151 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | ) \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/ec3bf2e7c0541b566c8df14ff2534aaf0663c04e b/test/de_fuzz/corpus/ec3bf2e7c0541b566c8df14ff2534aaf0663c04e deleted file mode 100644 index 7b99019ca..000000000 Binary files a/test/de_fuzz/corpus/ec3bf2e7c0541b566c8df14ff2534aaf0663c04e and /dev/null differ diff --git a/test/de_fuzz/corpus/ec4f1607173754dec86b7cc8cc6d313439c7fb2d b/test/de_fuzz/corpus/ec4f1607173754dec86b7cc8cc6d313439c7fb2d deleted file mode 100644 index b5aa31131..000000000 Binary files a/test/de_fuzz/corpus/ec4f1607173754dec86b7cc8cc6d313439c7fb2d and /dev/null differ diff --git a/test/de_fuzz/corpus/ecc9dce5a854472558d75fab9ecf6f96a397bcb2 b/test/de_fuzz/corpus/ecc9dce5a854472558d75fab9ecf6f96a397bcb2 deleted file mode 100644 index 9fee9cecb..000000000 Binary files a/test/de_fuzz/corpus/ecc9dce5a854472558d75fab9ecf6f96a397bcb2 and /dev/null differ diff --git a/test/de_fuzz/corpus/ecca45ec7b99de50346f42292370e54f84865fbb b/test/de_fuzz/corpus/ecca45ec7b99de50346f42292370e54f84865fbb deleted file mode 100644 index e7c42af7c..000000000 Binary files a/test/de_fuzz/corpus/ecca45ec7b99de50346f42292370e54f84865fbb and /dev/null differ diff --git a/test/de_fuzz/corpus/ecd80fb24c3d7204cb1c440608dff4e2474d3cd0 b/test/de_fuzz/corpus/ecd80fb24c3d7204cb1c440608dff4e2474d3cd0 deleted file mode 100644 index 9d1dfa1b7..000000000 --- a/test/de_fuzz/corpus/ecd80fb24c3d7204cb1c440608dff4e2474d3cd0 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\{{{{{{{{{{{{{{{{{{{{{\a{{{{{{{{{ W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{\a{{{{{{{{{ W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{\a{{{{{{{{{ )\ {{{{{{ \ No newline at end of file diff --git a/test/de_fuzz/corpus/ed0c5c7253ed30286fa6daa305839afac3a43865 b/test/de_fuzz/corpus/ed0c5c7253ed30286fa6daa305839afac3a43865 deleted file mode 100644 index 29e3139a8..000000000 Binary files a/test/de_fuzz/corpus/ed0c5c7253ed30286fa6daa305839afac3a43865 and /dev/null differ diff --git a/test/de_fuzz/corpus/ed151775c622e687b739e83924e71820537ad0b7 b/test/de_fuzz/corpus/ed151775c622e687b739e83924e71820537ad0b7 deleted file mode 100644 index f4792d745..000000000 Binary files a/test/de_fuzz/corpus/ed151775c622e687b739e83924e71820537ad0b7 and /dev/null differ diff --git a/test/de_fuzz/corpus/ed1796eafe03dc657e288f484f7bd7087564bfb3 b/test/de_fuzz/corpus/ed1796eafe03dc657e288f484f7bd7087564bfb3 deleted file mode 100644 index 070dda0c7..000000000 Binary files a/test/de_fuzz/corpus/ed1796eafe03dc657e288f484f7bd7087564bfb3 and /dev/null differ diff --git a/test/de_fuzz/corpus/ed2c8441bfbca311994d3920b74c198933bcc778 b/test/de_fuzz/corpus/ed2c8441bfbca311994d3920b74c198933bcc778 deleted file mode 100644 index 53f76572d..000000000 Binary files a/test/de_fuzz/corpus/ed2c8441bfbca311994d3920b74c198933bcc778 and /dev/null differ diff --git a/test/de_fuzz/corpus/ed54e86fa8c80a62871284f80901508b01336bab b/test/de_fuzz/corpus/ed54e86fa8c80a62871284f80901508b01336bab deleted file mode 100644 index f84ecbd53..000000000 Binary files a/test/de_fuzz/corpus/ed54e86fa8c80a62871284f80901508b01336bab and /dev/null differ diff --git a/test/de_fuzz/corpus/ed61f7479bbefb0ee942f9877c1f022d867a2cdc b/test/de_fuzz/corpus/ed61f7479bbefb0ee942f9877c1f022d867a2cdc deleted file mode 100644 index 8e7f97941..000000000 Binary files a/test/de_fuzz/corpus/ed61f7479bbefb0ee942f9877c1f022d867a2cdc and /dev/null differ diff --git a/test/de_fuzz/corpus/ed95ab4b77a5385ddab259e35ccc5cf9203d6474 b/test/de_fuzz/corpus/ed95ab4b77a5385ddab259e35ccc5cf9203d6474 deleted file mode 100644 index 28f89d4ed..000000000 Binary files a/test/de_fuzz/corpus/ed95ab4b77a5385ddab259e35ccc5cf9203d6474 and /dev/null differ diff --git a/test/de_fuzz/corpus/ed9f72909635e602c653c227317ca80314a3313f b/test/de_fuzz/corpus/ed9f72909635e602c653c227317ca80314a3313f deleted file mode 100644 index f757839eb..000000000 Binary files a/test/de_fuzz/corpus/ed9f72909635e602c653c227317ca80314a3313f and /dev/null differ diff --git a/test/de_fuzz/corpus/eda9a5b5fa33e3da5b9eac027a958c39477ef1e9 b/test/de_fuzz/corpus/eda9a5b5fa33e3da5b9eac027a958c39477ef1e9 deleted file mode 100644 index 87d425ea5..000000000 Binary files a/test/de_fuzz/corpus/eda9a5b5fa33e3da5b9eac027a958c39477ef1e9 and /dev/null differ diff --git a/test/de_fuzz/corpus/edabb59794d898a64016f01f44679dbeab4446a7 b/test/de_fuzz/corpus/edabb59794d898a64016f01f44679dbeab4446a7 deleted file mode 100644 index 4553f84df..000000000 --- a/test/de_fuzz/corpus/edabb59794d898a64016f01f44679dbeab4446a7 +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)++)+!\Pd2((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)|Y(((((((a+)+)+)+)+)+)+)+|X((((()+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd4((a+)+)+)+)+)+)+)+(|W((((((a+)+)++)+)i+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/edbec08639dc23671e61eb00c80d56bca9368a6a b/test/de_fuzz/corpus/edbec08639dc23671e61eb00c80d56bca9368a6a deleted file mode 100644 index 350678c2d..000000000 Binary files a/test/de_fuzz/corpus/edbec08639dc23671e61eb00c80d56bca9368a6a and /dev/null differ diff --git a/test/de_fuzz/corpus/ede96501795d3dd74adfa18d063398cad507d29c b/test/de_fuzz/corpus/ede96501795d3dd74adfa18d063398cad507d29c deleted file mode 100644 index b26a329d4..000000000 Binary files a/test/de_fuzz/corpus/ede96501795d3dd74adfa18d063398cad507d29c and /dev/null differ diff --git a/test/de_fuzz/corpus/ee07f69ed7cc1c4fe3ab6723f740dbbf46caee4d b/test/de_fuzz/corpus/ee07f69ed7cc1c4fe3ab6723f740dbbf46caee4d deleted file mode 100644 index 04758c24c..000000000 Binary files a/test/de_fuzz/corpus/ee07f69ed7cc1c4fe3ab6723f740dbbf46caee4d and /dev/null differ diff --git a/test/de_fuzz/corpus/ee1c82224b12f962ce51d0b9289cfc089e8e2d2a b/test/de_fuzz/corpus/ee1c82224b12f962ce51d0b9289cfc089e8e2d2a deleted file mode 100644 index a512f559c..000000000 Binary files a/test/de_fuzz/corpus/ee1c82224b12f962ce51d0b9289cfc089e8e2d2a and /dev/null differ diff --git a/test/de_fuzz/corpus/ee66cfaab219c9f87399e0b8df17df28caf25e03 b/test/de_fuzz/corpus/ee66cfaab219c9f87399e0b8df17df28caf25e03 deleted file mode 100644 index f3ac693c8..000000000 Binary files a/test/de_fuzz/corpus/ee66cfaab219c9f87399e0b8df17df28caf25e03 and /dev/null differ diff --git a/test/de_fuzz/corpus/ee6d9ef0f33f3021135d1a8410c41fa590146fbb b/test/de_fuzz/corpus/ee6d9ef0f33f3021135d1a8410c41fa590146fbb deleted file mode 100644 index de023ff0b..000000000 Binary files a/test/de_fuzz/corpus/ee6d9ef0f33f3021135d1a8410c41fa590146fbb and /dev/null differ diff --git a/test/de_fuzz/corpus/ee6e5244af8015e3f9e381392f51b2f9108224ab b/test/de_fuzz/corpus/ee6e5244af8015e3f9e381392f51b2f9108224ab deleted file mode 100644 index 1dabae43e..000000000 Binary files a/test/de_fuzz/corpus/ee6e5244af8015e3f9e381392f51b2f9108224ab and /dev/null differ diff --git a/test/de_fuzz/corpus/ee7317534db2525a0a3605cf8dcb9d9775d97ec9 b/test/de_fuzz/corpus/ee7317534db2525a0a3605cf8dcb9d9775d97ec9 deleted file mode 100644 index 47c601208..000000000 Binary files a/test/de_fuzz/corpus/ee7317534db2525a0a3605cf8dcb9d9775d97ec9 and /dev/null differ diff --git a/test/de_fuzz/corpus/ee894e7a91da65dd14a6de0ce8dadf2c7e110034 b/test/de_fuzz/corpus/ee894e7a91da65dd14a6de0ce8dadf2c7e110034 deleted file mode 100644 index 2593bec48..000000000 Binary files a/test/de_fuzz/corpus/ee894e7a91da65dd14a6de0ce8dadf2c7e110034 and /dev/null differ diff --git a/test/de_fuzz/corpus/eee230b1302635c26bff17db82f0d5fc11a059f9 b/test/de_fuzz/corpus/eee230b1302635c26bff17db82f0d5fc11a059f9 deleted file mode 100644 index 3ec2e279d..000000000 Binary files a/test/de_fuzz/corpus/eee230b1302635c26bff17db82f0d5fc11a059f9 and /dev/null differ diff --git a/test/de_fuzz/corpus/ef24c0f9261a65aceff436a56fa33e4e1cf66e82 b/test/de_fuzz/corpus/ef24c0f9261a65aceff436a56fa33e4e1cf66e82 deleted file mode 100644 index bab41ab22..000000000 Binary files a/test/de_fuzz/corpus/ef24c0f9261a65aceff436a56fa33e4e1cf66e82 and /dev/null differ diff --git a/test/de_fuzz/corpus/ef390603c0dc0d89924fa41439917340a0accab4 b/test/de_fuzz/corpus/ef390603c0dc0d89924fa41439917340a0accab4 deleted file mode 100644 index e0f069007..000000000 Binary files a/test/de_fuzz/corpus/ef390603c0dc0d89924fa41439917340a0accab4 and /dev/null differ diff --git a/test/de_fuzz/corpus/ef55064fc03cbd3ed7c981e8e6380ebb53b6be2d b/test/de_fuzz/corpus/ef55064fc03cbd3ed7c981e8e6380ebb53b6be2d deleted file mode 100644 index c236e5e2a..000000000 Binary files a/test/de_fuzz/corpus/ef55064fc03cbd3ed7c981e8e6380ebb53b6be2d and /dev/null differ diff --git a/test/de_fuzz/corpus/efb3b641ad60676452b8b7b5c60608600e7832fc b/test/de_fuzz/corpus/efb3b641ad60676452b8b7b5c60608600e7832fc deleted file mode 100644 index 97632c557..000000000 Binary files a/test/de_fuzz/corpus/efb3b641ad60676452b8b7b5c60608600e7832fc and /dev/null differ diff --git a/test/de_fuzz/corpus/efb3ea7dc9b53c791801ea2de92dd4159d837b84 b/test/de_fuzz/corpus/efb3ea7dc9b53c791801ea2de92dd4159d837b84 deleted file mode 100644 index ff0b2e105..000000000 Binary files a/test/de_fuzz/corpus/efb3ea7dc9b53c791801ea2de92dd4159d837b84 and /dev/null differ diff --git a/test/de_fuzz/corpus/efcf2e72a344cf09744ba6a314878a6caf79b822 b/test/de_fuzz/corpus/efcf2e72a344cf09744ba6a314878a6caf79b822 deleted file mode 100644 index 436173a09..000000000 Binary files a/test/de_fuzz/corpus/efcf2e72a344cf09744ba6a314878a6caf79b822 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0003418d6fe9f8c2be632cba73aaaaf0469180d b/test/de_fuzz/corpus/f0003418d6fe9f8c2be632cba73aaaaf0469180d deleted file mode 100644 index e975a3711..000000000 Binary files a/test/de_fuzz/corpus/f0003418d6fe9f8c2be632cba73aaaaf0469180d and /dev/null differ diff --git a/test/de_fuzz/corpus/f017fbf3b7944d102965d68fe8f20498b4c3d93d b/test/de_fuzz/corpus/f017fbf3b7944d102965d68fe8f20498b4c3d93d deleted file mode 100644 index d16955254..000000000 Binary files a/test/de_fuzz/corpus/f017fbf3b7944d102965d68fe8f20498b4c3d93d and /dev/null differ diff --git a/test/de_fuzz/corpus/f03ca0c304379f035357c36dc43a54e68a20bf03 b/test/de_fuzz/corpus/f03ca0c304379f035357c36dc43a54e68a20bf03 deleted file mode 100644 index 29718303f..000000000 Binary files a/test/de_fuzz/corpus/f03ca0c304379f035357c36dc43a54e68a20bf03 and /dev/null differ diff --git a/test/de_fuzz/corpus/f052efdc0c158951da7207ffe980b62cb705ce8d b/test/de_fuzz/corpus/f052efdc0c158951da7207ffe980b62cb705ce8d deleted file mode 100644 index d8e3f9c77..000000000 Binary files a/test/de_fuzz/corpus/f052efdc0c158951da7207ffe980b62cb705ce8d and /dev/null differ diff --git a/test/de_fuzz/corpus/f084536f7b4d51b4ded71751e198b29cd9510210 b/test/de_fuzz/corpus/f084536f7b4d51b4ded71751e198b29cd9510210 deleted file mode 100644 index 4318c545b..000000000 Binary files a/test/de_fuzz/corpus/f084536f7b4d51b4ded71751e198b29cd9510210 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0889cece7d37843433e9bdad027749e422169eb b/test/de_fuzz/corpus/f0889cece7d37843433e9bdad027749e422169eb deleted file mode 100644 index 56ac29c31..000000000 Binary files a/test/de_fuzz/corpus/f0889cece7d37843433e9bdad027749e422169eb and /dev/null differ diff --git a/test/de_fuzz/corpus/f0bb934acf2815322ed4ba41d5d5df8f93cd0462 b/test/de_fuzz/corpus/f0bb934acf2815322ed4ba41d5d5df8f93cd0462 deleted file mode 100644 index 591e2843f..000000000 Binary files a/test/de_fuzz/corpus/f0bb934acf2815322ed4ba41d5d5df8f93cd0462 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0c46dab66a9cdf7f162115c852ed53d9db17377 b/test/de_fuzz/corpus/f0c46dab66a9cdf7f162115c852ed53d9db17377 deleted file mode 100644 index 838a9273a..000000000 Binary files a/test/de_fuzz/corpus/f0c46dab66a9cdf7f162115c852ed53d9db17377 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0c8e47ebd4f08fba4679b325d3dba52df38fed8 b/test/de_fuzz/corpus/f0c8e47ebd4f08fba4679b325d3dba52df38fed8 deleted file mode 100644 index 5e8a4211b..000000000 Binary files a/test/de_fuzz/corpus/f0c8e47ebd4f08fba4679b325d3dba52df38fed8 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0d35f8c57cafafcb3caece1190f192aa7833337 b/test/de_fuzz/corpus/f0d35f8c57cafafcb3caece1190f192aa7833337 deleted file mode 100644 index 15ff793bb..000000000 Binary files a/test/de_fuzz/corpus/f0d35f8c57cafafcb3caece1190f192aa7833337 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0d6e75303f17558f5ccceb0cfc1a2c09f36d7ef b/test/de_fuzz/corpus/f0d6e75303f17558f5ccceb0cfc1a2c09f36d7ef deleted file mode 100644 index 3957b8918..000000000 Binary files a/test/de_fuzz/corpus/f0d6e75303f17558f5ccceb0cfc1a2c09f36d7ef and /dev/null differ diff --git a/test/de_fuzz/corpus/f0e4deb515d6530789bdafcc8a715c7d91627ffb b/test/de_fuzz/corpus/f0e4deb515d6530789bdafcc8a715c7d91627ffb deleted file mode 100644 index 9fc273f0c..000000000 Binary files a/test/de_fuzz/corpus/f0e4deb515d6530789bdafcc8a715c7d91627ffb and /dev/null differ diff --git a/test/de_fuzz/corpus/f0e8c52494f55707ee61535f0825822422ff51b7 b/test/de_fuzz/corpus/f0e8c52494f55707ee61535f0825822422ff51b7 deleted file mode 100644 index 1c90adccc..000000000 Binary files a/test/de_fuzz/corpus/f0e8c52494f55707ee61535f0825822422ff51b7 and /dev/null differ diff --git a/test/de_fuzz/corpus/f0edfaeaabb5f1872c7a04caab7e65559c0df3a1 b/test/de_fuzz/corpus/f0edfaeaabb5f1872c7a04caab7e65559c0df3a1 deleted file mode 100644 index 30c7413e4..000000000 Binary files a/test/de_fuzz/corpus/f0edfaeaabb5f1872c7a04caab7e65559c0df3a1 and /dev/null differ diff --git a/test/de_fuzz/corpus/f11418d6fae09b00eb1c855f949f90cb0efaec22 b/test/de_fuzz/corpus/f11418d6fae09b00eb1c855f949f90cb0efaec22 deleted file mode 100644 index 6b7cdb007..000000000 Binary files a/test/de_fuzz/corpus/f11418d6fae09b00eb1c855f949f90cb0efaec22 and /dev/null differ diff --git a/test/de_fuzz/corpus/f11a0b536fa60467446eae90b8e9f1ba02337e50 b/test/de_fuzz/corpus/f11a0b536fa60467446eae90b8e9f1ba02337e50 deleted file mode 100644 index f002a227f..000000000 Binary files a/test/de_fuzz/corpus/f11a0b536fa60467446eae90b8e9f1ba02337e50 and /dev/null differ diff --git a/test/de_fuzz/corpus/f125b739bdfaa8dd0d0e05d3316c7fffcea30915 b/test/de_fuzz/corpus/f125b739bdfaa8dd0d0e05d3316c7fffcea30915 deleted file mode 100644 index ab7eae368..000000000 Binary files a/test/de_fuzz/corpus/f125b739bdfaa8dd0d0e05d3316c7fffcea30915 and /dev/null differ diff --git a/test/de_fuzz/corpus/f125e68f5ab90382d95224ab311c089e81139734 b/test/de_fuzz/corpus/f125e68f5ab90382d95224ab311c089e81139734 deleted file mode 100644 index fffcc21d8..000000000 Binary files a/test/de_fuzz/corpus/f125e68f5ab90382d95224ab311c089e81139734 and /dev/null differ diff --git a/test/de_fuzz/corpus/f15a55c595d9fdf30961811bcc3622a3f04d1476 b/test/de_fuzz/corpus/f15a55c595d9fdf30961811bcc3622a3f04d1476 deleted file mode 100644 index 626e7bbcd..000000000 Binary files a/test/de_fuzz/corpus/f15a55c595d9fdf30961811bcc3622a3f04d1476 and /dev/null differ diff --git a/test/de_fuzz/corpus/f175e69a78dd722bfa24fc7be934571cd3c9dfb4 b/test/de_fuzz/corpus/f175e69a78dd722bfa24fc7be934571cd3c9dfb4 deleted file mode 100644 index 17f018301..000000000 Binary files a/test/de_fuzz/corpus/f175e69a78dd722bfa24fc7be934571cd3c9dfb4 and /dev/null differ diff --git a/test/de_fuzz/corpus/f1a36340f5b7e6379415b31d363ef06a0f2f775a b/test/de_fuzz/corpus/f1a36340f5b7e6379415b31d363ef06a0f2f775a deleted file mode 100644 index 596e7fbbd..000000000 Binary files a/test/de_fuzz/corpus/f1a36340f5b7e6379415b31d363ef06a0f2f775a and /dev/null differ diff --git a/test/de_fuzz/corpus/f216199826d10c270b12a1556991f613d274ffb7 b/test/de_fuzz/corpus/f216199826d10c270b12a1556991f613d274ffb7 deleted file mode 100644 index e612ef4c1..000000000 Binary files a/test/de_fuzz/corpus/f216199826d10c270b12a1556991f613d274ffb7 and /dev/null differ diff --git a/test/de_fuzz/corpus/f21fe067a51b9e8b9b3d1fe12d1dc25c56dcb6d7 b/test/de_fuzz/corpus/f21fe067a51b9e8b9b3d1fe12d1dc25c56dcb6d7 deleted file mode 100644 index 09d64c259..000000000 Binary files a/test/de_fuzz/corpus/f21fe067a51b9e8b9b3d1fe12d1dc25c56dcb6d7 and /dev/null differ diff --git a/test/de_fuzz/corpus/f2398f38b63ed3d797c3673be8d7120dfce0835c b/test/de_fuzz/corpus/f2398f38b63ed3d797c3673be8d7120dfce0835c deleted file mode 100644 index 527ea6176..000000000 Binary files a/test/de_fuzz/corpus/f2398f38b63ed3d797c3673be8d7120dfce0835c and /dev/null differ diff --git a/test/de_fuzz/corpus/f23a1447e2a03abcaf40458fdc1d080c0edc86ba b/test/de_fuzz/corpus/f23a1447e2a03abcaf40458fdc1d080c0edc86ba deleted file mode 100644 index cd7362799..000000000 Binary files a/test/de_fuzz/corpus/f23a1447e2a03abcaf40458fdc1d080c0edc86ba and /dev/null differ diff --git a/test/de_fuzz/corpus/f23ffd58d54839ad40d9e799b680f89dac97e88a b/test/de_fuzz/corpus/f23ffd58d54839ad40d9e799b680f89dac97e88a deleted file mode 100644 index fece3fa8c..000000000 Binary files a/test/de_fuzz/corpus/f23ffd58d54839ad40d9e799b680f89dac97e88a and /dev/null differ diff --git a/test/de_fuzz/corpus/f245199f424cc6ab7134f01f11ab85aba75765b5 b/test/de_fuzz/corpus/f245199f424cc6ab7134f01f11ab85aba75765b5 deleted file mode 100644 index ccf6c32ed..000000000 Binary files a/test/de_fuzz/corpus/f245199f424cc6ab7134f01f11ab85aba75765b5 and /dev/null differ diff --git a/test/de_fuzz/corpus/f24c2071997f368532c6f7dbf52a6b8172820d39 b/test/de_fuzz/corpus/f24c2071997f368532c6f7dbf52a6b8172820d39 deleted file mode 100644 index 802a7ac5d..000000000 Binary files a/test/de_fuzz/corpus/f24c2071997f368532c6f7dbf52a6b8172820d39 and /dev/null differ diff --git a/test/de_fuzz/corpus/f28db8104a9b03a383b8c2f188351a0d646d4bf1 b/test/de_fuzz/corpus/f28db8104a9b03a383b8c2f188351a0d646d4bf1 deleted file mode 100644 index 2f9eea095..000000000 --- a/test/de_fuzz/corpus/f28db8104a9b03a383b8c2f188351a0d646d4bf1 +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)\W*(?1)\W*{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ )\ {{{{{{ \ No newline at end of file diff --git a/test/de_fuzz/corpus/f28ddf31390886d59786f53310a143f39a251d06 b/test/de_fuzz/corpus/f28ddf31390886d59786f53310a143f39a251d06 deleted file mode 100644 index 7cbdb357c..000000000 Binary files a/test/de_fuzz/corpus/f28ddf31390886d59786f53310a143f39a251d06 and /dev/null differ diff --git a/test/de_fuzz/corpus/f29ab63432b614cce67b00c31df2cfc878b69518 b/test/de_fuzz/corpus/f29ab63432b614cce67b00c31df2cfc878b69518 deleted file mode 100644 index 914fdb6b9..000000000 Binary files a/test/de_fuzz/corpus/f29ab63432b614cce67b00c31df2cfc878b69518 and /dev/null differ diff --git a/test/de_fuzz/corpus/f2f7c241cefaf71cd557e8463fac0f0e3246a923 b/test/de_fuzz/corpus/f2f7c241cefaf71cd557e8463fac0f0e3246a923 deleted file mode 100644 index 793e73f2a..000000000 Binary files a/test/de_fuzz/corpus/f2f7c241cefaf71cd557e8463fac0f0e3246a923 and /dev/null differ diff --git a/test/de_fuzz/corpus/f30ff790cd7c3605714a08997a8f6c3b4d41938b b/test/de_fuzz/corpus/f30ff790cd7c3605714a08997a8f6c3b4d41938b deleted file mode 100644 index eaaccd5d8..000000000 Binary files a/test/de_fuzz/corpus/f30ff790cd7c3605714a08997a8f6c3b4d41938b and /dev/null differ diff --git a/test/de_fuzz/corpus/f3235574218f6e1a8d47ecb0ef4d2c4bc3bbcc7c b/test/de_fuzz/corpus/f3235574218f6e1a8d47ecb0ef4d2c4bc3bbcc7c deleted file mode 100644 index aec93b1bd..000000000 Binary files a/test/de_fuzz/corpus/f3235574218f6e1a8d47ecb0ef4d2c4bc3bbcc7c and /dev/null differ diff --git a/test/de_fuzz/corpus/f34e7cec3a29754c8e4fb3913a80b4bf78096072 b/test/de_fuzz/corpus/f34e7cec3a29754c8e4fb3913a80b4bf78096072 deleted file mode 100644 index af102763e..000000000 Binary files a/test/de_fuzz/corpus/f34e7cec3a29754c8e4fb3913a80b4bf78096072 and /dev/null differ diff --git a/test/de_fuzz/corpus/f3c639c033e99831c25f7931eb0af6f4eed25321 b/test/de_fuzz/corpus/f3c639c033e99831c25f7931eb0af6f4eed25321 deleted file mode 100644 index d67c7fd4d..000000000 Binary files a/test/de_fuzz/corpus/f3c639c033e99831c25f7931eb0af6f4eed25321 and /dev/null differ diff --git a/test/de_fuzz/corpus/f3ea8e92680dfc9508f4d9d0393d0d73fac6f806 b/test/de_fuzz/corpus/f3ea8e92680dfc9508f4d9d0393d0d73fac6f806 deleted file mode 100644 index deed6a83a..000000000 Binary files a/test/de_fuzz/corpus/f3ea8e92680dfc9508f4d9d0393d0d73fac6f806 and /dev/null differ diff --git a/test/de_fuzz/corpus/f3f2cd459a01524863697f1efcc184bce10da941 b/test/de_fuzz/corpus/f3f2cd459a01524863697f1efcc184bce10da941 deleted file mode 100644 index e47e89cc8..000000000 Binary files a/test/de_fuzz/corpus/f3f2cd459a01524863697f1efcc184bce10da941 and /dev/null differ diff --git a/test/de_fuzz/corpus/f40b78eaa09d84d10583728cd5bc0844cf200427 b/test/de_fuzz/corpus/f40b78eaa09d84d10583728cd5bc0844cf200427 deleted file mode 100644 index d9188d5f4..000000000 Binary files a/test/de_fuzz/corpus/f40b78eaa09d84d10583728cd5bc0844cf200427 and /dev/null differ diff --git a/test/de_fuzz/corpus/f42515c96282912e20cbaf5543565d0216c67e50 b/test/de_fuzz/corpus/f42515c96282912e20cbaf5543565d0216c67e50 deleted file mode 100644 index 038597b09..000000000 Binary files a/test/de_fuzz/corpus/f42515c96282912e20cbaf5543565d0216c67e50 and /dev/null differ diff --git a/test/de_fuzz/corpus/f428e4bee7edcd1700f454408108f6368b032cf6 b/test/de_fuzz/corpus/f428e4bee7edcd1700f454408108f6368b032cf6 deleted file mode 100644 index fcb57d447..000000000 Binary files a/test/de_fuzz/corpus/f428e4bee7edcd1700f454408108f6368b032cf6 and /dev/null differ diff --git a/test/de_fuzz/corpus/f44b488d4b207c38858eec9cc17f0d1950430f50 b/test/de_fuzz/corpus/f44b488d4b207c38858eec9cc17f0d1950430f50 deleted file mode 100644 index a601e1548..000000000 Binary files a/test/de_fuzz/corpus/f44b488d4b207c38858eec9cc17f0d1950430f50 and /dev/null differ diff --git a/test/de_fuzz/corpus/f480ed85fb7587780251db76a456d5c048fe401e b/test/de_fuzz/corpus/f480ed85fb7587780251db76a456d5c048fe401e deleted file mode 100644 index 6455650d3..000000000 Binary files a/test/de_fuzz/corpus/f480ed85fb7587780251db76a456d5c048fe401e and /dev/null differ diff --git a/test/de_fuzz/corpus/f49f9013bff9a219ca7328e0d972b94553a4bdab b/test/de_fuzz/corpus/f49f9013bff9a219ca7328e0d972b94553a4bdab deleted file mode 100644 index d6bb63eaf..000000000 Binary files a/test/de_fuzz/corpus/f49f9013bff9a219ca7328e0d972b94553a4bdab and /dev/null differ diff --git a/test/de_fuzz/corpus/f4a001869776fd3498b971c241d4dae21534fb3a b/test/de_fuzz/corpus/f4a001869776fd3498b971c241d4dae21534fb3a deleted file mode 100644 index cef5df7ab..000000000 Binary files a/test/de_fuzz/corpus/f4a001869776fd3498b971c241d4dae21534fb3a and /dev/null differ diff --git a/test/de_fuzz/corpus/f4c15711d7012d3fbee7dc2583473eec724a0b76 b/test/de_fuzz/corpus/f4c15711d7012d3fbee7dc2583473eec724a0b76 deleted file mode 100644 index 115fb3588..000000000 Binary files a/test/de_fuzz/corpus/f4c15711d7012d3fbee7dc2583473eec724a0b76 and /dev/null differ diff --git a/test/de_fuzz/corpus/f5146c58a50e5f861466f85bc945ac59d8f3dcd1 b/test/de_fuzz/corpus/f5146c58a50e5f861466f85bc945ac59d8f3dcd1 deleted file mode 100644 index 8e0784dc2..000000000 Binary files a/test/de_fuzz/corpus/f5146c58a50e5f861466f85bc945ac59d8f3dcd1 and /dev/null differ diff --git a/test/de_fuzz/corpus/f52a9c02fc0c74b3e1cbcf13f56e09a36afdacab b/test/de_fuzz/corpus/f52a9c02fc0c74b3e1cbcf13f56e09a36afdacab deleted file mode 100644 index 5dab30df0..000000000 Binary files a/test/de_fuzz/corpus/f52a9c02fc0c74b3e1cbcf13f56e09a36afdacab and /dev/null differ diff --git a/test/de_fuzz/corpus/f53130d455640320daf6a32b564869b9f9d41111 b/test/de_fuzz/corpus/f53130d455640320daf6a32b564869b9f9d41111 deleted file mode 100644 index 99eb8addc..000000000 Binary files a/test/de_fuzz/corpus/f53130d455640320daf6a32b564869b9f9d41111 and /dev/null differ diff --git a/test/de_fuzz/corpus/f56b6fba840c07413d8c1655564411be76875dec b/test/de_fuzz/corpus/f56b6fba840c07413d8c1655564411be76875dec deleted file mode 100644 index a64b82a82..000000000 --- a/test/de_fuzz/corpus/f56b6fba840c07413d8c1655564411be76875dec +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/f5737c60401432e803af4eecb63f98aafbb7f798 b/test/de_fuzz/corpus/f5737c60401432e803af4eecb63f98aafbb7f798 deleted file mode 100644 index 2e4ff97f1..000000000 Binary files a/test/de_fuzz/corpus/f5737c60401432e803af4eecb63f98aafbb7f798 and /dev/null differ diff --git a/test/de_fuzz/corpus/f59fa4f881f6a6c09a2b5a7fefcb12bc42aae24a b/test/de_fuzz/corpus/f59fa4f881f6a6c09a2b5a7fefcb12bc42aae24a deleted file mode 100644 index fa692180d..000000000 Binary files a/test/de_fuzz/corpus/f59fa4f881f6a6c09a2b5a7fefcb12bc42aae24a and /dev/null differ diff --git a/test/de_fuzz/corpus/f5c8a306550a6306e5c7ad600590abe91c4c2624 b/test/de_fuzz/corpus/f5c8a306550a6306e5c7ad600590abe91c4c2624 deleted file mode 100644 index 320874419..000000000 Binary files a/test/de_fuzz/corpus/f5c8a306550a6306e5c7ad600590abe91c4c2624 and /dev/null differ diff --git a/test/de_fuzz/corpus/f5e27581f25ecd809832bf7310ac1fccb3660aa4 b/test/de_fuzz/corpus/f5e27581f25ecd809832bf7310ac1fccb3660aa4 deleted file mode 100644 index de7809671..000000000 Binary files a/test/de_fuzz/corpus/f5e27581f25ecd809832bf7310ac1fccb3660aa4 and /dev/null differ diff --git a/test/de_fuzz/corpus/f5eebee36339a257a6763649543c20b6c620fc67 b/test/de_fuzz/corpus/f5eebee36339a257a6763649543c20b6c620fc67 deleted file mode 100644 index d11285c86..000000000 --- a/test/de_fuzz/corpus/f5eebee36339a257a6763649543c20b6c620fc67 +++ /dev/null @@ -1,119 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment - - \ No newline at end of file diff --git a/test/de_fuzz/corpus/f620932a14a6f6412ff78c9943f4899982f7dbaa b/test/de_fuzz/corpus/f620932a14a6f6412ff78c9943f4899982f7dbaa deleted file mode 100644 index 223072836..000000000 Binary files a/test/de_fuzz/corpus/f620932a14a6f6412ff78c9943f4899982f7dbaa and /dev/null differ diff --git a/test/de_fuzz/corpus/f6349ed5433f2db0ddeca1230ed4a55a4e40e0fb b/test/de_fuzz/corpus/f6349ed5433f2db0ddeca1230ed4a55a4e40e0fb deleted file mode 100644 index f241ccc8b..000000000 Binary files a/test/de_fuzz/corpus/f6349ed5433f2db0ddeca1230ed4a55a4e40e0fb and /dev/null differ diff --git a/test/de_fuzz/corpus/f63524a7c862873aaad589873b89393cf79383bf b/test/de_fuzz/corpus/f63524a7c862873aaad589873b89393cf79383bf deleted file mode 100644 index fc56987b5..000000000 Binary files a/test/de_fuzz/corpus/f63524a7c862873aaad589873b89393cf79383bf and /dev/null differ diff --git a/test/de_fuzz/corpus/f6567f1a81f920527a9498dc430070e04f872448 b/test/de_fuzz/corpus/f6567f1a81f920527a9498dc430070e04f872448 deleted file mode 100644 index 86867d528..000000000 Binary files a/test/de_fuzz/corpus/f6567f1a81f920527a9498dc430070e04f872448 and /dev/null differ diff --git a/test/de_fuzz/corpus/f65868350593bf26b90c82ed02f294b610422e8a b/test/de_fuzz/corpus/f65868350593bf26b90c82ed02f294b610422e8a deleted file mode 100644 index 15550012e..000000000 Binary files a/test/de_fuzz/corpus/f65868350593bf26b90c82ed02f294b610422e8a and /dev/null differ diff --git a/test/de_fuzz/corpus/f69360db3ebd9f46cb2c9f8f1d1fe6ba67b59842 b/test/de_fuzz/corpus/f69360db3ebd9f46cb2c9f8f1d1fe6ba67b59842 deleted file mode 100644 index e72c2add7..000000000 Binary files a/test/de_fuzz/corpus/f69360db3ebd9f46cb2c9f8f1d1fe6ba67b59842 and /dev/null differ diff --git a/test/de_fuzz/corpus/f6bea904891759a2e4f79af6732929c038c8b5f2 b/test/de_fuzz/corpus/f6bea904891759a2e4f79af6732929c038c8b5f2 deleted file mode 100644 index 84454c2f7..000000000 Binary files a/test/de_fuzz/corpus/f6bea904891759a2e4f79af6732929c038c8b5f2 and /dev/null differ diff --git a/test/de_fuzz/corpus/f6ca6ed3c0c098d4cd26adbd500ee369b8de63cf b/test/de_fuzz/corpus/f6ca6ed3c0c098d4cd26adbd500ee369b8de63cf deleted file mode 100644 index ea009ad64..000000000 Binary files a/test/de_fuzz/corpus/f6ca6ed3c0c098d4cd26adbd500ee369b8de63cf and /dev/null differ diff --git a/test/de_fuzz/corpus/f6cdf5a6daa55b77b90e6604e7f5503718e6d3dd b/test/de_fuzz/corpus/f6cdf5a6daa55b77b90e6604e7f5503718e6d3dd deleted file mode 100644 index 2f1a204b1..000000000 Binary files a/test/de_fuzz/corpus/f6cdf5a6daa55b77b90e6604e7f5503718e6d3dd and /dev/null differ diff --git a/test/de_fuzz/corpus/f6dc16da7e19b73c15690842351e7f3cc0e91669 b/test/de_fuzz/corpus/f6dc16da7e19b73c15690842351e7f3cc0e91669 deleted file mode 100644 index f2a34a00c..000000000 Binary files a/test/de_fuzz/corpus/f6dc16da7e19b73c15690842351e7f3cc0e91669 and /dev/null differ diff --git a/test/de_fuzz/corpus/f6e2736f7f604600586cac115e51e3628831eb6a b/test/de_fuzz/corpus/f6e2736f7f604600586cac115e51e3628831eb6a deleted file mode 100644 index 328e238b0..000000000 Binary files a/test/de_fuzz/corpus/f6e2736f7f604600586cac115e51e3628831eb6a and /dev/null differ diff --git a/test/de_fuzz/corpus/f6ee8297e791a5d64433d24c890040d0423295db b/test/de_fuzz/corpus/f6ee8297e791a5d64433d24c890040d0423295db deleted file mode 100644 index 042682f34..000000000 Binary files a/test/de_fuzz/corpus/f6ee8297e791a5d64433d24c890040d0423295db and /dev/null differ diff --git a/test/de_fuzz/corpus/f6f0beeda8d692f0fb202b9fbcd57c171ecfe2c0 b/test/de_fuzz/corpus/f6f0beeda8d692f0fb202b9fbcd57c171ecfe2c0 deleted file mode 100644 index d248e9f33..000000000 Binary files a/test/de_fuzz/corpus/f6f0beeda8d692f0fb202b9fbcd57c171ecfe2c0 and /dev/null differ diff --git a/test/de_fuzz/corpus/f71b860144dff1e27a77216a7c6dca6bca89476b b/test/de_fuzz/corpus/f71b860144dff1e27a77216a7c6dca6bca89476b deleted file mode 100644 index 5823aae7a..000000000 Binary files a/test/de_fuzz/corpus/f71b860144dff1e27a77216a7c6dca6bca89476b and /dev/null differ diff --git a/test/de_fuzz/corpus/f7213eb563e16f50464305df9670854731e15252 b/test/de_fuzz/corpus/f7213eb563e16f50464305df9670854731e15252 deleted file mode 100644 index 3dc7e5867..000000000 Binary files a/test/de_fuzz/corpus/f7213eb563e16f50464305df9670854731e15252 and /dev/null differ diff --git a/test/de_fuzz/corpus/f72903c67ca9ce994d05a75ad3909a0fa3833e28 b/test/de_fuzz/corpus/f72903c67ca9ce994d05a75ad3909a0fa3833e28 deleted file mode 100644 index 562c0d189..000000000 Binary files a/test/de_fuzz/corpus/f72903c67ca9ce994d05a75ad3909a0fa3833e28 and /dev/null differ diff --git a/test/de_fuzz/corpus/f73687b7633ab930bc0494a787eceb78fcc44806 b/test/de_fuzz/corpus/f73687b7633ab930bc0494a787eceb78fcc44806 deleted file mode 100644 index 2ec2a65be..000000000 Binary files a/test/de_fuzz/corpus/f73687b7633ab930bc0494a787eceb78fcc44806 and /dev/null differ diff --git a/test/de_fuzz/corpus/f751986b3edbcb86f3c05aa0431830fd01a7f26c b/test/de_fuzz/corpus/f751986b3edbcb86f3c05aa0431830fd01a7f26c deleted file mode 100644 index c4bed6392..000000000 Binary files a/test/de_fuzz/corpus/f751986b3edbcb86f3c05aa0431830fd01a7f26c and /dev/null differ diff --git a/test/de_fuzz/corpus/f753b8731e50828f3823fafca37f3c0b60df01df b/test/de_fuzz/corpus/f753b8731e50828f3823fafca37f3c0b60df01df deleted file mode 100644 index b22c10650..000000000 Binary files a/test/de_fuzz/corpus/f753b8731e50828f3823fafca37f3c0b60df01df and /dev/null differ diff --git a/test/de_fuzz/corpus/f7888bcd65518ce352e8c9f63939efd4925b66c9 b/test/de_fuzz/corpus/f7888bcd65518ce352e8c9f63939efd4925b66c9 deleted file mode 100644 index 5363d030a..000000000 Binary files a/test/de_fuzz/corpus/f7888bcd65518ce352e8c9f63939efd4925b66c9 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7963aa8e5f527c086eb97806802eebea5f21fa4 b/test/de_fuzz/corpus/f7963aa8e5f527c086eb97806802eebea5f21fa4 deleted file mode 100644 index eff74a7ac..000000000 Binary files a/test/de_fuzz/corpus/f7963aa8e5f527c086eb97806802eebea5f21fa4 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7a51791251a6a70feb36f66cc623bda9c70a3b3 b/test/de_fuzz/corpus/f7a51791251a6a70feb36f66cc623bda9c70a3b3 deleted file mode 100644 index 8c1e9fbb9..000000000 Binary files a/test/de_fuzz/corpus/f7a51791251a6a70feb36f66cc623bda9c70a3b3 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7afba1b0cab3c7010e86ed286063c5bbb6f750f b/test/de_fuzz/corpus/f7afba1b0cab3c7010e86ed286063c5bbb6f750f deleted file mode 100644 index 09956d1d3..000000000 --- a/test/de_fuzz/corpus/f7afba1b0cab3c7010e86ed286063c5bbb6f750f +++ /dev/null @@ -1 +0,0 @@ -\C9(>\Qe] \ No newline at end of file diff --git a/test/de_fuzz/corpus/f7c69bd8f45821915eb0b4cc42925324ec0d26cc b/test/de_fuzz/corpus/f7c69bd8f45821915eb0b4cc42925324ec0d26cc deleted file mode 100644 index ce3fd3656..000000000 --- a/test/de_fuzz/corpus/f7c69bd8f45821915eb0b4cc42925324ec0d26cc +++ /dev/null @@ -1 +0,0 @@ -(?$$$$$$$$$$$AE$$$$$(R&one), \ No newline at end of file diff --git a/test/de_fuzz/corpus/f7cb7ab03f4fc62ec21d0df690b1188ddac57a52 b/test/de_fuzz/corpus/f7cb7ab03f4fc62ec21d0df690b1188ddac57a52 deleted file mode 100644 index acc601814..000000000 Binary files a/test/de_fuzz/corpus/f7cb7ab03f4fc62ec21d0df690b1188ddac57a52 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7d871ea1241deef73b44b6f20e2ee502a7ec784 b/test/de_fuzz/corpus/f7d871ea1241deef73b44b6f20e2ee502a7ec784 deleted file mode 100644 index 72818a078..000000000 Binary files a/test/de_fuzz/corpus/f7d871ea1241deef73b44b6f20e2ee502a7ec784 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7f158af63e45b235a8c38a0be32495a1a16afc9 b/test/de_fuzz/corpus/f7f158af63e45b235a8c38a0be32495a1a16afc9 deleted file mode 100644 index 8e032e7b0..000000000 Binary files a/test/de_fuzz/corpus/f7f158af63e45b235a8c38a0be32495a1a16afc9 and /dev/null differ diff --git a/test/de_fuzz/corpus/f7fc5b05a4ba39c077b43ed1f6df77aa51ce0d7d b/test/de_fuzz/corpus/f7fc5b05a4ba39c077b43ed1f6df77aa51ce0d7d deleted file mode 100644 index 7f634e51f..000000000 Binary files a/test/de_fuzz/corpus/f7fc5b05a4ba39c077b43ed1f6df77aa51ce0d7d and /dev/null differ diff --git a/test/de_fuzz/corpus/f817e228bbb2f07e15b84894a208b76f731ebedd b/test/de_fuzz/corpus/f817e228bbb2f07e15b84894a208b76f731ebedd deleted file mode 100644 index 9dd40bead..000000000 Binary files a/test/de_fuzz/corpus/f817e228bbb2f07e15b84894a208b76f731ebedd and /dev/null differ diff --git a/test/de_fuzz/corpus/f820b195790617c3e9a4be5687e68bc1c6eeb5e5 b/test/de_fuzz/corpus/f820b195790617c3e9a4be5687e68bc1c6eeb5e5 deleted file mode 100644 index 8e7ce45a8..000000000 Binary files a/test/de_fuzz/corpus/f820b195790617c3e9a4be5687e68bc1c6eeb5e5 and /dev/null differ diff --git a/test/de_fuzz/corpus/f8421bd72648be81e551962588140cfd6c098b5a b/test/de_fuzz/corpus/f8421bd72648be81e551962588140cfd6c098b5a deleted file mode 100644 index a489b2d69..000000000 Binary files a/test/de_fuzz/corpus/f8421bd72648be81e551962588140cfd6c098b5a and /dev/null differ diff --git a/test/de_fuzz/corpus/f85219f3e45c45562ecb831ddd582aa259150176 b/test/de_fuzz/corpus/f85219f3e45c45562ecb831ddd582aa259150176 deleted file mode 100644 index b4af48986..000000000 Binary files a/test/de_fuzz/corpus/f85219f3e45c45562ecb831ddd582aa259150176 and /dev/null differ diff --git a/test/de_fuzz/corpus/f855b605b5663201f9267f35ecbc0ff66b4b21fb b/test/de_fuzz/corpus/f855b605b5663201f9267f35ecbc0ff66b4b21fb deleted file mode 100644 index d63cf0856..000000000 --- a/test/de_fuzz/corpus/f855b605b5663201f9267f35ecbc0ff66b4b21fb +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+(((((((aK)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+))+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX((('(((a+)+)+)IS3)+)+)+|CW((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/f85b82566d171fc503506f7d989a6f99b173db28 b/test/de_fuzz/corpus/f85b82566d171fc503506f7d989a6f99b173db28 deleted file mode 100644 index 04de8ad6e..000000000 Binary files a/test/de_fuzz/corpus/f85b82566d171fc503506f7d989a6f99b173db28 and /dev/null differ diff --git a/test/de_fuzz/corpus/f93be1a9e17150218bde2f46be62066b7e5e12bd b/test/de_fuzz/corpus/f93be1a9e17150218bde2f46be62066b7e5e12bd deleted file mode 100644 index f6a42fdf8..000000000 Binary files a/test/de_fuzz/corpus/f93be1a9e17150218bde2f46be62066b7e5e12bd and /dev/null differ diff --git a/test/de_fuzz/corpus/f94c0e5e1ceea5dfeaf1f65e12076af40cfa470e b/test/de_fuzz/corpus/f94c0e5e1ceea5dfeaf1f65e12076af40cfa470e deleted file mode 100644 index 503a5dce2..000000000 Binary files a/test/de_fuzz/corpus/f94c0e5e1ceea5dfeaf1f65e12076af40cfa470e and /dev/null differ diff --git a/test/de_fuzz/corpus/f9633aa36413bec36a8e35ed702d794bdb14ecbc b/test/de_fuzz/corpus/f9633aa36413bec36a8e35ed702d794bdb14ecbc deleted file mode 100644 index 4c403349e..000000000 Binary files a/test/de_fuzz/corpus/f9633aa36413bec36a8e35ed702d794bdb14ecbc and /dev/null differ diff --git a/test/de_fuzz/corpus/f9757d28ce7accd873134ea9f112a10b5d60d61f b/test/de_fuzz/corpus/f9757d28ce7accd873134ea9f112a10b5d60d61f deleted file mode 100644 index 0ca76726b..000000000 Binary files a/test/de_fuzz/corpus/f9757d28ce7accd873134ea9f112a10b5d60d61f and /dev/null differ diff --git a/test/de_fuzz/corpus/f9d1870efd6a1fdd76a631d23683d33206f4571d b/test/de_fuzz/corpus/f9d1870efd6a1fdd76a631d23683d33206f4571d deleted file mode 100644 index 3166f187f..000000000 Binary files a/test/de_fuzz/corpus/f9d1870efd6a1fdd76a631d23683d33206f4571d and /dev/null differ diff --git a/test/de_fuzz/corpus/f9eb9b1b2becce50bf15b643d1d5c1ad7bbc90c6 b/test/de_fuzz/corpus/f9eb9b1b2becce50bf15b643d1d5c1ad7bbc90c6 deleted file mode 100644 index 6a23372f7..000000000 Binary files a/test/de_fuzz/corpus/f9eb9b1b2becce50bf15b643d1d5c1ad7bbc90c6 and /dev/null differ diff --git a/test/de_fuzz/corpus/f9f5dd10ba464c9c062b14499577a79d7ac4da13 b/test/de_fuzz/corpus/f9f5dd10ba464c9c062b14499577a79d7ac4da13 deleted file mode 100644 index a0bb57946..000000000 Binary files a/test/de_fuzz/corpus/f9f5dd10ba464c9c062b14499577a79d7ac4da13 and /dev/null differ diff --git a/test/de_fuzz/corpus/fa197a90778751ec416b2e43fd22a017fff137bb b/test/de_fuzz/corpus/fa197a90778751ec416b2e43fd22a017fff137bb deleted file mode 100644 index 8c367bc54..000000000 Binary files a/test/de_fuzz/corpus/fa197a90778751ec416b2e43fd22a017fff137bb and /dev/null differ diff --git a/test/de_fuzz/corpus/fa46bd34ddf7f3f09e68409b2a79c5cd5edb28ec b/test/de_fuzz/corpus/fa46bd34ddf7f3f09e68409b2a79c5cd5edb28ec deleted file mode 100644 index 60935501d..000000000 Binary files a/test/de_fuzz/corpus/fa46bd34ddf7f3f09e68409b2a79c5cd5edb28ec and /dev/null differ diff --git a/test/de_fuzz/corpus/fa4b24ec6206a9c68ab32b92e28e6528e071bf53 b/test/de_fuzz/corpus/fa4b24ec6206a9c68ab32b92e28e6528e071bf53 deleted file mode 100644 index dfbc3bf5a..000000000 Binary files a/test/de_fuzz/corpus/fa4b24ec6206a9c68ab32b92e28e6528e071bf53 and /dev/null differ diff --git a/test/de_fuzz/corpus/fa9f5d64a14ebd1089cf9fd288ae73023b144a81 b/test/de_fuzz/corpus/fa9f5d64a14ebd1089cf9fd288ae73023b144a81 deleted file mode 100644 index e5bb05a00..000000000 Binary files a/test/de_fuzz/corpus/fa9f5d64a14ebd1089cf9fd288ae73023b144a81 and /dev/null differ diff --git a/test/de_fuzz/corpus/faae8298613ca8e0b6133b461829fefc91f2500e b/test/de_fuzz/corpus/faae8298613ca8e0b6133b461829fefc91f2500e deleted file mode 100644 index 96f934073..000000000 Binary files a/test/de_fuzz/corpus/faae8298613ca8e0b6133b461829fefc91f2500e and /dev/null differ diff --git a/test/de_fuzz/corpus/fab18ed5d171187274edd02bfa0602295f71477c b/test/de_fuzz/corpus/fab18ed5d171187274edd02bfa0602295f71477c deleted file mode 100644 index 465acff9b..000000000 Binary files a/test/de_fuzz/corpus/fab18ed5d171187274edd02bfa0602295f71477c and /dev/null differ diff --git a/test/de_fuzz/corpus/fb1177ffa88fd8a6bb185cbf569bb1969bebe22e b/test/de_fuzz/corpus/fb1177ffa88fd8a6bb185cbf569bb1969bebe22e deleted file mode 100644 index 99d5e35c5..000000000 Binary files a/test/de_fuzz/corpus/fb1177ffa88fd8a6bb185cbf569bb1969bebe22e and /dev/null differ diff --git a/test/de_fuzz/corpus/fb1b88d87eb6f0b35c5fa8cdadd890ec0a122a1e b/test/de_fuzz/corpus/fb1b88d87eb6f0b35c5fa8cdadd890ec0a122a1e deleted file mode 100644 index 0db4bc783..000000000 Binary files a/test/de_fuzz/corpus/fb1b88d87eb6f0b35c5fa8cdadd890ec0a122a1e and /dev/null differ diff --git a/test/de_fuzz/corpus/fb4c54a61f4bbb6aacc155f251ef7821bab350b6 b/test/de_fuzz/corpus/fb4c54a61f4bbb6aacc155f251ef7821bab350b6 deleted file mode 100644 index e182e52c2..000000000 Binary files a/test/de_fuzz/corpus/fb4c54a61f4bbb6aacc155f251ef7821bab350b6 and /dev/null differ diff --git a/test/de_fuzz/corpus/fb4d84efa5466ad8c33721ac6301ab750c813a5a b/test/de_fuzz/corpus/fb4d84efa5466ad8c33721ac6301ab750c813a5a deleted file mode 100644 index ca36015a5..000000000 --- a/test/de_fuzz/corpus/fb4d84efa5466ad8c33721ac6301ab750c813a5a +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+(((+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+(((a+)+)+)+)+)+)+)+|CZ(((((((a+)a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+))+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/fb5650590b12aab159d96a4a2159520df27880e6 b/test/de_fuzz/corpus/fb5650590b12aab159d96a4a2159520df27880e6 deleted file mode 100644 index 627881817..000000000 Binary files a/test/de_fuzz/corpus/fb5650590b12aab159d96a4a2159520df27880e6 and /dev/null differ diff --git a/test/de_fuzz/corpus/fb6aae8fd24553682f3ca07ee3ab2ab149f593bf b/test/de_fuzz/corpus/fb6aae8fd24553682f3ca07ee3ab2ab149f593bf deleted file mode 100644 index ec0d08cd9..000000000 Binary files a/test/de_fuzz/corpus/fb6aae8fd24553682f3ca07ee3ab2ab149f593bf and /dev/null differ diff --git a/test/de_fuzz/corpus/fba53e7c4e6dc595f24f013bc9c10519652b4b79 b/test/de_fuzz/corpus/fba53e7c4e6dc595f24f013bc9c10519652b4b79 deleted file mode 100644 index 12189ec3c..000000000 Binary files a/test/de_fuzz/corpus/fba53e7c4e6dc595f24f013bc9c10519652b4b79 and /dev/null differ diff --git a/test/de_fuzz/corpus/fbbbad19e2f0f0faa19f1737583c49c4a346360b b/test/de_fuzz/corpus/fbbbad19e2f0f0faa19f1737583c49c4a346360b deleted file mode 100644 index a7cecb893..000000000 --- a/test/de_fuzz/corpus/fbbbad19e2f0f0faa19f1737583c49c4a346360b +++ /dev/null @@ -1,146 +0,0 @@ -' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] itial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\backspa037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -(?: (?: [\041\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be p' (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional le\Qing comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^?x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x8qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that coart of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atfm -| -"ept backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (someuld be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Ething != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [scaped something (something != C^\R \ No newline at end of file diff --git a/test/de_fuzz/corpus/fbfa77d09df9a979ec76ecf4012a9c0b1049392a b/test/de_fuzz/corpus/fbfa77d09df9a979ec76ecf4012a9c0b1049392a deleted file mode 100644 index b242236f3..000000000 Binary files a/test/de_fuzz/corpus/fbfa77d09df9a979ec76ecf4012a9c0b1049392a and /dev/null differ diff --git a/test/de_fuzz/corpus/fc18f3e3cb031dd668cfc1d2058b84678e0d40e8 b/test/de_fuzz/corpus/fc18f3e3cb031dd668cfc1d2058b84678e0d40e8 deleted file mode 100644 index 987f79e29..000000000 Binary files a/test/de_fuzz/corpus/fc18f3e3cb031dd668cfc1d2058b84678e0d40e8 and /dev/null differ diff --git a/test/de_fuzz/corpus/fc3163875a71b50159a05a291cd3005010cfaef1 b/test/de_fuzz/corpus/fc3163875a71b50159a05a291cd3005010cfaef1 deleted file mode 100644 index f01ef8af9..000000000 Binary files a/test/de_fuzz/corpus/fc3163875a71b50159a05a291cd3005010cfaef1 and /dev/null differ diff --git a/test/de_fuzz/corpus/fc6b39f10a017fec54f184354f5f2b709d607a53 b/test/de_fuzz/corpus/fc6b39f10a017fec54f184354f5f2b709d607a53 deleted file mode 100644 index 6f91e148b..000000000 Binary files a/test/de_fuzz/corpus/fc6b39f10a017fec54f184354f5f2b709d607a53 and /dev/null differ diff --git a/test/de_fuzz/corpus/fc7342ad7b736cf4fdae31c3d28d255f4147fe43 b/test/de_fuzz/corpus/fc7342ad7b736cf4fdae31c3d28d255f4147fe43 deleted file mode 100644 index 2709fefc7..000000000 Binary files a/test/de_fuzz/corpus/fc7342ad7b736cf4fdae31c3d28d255f4147fe43 and /dev/null differ diff --git a/test/de_fuzz/corpus/fc81692cfc58f7138d1abd73b70bb0b7afabc86f b/test/de_fuzz/corpus/fc81692cfc58f7138d1abd73b70bb0b7afabc86f deleted file mode 100644 index b5c7491e3..000000000 Binary files a/test/de_fuzz/corpus/fc81692cfc58f7138d1abd73b70bb0b7afabc86f and /dev/null differ diff --git a/test/de_fuzz/corpus/fc9c93e59180640a9e230105b231e84f34da46e6 b/test/de_fuzz/corpus/fc9c93e59180640a9e230105b231e84f34da46e6 deleted file mode 100644 index de70ff439..000000000 Binary files a/test/de_fuzz/corpus/fc9c93e59180640a9e230105b231e84f34da46e6 and /dev/null differ diff --git a/test/de_fuzz/corpus/fcaa455450f1bfbd0ef2680bc4ce8aa5e2b9fc1e b/test/de_fuzz/corpus/fcaa455450f1bfbd0ef2680bc4ce8aa5e2b9fc1e deleted file mode 100644 index 447191b22..000000000 Binary files a/test/de_fuzz/corpus/fcaa455450f1bfbd0ef2680bc4ce8aa5e2b9fc1e and /dev/null differ diff --git a/test/de_fuzz/corpus/fcc52bbac64d454b68acd3fd36a6691aff250439 b/test/de_fuzz/corpus/fcc52bbac64d454b68acd3fd36a6691aff250439 deleted file mode 100644 index 9b9af46c3..000000000 Binary files a/test/de_fuzz/corpus/fcc52bbac64d454b68acd3fd36a6691aff250439 and /dev/null differ diff --git a/test/de_fuzz/corpus/fce1629fdeb053c89a7d877e8a8811bc372889ee b/test/de_fuzz/corpus/fce1629fdeb053c89a7d877e8a8811bc372889ee deleted file mode 100644 index a5041cdea..000000000 Binary files a/test/de_fuzz/corpus/fce1629fdeb053c89a7d877e8a8811bc372889ee and /dev/null differ diff --git a/test/de_fuzz/corpus/fd240e796a9701446ecdf6f378ecb59545f3527e b/test/de_fuzz/corpus/fd240e796a9701446ecdf6f378ecb59545f3527e deleted file mode 100644 index 8fd7e935e..000000000 Binary files a/test/de_fuzz/corpus/fd240e796a9701446ecdf6f378ecb59545f3527e and /dev/null differ diff --git a/test/de_fuzz/corpus/fd3e084f9f8bd4a5f53f81a0626dad49bccbd454 b/test/de_fuzz/corpus/fd3e084f9f8bd4a5f53f81a0626dad49bccbd454 deleted file mode 100644 index ec665d6d2..000000000 Binary files a/test/de_fuzz/corpus/fd3e084f9f8bd4a5f53f81a0626dad49bccbd454 and /dev/null differ diff --git a/test/de_fuzz/corpus/fd46e05835a39f63dc5a8803859250fd07083b87 b/test/de_fuzz/corpus/fd46e05835a39f63dc5a8803859250fd07083b87 deleted file mode 100644 index 7a743c6d4..000000000 Binary files a/test/de_fuzz/corpus/fd46e05835a39f63dc5a8803859250fd07083b87 and /dev/null differ diff --git a/test/de_fuzz/corpus/fd95013729ea8711e4191193b8f5363db58c548f b/test/de_fuzz/corpus/fd95013729ea8711e4191193b8f5363db58c548f deleted file mode 100644 index 455b2dc39..000000000 --- a/test/de_fuzz/corpus/fd95013729ea8711e4191193b8f5363db58c548f +++ /dev/null @@ -1 +0,0 @@ -8^\l*(?:((.*?)?\W*(?1)\W*|2| |((.)\W*(?mmmmmmmmmmmmmmmmmmmmmm3)\[[:space:]]*))]W*$The quick brown )ox ! \ No newline at end of file diff --git a/test/de_fuzz/corpus/fdb2d679819858318b16c17d5964585fbd2a6cd8 b/test/de_fuzz/corpus/fdb2d679819858318b16c17d5964585fbd2a6cd8 deleted file mode 100644 index 341bc71e6..000000000 Binary files a/test/de_fuzz/corpus/fdb2d679819858318b16c17d5964585fbd2a6cd8 and /dev/null differ diff --git a/test/de_fuzz/corpus/fdb3f3f3a365112b809e370fa18ab269d3d48c27 b/test/de_fuzz/corpus/fdb3f3f3a365112b809e370fa18ab269d3d48c27 deleted file mode 100644 index d49298625..000000000 Binary files a/test/de_fuzz/corpus/fdb3f3f3a365112b809e370fa18ab269d3d48c27 and /dev/null differ diff --git a/test/de_fuzz/corpus/fdca90c937b7c730f25ea516cefc942daf705983 b/test/de_fuzz/corpus/fdca90c937b7c730f25ea516cefc942daf705983 deleted file mode 100644 index 318730e5c..000000000 Binary files a/test/de_fuzz/corpus/fdca90c937b7c730f25ea516cefc942daf705983 and /dev/null differ diff --git a/test/de_fuzz/corpus/fdcd7272351a66a221c3b693ebf318116c17cf58 b/test/de_fuzz/corpus/fdcd7272351a66a221c3b693ebf318116c17cf58 deleted file mode 100644 index b71c87ad5..000000000 Binary files a/test/de_fuzz/corpus/fdcd7272351a66a221c3b693ebf318116c17cf58 and /dev/null differ diff --git a/test/de_fuzz/corpus/fdd320af14261df0d27737c1d4763b2358ce86fb b/test/de_fuzz/corpus/fdd320af14261df0d27737c1d4763b2358ce86fb deleted file mode 100644 index 4429cc10e..000000000 Binary files a/test/de_fuzz/corpus/fdd320af14261df0d27737c1d4763b2358ce86fb and /dev/null differ diff --git a/test/de_fuzz/corpus/fde436e3748f7cbe1a960821150e0714fdf10c7d b/test/de_fuzz/corpus/fde436e3748f7cbe1a960821150e0714fdf10c7d deleted file mode 100644 index 1a9a89911..000000000 Binary files a/test/de_fuzz/corpus/fde436e3748f7cbe1a960821150e0714fdf10c7d and /dev/null differ diff --git a/test/de_fuzz/corpus/fe0e1cb8d85a7554488ce6d8e4b7b6bf9bb554b0 b/test/de_fuzz/corpus/fe0e1cb8d85a7554488ce6d8e4b7b6bf9bb554b0 deleted file mode 100644 index aa235d010..000000000 Binary files a/test/de_fuzz/corpus/fe0e1cb8d85a7554488ce6d8e4b7b6bf9bb554b0 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe179b68a75f8351ada4676b455427d0a7a507fe b/test/de_fuzz/corpus/fe179b68a75f8351ada4676b455427d0a7a507fe deleted file mode 100644 index 9d4660ad1..000000000 Binary files a/test/de_fuzz/corpus/fe179b68a75f8351ada4676b455427d0a7a507fe and /dev/null differ diff --git a/test/de_fuzz/corpus/fe2871998f2bec41a3cfd88d0b9acc8ca9440d18 b/test/de_fuzz/corpus/fe2871998f2bec41a3cfd88d0b9acc8ca9440d18 deleted file mode 100644 index 41893a099..000000000 Binary files a/test/de_fuzz/corpus/fe2871998f2bec41a3cfd88d0b9acc8ca9440d18 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe31a86695020ab5bf562e9416ee88eec46d8954 b/test/de_fuzz/corpus/fe31a86695020ab5bf562e9416ee88eec46d8954 deleted file mode 100644 index b28e21255..000000000 Binary files a/test/de_fuzz/corpus/fe31a86695020ab5bf562e9416ee88eec46d8954 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe47ca6d5c658da266e1d8790fff27819222e8d3 b/test/de_fuzz/corpus/fe47ca6d5c658da266e1d8790fff27819222e8d3 deleted file mode 100644 index a844443be..000000000 Binary files a/test/de_fuzz/corpus/fe47ca6d5c658da266e1d8790fff27819222e8d3 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe522803462606cb21e146b884dc9f3e6f8bd419 b/test/de_fuzz/corpus/fe522803462606cb21e146b884dc9f3e6f8bd419 deleted file mode 100644 index 2e84b7683..000000000 Binary files a/test/de_fuzz/corpus/fe522803462606cb21e146b884dc9f3e6f8bd419 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe69e79bf65e7973fedae99c40a503161aa9d615 b/test/de_fuzz/corpus/fe69e79bf65e7973fedae99c40a503161aa9d615 deleted file mode 100644 index 0e6430a48..000000000 Binary files a/test/de_fuzz/corpus/fe69e79bf65e7973fedae99c40a503161aa9d615 and /dev/null differ diff --git a/test/de_fuzz/corpus/fe70fc0541c7c8798e8d0c19921a4ec1926e836a b/test/de_fuzz/corpus/fe70fc0541c7c8798e8d0c19921a4ec1926e836a deleted file mode 100644 index 1902d1be5..000000000 Binary files a/test/de_fuzz/corpus/fe70fc0541c7c8798e8d0c19921a4ec1926e836a and /dev/null differ diff --git a/test/de_fuzz/corpus/fe9a408da7302f09ee42265fe8bda29211ff7e7d b/test/de_fuzz/corpus/fe9a408da7302f09ee42265fe8bda29211ff7e7d deleted file mode 100644 index 71daaa8f5..000000000 Binary files a/test/de_fuzz/corpus/fe9a408da7302f09ee42265fe8bda29211ff7e7d and /dev/null differ diff --git a/test/de_fuzz/corpus/fec4af0df52fc925d52dd341f00163ee13a89b94 b/test/de_fuzz/corpus/fec4af0df52fc925d52dd341f00163ee13a89b94 deleted file mode 100644 index d5e8c034f..000000000 Binary files a/test/de_fuzz/corpus/fec4af0df52fc925d52dd341f00163ee13a89b94 and /dev/null differ diff --git a/test/de_fuzz/corpus/fed611293542b93c62cf7e4f981e826538f4dba6 b/test/de_fuzz/corpus/fed611293542b93c62cf7e4f981e826538f4dba6 deleted file mode 100644 index 485250fd9..000000000 Binary files a/test/de_fuzz/corpus/fed611293542b93c62cf7e4f981e826538f4dba6 and /dev/null differ diff --git a/test/de_fuzz/corpus/feeb5ba0f5c038136e30b2b3c7f6bfc29cf04b74 b/test/de_fuzz/corpus/feeb5ba0f5c038136e30b2b3c7f6bfc29cf04b74 deleted file mode 100644 index ec187a029..000000000 Binary files a/test/de_fuzz/corpus/feeb5ba0f5c038136e30b2b3c7f6bfc29cf04b74 and /dev/null differ diff --git a/test/de_fuzz/corpus/fef27c01d58585c5d6153db3528484f2d3610feb b/test/de_fuzz/corpus/fef27c01d58585c5d6153db3528484f2d3610feb deleted file mode 100644 index 84e973bdd..000000000 --- a/test/de_fuzz/corpus/fef27c01d58585c5d6153db3528484f2d3610feb +++ /dev/null @@ -1 +0,0 @@ -Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+(|W((((((a+)+)+i+)+)+)+)+|V(((((((a+)+)+!\Pd2(a+)+)+)+)+)+)+)+|(a+)+bc \ No newline at end of file diff --git a/test/de_fuzz/corpus/ff0e2d316f9d3d346c7946fa2f4cf9b1b6485504 b/test/de_fuzz/corpus/ff0e2d316f9d3d346c7946fa2f4cf9b1b6485504 deleted file mode 100644 index b83d96ee0..000000000 Binary files a/test/de_fuzz/corpus/ff0e2d316f9d3d346c7946fa2f4cf9b1b6485504 and /dev/null differ diff --git a/test/de_fuzz/corpus/ff1d002164189eceb7db59f21a250b07c747fc95 b/test/de_fuzz/corpus/ff1d002164189eceb7db59f21a250b07c747fc95 deleted file mode 100644 index 00998fffe..000000000 Binary files a/test/de_fuzz/corpus/ff1d002164189eceb7db59f21a250b07c747fc95 and /dev/null differ diff --git a/test/de_fuzz/corpus/ff618c11f1588021ded7c9926d6f0e69e9c40266 b/test/de_fuzz/corpus/ff618c11f1588021ded7c9926d6f0e69e9c40266 deleted file mode 100644 index 69a86f9b8..000000000 Binary files a/test/de_fuzz/corpus/ff618c11f1588021ded7c9926d6f0e69e9c40266 and /dev/null differ diff --git a/test/de_fuzz/corpus/ff67e8c4d351f1633582407c3396bbecda2a6002 b/test/de_fuzz/corpus/ff67e8c4d351f1633582407c3396bbecda2a6002 deleted file mode 100644 index cb82f4ea6..000000000 Binary files a/test/de_fuzz/corpus/ff67e8c4d351f1633582407c3396bbecda2a6002 and /dev/null differ diff --git a/test/de_fuzz/corpus/ff8da440469a22509f2f45135401812fef335fe9 b/test/de_fuzz/corpus/ff8da440469a22509f2f45135401812fef335fe9 deleted file mode 100644 index 99771f9a8..000000000 Binary files a/test/de_fuzz/corpus/ff8da440469a22509f2f45135401812fef335fe9 and /dev/null differ diff --git a/test/de_fuzz/corpus/ffa974eff9126225be8d3c96ce99056b25a4d0ee b/test/de_fuzz/corpus/ffa974eff9126225be8d3c96ce99056b25a4d0ee deleted file mode 100644 index 97d47ae7a..000000000 Binary files a/test/de_fuzz/corpus/ffa974eff9126225be8d3c96ce99056b25a4d0ee and /dev/null differ diff --git a/test/de_fuzz/corpus/ffc5ba4e6dfaf011ebecbb8083b3a34c8a0c6010 b/test/de_fuzz/corpus/ffc5ba4e6dfaf011ebecbb8083b3a34c8a0c6010 deleted file mode 100644 index 87a5d7b11..000000000 Binary files a/test/de_fuzz/corpus/ffc5ba4e6dfaf011ebecbb8083b3a34c8a0c6010 and /dev/null differ diff --git a/test/de_fuzz/corpus/ffeecc68565433a8155465f21b5a234703d03d8a b/test/de_fuzz/corpus/ffeecc68565433a8155465f21b5a234703d03d8a deleted file mode 100644 index 69112242f..000000000 Binary files a/test/de_fuzz/corpus/ffeecc68565433a8155465f21b5a234703d03d8a and /dev/null differ diff --git a/test/issue153.cpp b/test/issue153.cpp new file mode 100644 index 000000000..78726a0a0 --- /dev/null +++ b/test/issue153.cpp @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2021 +* John Maddock +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +//#define BOOST_REGEX_MAX_BLOCKS 10 +// See https://github.com/boostorg/regex/issues/153 +#include +#include + +int main(int argc, char** argv) +{ + try + { + boost::regex e("\x28\x28\x1f\x28\x28\x28\x3f\x31\x29\x8\x29\xf3\x29\x21\x3d\x29\x3f\x3f\xe4\x2e\x2b\x1f\x3f\x7c\x28\x3f\x21\x28\x28\x61\x3f\x3f\x28\x2a\x53\x4b\x49\x50\x29\x4\x3f\x2e\x2a\x3f\x28\x3f\x31\x29\x30\x77\x29\x29\x29\x49\x29\x61\x63\xbe\x45\x30\xa1\x5c\xfe\x5\xd2\x26\xc0\xf5\x17\x6c\xd4\xc3\x72\xe9\xb6\x74"); + if (boost::regex_match("\xb9\x32\x7c\xbc\x2d\xa0\xb\x85\xf3\xcf\x93\xa7\xd0\x44\x7b\x21\x12\x93\x6a\x7b\x72\x6d\x1e\x69\x56\x31\x37\x30\x31\x34\x31\x31\x38\x33\x34\x36\x30\x34\x36\x39\x32\x33\x31\x37\x33\x31\x36\x38\x37\x33\x30\x33\x37\x31\x35\x38\x38\x34\x31\x30\x35\x37\x32\x37\xba\x3e\x4\xc7\x27\xe9\xae\xf2\x01\x84\x47\x1f\xdc\xc9\x4c\xe5\xbc\xcf\x17\x31\x37\x30\x31\x34\x31\x31\x38\x33\x34\x36\x30\x34\x36\x39\x32\x33\x31\x37\x33\x31\x36\x38\x37\x33\x30\x33\x37\x31\x35\x38\x38\x34\x31\x2c\xd6\xf5\x42\xe4\x13\x15\xde\x7e\xa1\x84\x5a\x32\xf5\x67\xd5\x13\x9a\xd1\xa6\x99\x18\x23\xf7\x5c\xf6\x40\x80\x9c\x79\xbe\x4a\xc2\x54\x94\x93\xa3\x50\x27\xaf\xd4\xc4\x3b\xd3\x49\x95\xe7\xa9\xa0\xa5\x14\x81\xd2\x9a\x77\x92\xa8\x81\xb0\xf4\x5b\xa8\x9c\x3e\x17\x3b\xbd\x86\x26\x9a\x57\x56\x12\xce\x8c\x4a\xca\x68\x86\x3d\xf5\xba\x75\xab\xb1\x76\x2d\xd\xf1\xc\x24\x5e\xc5\x6d\xc8\xdf\xa6\x18\x86\x5e\x56", e, boost::regex_constants::match_default | boost::regex_constants::match_partial)) + { + std::cout << "OK" << std::endl; + } + } + catch (const boost::regex_error& e) + { + assert(e.code() == boost::regex_constants::error_complexity); + std::cout << e.what() << std::endl; + } + return 0; +} + diff --git a/test/issue227.cpp b/test/issue227.cpp new file mode 100644 index 000000000..fce7fb523 --- /dev/null +++ b/test/issue227.cpp @@ -0,0 +1,19 @@ +/* +* Copyright (c) 2024 +* Christian Mazakas +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +#include +#include + +int main() { + boost::regex rx("(*ACCEPT)*+\\1((*ACCEPT)*+\\K)"); + std::string str = "Z"; + boost::smatch what; + boost::regex_search(str, what, rx, boost::match_default | boost::match_partial); +} diff --git a/test/issue232.cpp b/test/issue232.cpp new file mode 100644 index 000000000..a8c2b2ccd --- /dev/null +++ b/test/issue232.cpp @@ -0,0 +1,71 @@ +#include + +#include +#include +#include + +template +void tester( char const (&str)[ N0 ] ) +{ + std::vector s(N, '\0'); + std::memcpy(s.data(), str, N); + boost::regex rx(s.begin(), s.end()); + + std::vector wheres; + wheres.push_back(std::string(15, 'H')); + wheres.push_back(""); + wheres.push_back(" "); + + // Perl-style matching + for (auto const& where : wheres) { + boost::match_results what; + bool match = boost::regex_match(where, what, rx, boost::match_default | boost::match_partial | boost::match_any | boost::match_perl); + (void) match; + } + + // POSIX-style matching + for (auto const& where : wheres) { + try { + boost::match_results what; + bool match = boost::regex_match(where, what, rx, boost::match_default | boost::match_partial | boost::match_any | boost::match_posix); + (void) match; + } catch(...) {} + } + +} + +int main() +{ + // test strings derived from fuzzing + // we keep a simple human-readable version + char const str1[] = "(Y(*COMMIT)|\\K\\D|.)+"; + char const str2[] = "(Y(*COMMIT){||\\K\\D|||||||||\\K|||ss|||||.|\232*(?(50)\027\0204657|H)\020}\031\000.* 6.'?-i)+[L??.\000\000\000\004\000\000\000\000?..<[\000\024R]*+"; + char const str3[] = "(Y(*COMMIT)\xFF\x80|\\L\\K||||||||||.|||||\x84|||||\x00\x00\x10||||||.* .'?-i)[L??...-i)[L??...[\x00\x14R]*+"; + char const str4[] = "(Y(*COMMIT)\x96||.* .* .\\K|||\x9F||||\x9C|.|||||\x84\x99|||\x01\x00\x00\x00|||'?-i#PL\x00\x01.\x86??OMMIT)?...[\x00\x14R]*+"; + + tester(str1); + tester(str2); + tester(str3); + tester(str4); + + // prove that we catch certain impossible scenarios + + { + char const* str = "abcd"; + boost::regex rx(str); + boost::match_results what; + std::string where(15, 'H'); + BOOST_TEST_THROWS(boost::regex_match(where, rx, boost::match_posix | boost::match_perl), std::logic_error); + } + + { + char const* str = "ab(*COMMIT)cd"; + boost::regex rx(str); + boost::match_results what; + std::string where(15, 'H'); + BOOST_TEST_THROWS(boost::regex_match(where, rx, boost::match_posix), std::logic_error); + } + + return boost::report_errors(); +} + diff --git a/test/issue244.cpp b/test/issue244.cpp new file mode 100644 index 000000000..1b8cf13da --- /dev/null +++ b/test/issue244.cpp @@ -0,0 +1,21 @@ +#include + +#include + +#include "test_macros.hpp" + +int main() +{ + char const strdata1[] = "\x00t\x03.z%(?x:]*+\x0c#\\x0c\x0c\x0c+\x0c#\\x0c\x0c\x0c\x11\x0c\x0c\xff\xff\xfd*\xff\xff\xff\xff\xff\xff\xff\xff|\xff\xff\xfd*\xff\xff)*\x01\x03\x00\x00\x00\x03\xff\xff\xff\x00\x00\xff\xff\xff"; + char const strdata2[] = "(?x:]*+#comment\n+)*"; + + std::string str1(strdata1, strdata1 + sizeof(strdata1) - 1); + std::string str2(strdata2, strdata2 + sizeof(strdata2) - 1); + + boost::match_results what; + + BOOST_TEST_THROWS((boost::regex(str1)), boost::regex_error); + BOOST_TEST_THROWS((boost::regex(str2)), boost::regex_error); + + return boost::report_errors(); +} diff --git a/test/issue245.cpp b/test/issue245.cpp new file mode 100644 index 000000000..86948c4be --- /dev/null +++ b/test/issue245.cpp @@ -0,0 +1,54 @@ +#include + +#include +#include + +#include "test_macros.hpp" + + +int main() +{ + // invalid because \k-- is an unterminated token + { + char const strdata[] = "\\k--00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "\\k-00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "\\k00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "a(b*)c\\k{--1}d"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "a(b*)c\\k-{-1}d"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "\\k{--00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "\\k{-00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + { + char const strdata[] = "\\k{00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90"; + std::string regex_string(strdata, strdata + sizeof(strdata) - 1); + BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error); + } + + return boost::report_errors(); +} diff --git a/test/lookbehind_recursion_stress_test.cpp b/test/lookbehind_recursion_stress_test.cpp new file mode 100644 index 000000000..feb5a449c --- /dev/null +++ b/test/lookbehind_recursion_stress_test.cpp @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2024 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + +#include + +int main() +{ + std::string s("(?<=("); + s.append(1000, '|'); + s += "))"; + boost::regex rx(s); + + s = "(?<=(a"; + for (unsigned i = 0; i < 1000; ++i) + { + s += "|a"; + } + s += "))"; + boost::regex rx2(s); +} diff --git a/test/module/Jamfile.v2 b/test/module/Jamfile.v2 new file mode 100644 index 000000000..480bb0703 --- /dev/null +++ b/test/module/Jamfile.v2 @@ -0,0 +1,33 @@ +# copyright John Maddock 2022 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt. + +project + : requirements + multi + msvc:on + msvc:latest + gcc:-fmodules-ts + ; + +obj regex : ../../module/regex.cxx : msvc:-interface [ check-target-builds ./config//test_has_module_support : : no ] ; + +exe credit_card_example : credit_card_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe partial_regex_grep : partial_regex_grep.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe partial_regex_iterate : partial_regex_iterate.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe partial_regex_match : partial_regex_match.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_grep_example_1 : regex_grep_example_1.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_grep_example_2 : regex_grep_example_2.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_grep_example_3 : regex_grep_example_3.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_iterator_example : regex_iterator_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_match_example : regex_match_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_merge_example : regex_merge_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_replace_example : regex_replace_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_search_example : regex_search_example.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_split_example_1 : regex_split_example_1.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_split_example_2 : regex_split_example_2.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_token_iterator_eg_1 : regex_token_iterator_eg_1.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; +exe regex_token_iterator_eg_2 : regex_token_iterator_eg_2.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; + +compile ../concepts/module_concept_check.cpp regex : [ check-target-builds ./config//test_has_module_support : : no ] regex ; \ No newline at end of file diff --git a/test/module/credit_card_example.cpp b/test/module/credit_card_example.cpp new file mode 100644 index 000000000..727b1157d --- /dev/null +++ b/test/module/credit_card_example.cpp @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 1998-2002 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE credit_card_example.cpp + * VERSION see + * DESCRIPTION: Credit card number formatting code. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + + +bool validate_card_format(const std::string& s) +{ + static const boost::regex e("(\\d{4}[- ]){3}\\d{4}"); + return boost::regex_match(s, e); +} + +const boost::regex e("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z"); +const std::string machine_format("\\1\\2\\3\\4"); +const std::string human_format("\\1-\\2-\\3-\\4"); + +std::string machine_readable_card_number(const std::string& s) +{ + return boost::regex_replace(s, e, machine_format, boost::match_default | boost::format_sed); +} + +std::string human_readable_card_number(const std::string& s) +{ + return boost::regex_replace(s, e, human_format, boost::match_default | boost::format_sed); +} + +int main() +{ + using namespace std; + + string s[4] = { "0000111122223333", "0000 1111 2222 3333", + "0000-1111-2222-3333", "000-1111-2222-3333", }; + int i; + for(i = 0; i < 4; ++i) + { + cout << "validate_card_format(\"" << s[i] << "\") returned " << validate_card_format(s[i]) << endl; + } + for(i = 0; i < 4; ++i) + { + cout << "machine_readable_card_number(\"" << s[i] << "\") returned " << machine_readable_card_number(s[i]) << endl; + } + for(i = 0; i < 4; ++i) + { + cout << "human_readable_card_number(\"" << s[i] << "\") returned " << human_readable_card_number(s[i]) << endl; + } + return 0; +} + + + + diff --git a/test/module/msvc_test.bat b/test/module/msvc_test.bat new file mode 100644 index 000000000..076851459 --- /dev/null +++ b/test/module/msvc_test.bat @@ -0,0 +1,27 @@ +REM Basic command line to build everything with msvc: + +rem del *.obj +rem del *.exe +rem del *.lib + +cl /std:c++latest /EHsc /nologo /W4 /c "%VCToolsInstallDir%\modules\std.ixx" || exit 1 +cl /std:c++latest /EHsc /nologo /W4 /c /interface /I ..\..\..\.. ..\..\module\regex.cxx || exit 1 +cl /std:c++latest /EHsc /nologo /W4 /c /I ..\..\..\.. ..\..\module\*.cpp || exit 1 + +lib *.obj /OUT:regex.lib || exit 1 + +rem time < nul + +for %%f in (*.cpp) do ( + cl /std:c++latest /EHsc /nologo /W4 /I ..\..\..\.. %%f regex.lib || exit 1 +) + +rem time < nul + +rem uncomment this section to test/time non-module build: +rem for %%f in (*.cpp) do ( +rem cl /DTEST_HEADERS /std:c++latest /EHsc /nologo /W4 /I ..\..\..\.. %%f || exit 1 +rem ) + +rem time < nul + diff --git a/test/module/partial_regex_grep.cpp b/test/module/partial_regex_grep.cpp new file mode 100644 index 000000000..38cb3e47f --- /dev/null +++ b/test/module/partial_regex_grep.cpp @@ -0,0 +1,113 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE partial_regex_grep.cpp + * VERSION see + * DESCRIPTION: Search example using partial matches. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// match some kind of html tag: +boost::regex e("<[^>]*>"); +// count how many: +unsigned int tags = 0; +// saved position of partial match: +const char* next_pos = 0; + +bool grep_callback(const boost::match_results& m) +{ + if(m[0].matched == false) + { + // save position and return: + next_pos = m[0].first; + } + else + ++tags; + return true; +} + +void search(std::istream& is) +{ + char buf[4096]; + next_pos = buf + sizeof(buf); + bool have_more = true; + while(have_more) + { + // how much do we copy forward from last try: + std::ptrdiff_t leftover = (buf + sizeof(buf)) - next_pos; + // and how much is left to fill: + std::ptrdiff_t size = next_pos - buf; + // copy forward whatever we have left: + std::memmove(buf, next_pos, leftover); + // fill the rest from the stream: + is.read(buf + leftover, size); + std::streamsize read = is.gcount(); + // check to see if we've run out of text: + have_more = read == size; + // reset next_pos: + next_pos = buf + sizeof(buf); + // and then grep: + boost::regex_grep(grep_callback, + static_cast(buf), + static_cast(buf + read + leftover), + e, + boost::match_default | boost::match_partial); + } +} + +int main(int argc, char* argv[]) +{ + if(argc > 1) + { + for(int i = 1; i < argc; ++i) + { + std::ifstream fs(argv[i]); + if(fs.bad()) continue; + search(fs); + fs.close(); + } + } + else + { + std::string one(""); + std::string what; + while(what.size() < 10000) + { + what.append(one); + what.append(13, ' '); + } + std::stringstream ss; + ss.str(what); + search(ss); + } + std::cout << "total tag count was " << tags << std::endl; + return 0; +} + diff --git a/test/module/partial_regex_iterate.cpp b/test/module/partial_regex_iterate.cpp new file mode 100644 index 000000000..1e41b601d --- /dev/null +++ b/test/module/partial_regex_iterate.cpp @@ -0,0 +1,129 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE partial_regex_iterate.cpp + * VERSION see + * DESCRIPTION: Search example using partial matches. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +#ifdef BOOST_NO_STDC_NAMESPACE +namespace std{ using ::memmove; } +#endif + +// match some kind of html tag: +boost::regex e("<[^>]*>"); +// count how many: +unsigned int tags = 0; + +void search(std::istream& is) +{ + // buffer we'll be searching in: + char buf[4096]; + // saved position of end of partial match: + const char* next_pos = buf + sizeof(buf); + // flag to indicate whether there is more input to come: + bool have_more = true; + + while(have_more) + { + // how much do we copy forward from last try: + std::ptrdiff_t leftover = (buf + sizeof(buf)) - next_pos; + // and how much is left to fill: + std::ptrdiff_t size = next_pos - buf; + // copy forward whatever we have left: + std::memmove(buf, next_pos, leftover); + // fill the rest from the stream: + is.read(buf + leftover, size); + std::streamsize read = is.gcount(); + // check to see if we've run out of text: + have_more = read == size; + // reset next_pos: + next_pos = buf + sizeof(buf); + // and then iterate: + boost::cregex_iterator a( + buf, + buf + read + leftover, + e, + boost::match_default | boost::match_partial); + boost::cregex_iterator b; + + while(a != b) + { + if((*a)[0].matched == false) + { + // Partial match, save position and break: + next_pos = (*a)[0].first; + break; + } + else + { + // full match: + ++tags; + } + + // move to next match: + ++a; + } + } +} + +int main(int argc, char* argv[]) +{ + if(argc > 1) + { + for(int i = 1; i < argc; ++i) + { + std::ifstream fs(argv[i]); + if(fs.bad()) continue; + search(fs); + fs.close(); + } + } + else + { + std::string one(""); + std::string what; + while(what.size() < 10000) + { + what.append(one); + what.append(13, ' '); + } + std::stringstream ss; + ss.str(what); + search(ss); + } + std::cout << "total tag count was " << tags << std::endl; + return 0; +} + + + + diff --git a/test/module/partial_regex_match.cpp b/test/module/partial_regex_match.cpp new file mode 100644 index 000000000..3581eefbd --- /dev/null +++ b/test/module/partial_regex_match.cpp @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE partial_regex_match.cpp + * VERSION see + * DESCRIPTION: regex_match example using partial matches. + */ + + +//#include + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})"); + +bool is_possible_card_number(const std::string& input) +{ + // + // return false for partial match, true for full match, or throw for + // impossible match based on what we have so far... + boost::match_results what; + if(0 == boost::regex_match(input, what, e, boost::match_default | boost::match_partial)) + { + // the input so far could not possibly be valid so reject it: + throw std::runtime_error("Invalid data entered - this could not possibly be a valid card number"); + } + // OK so far so good, but have we finished? + if(what[0].matched) + { + // excellent, we have a result: + return true; + } + // what we have so far is only a partial match... + return false; +} + +int main(int argc, char* argv[]) +{ + try{ + std::string input; + if(argc > 1) + input = argv[1]; + else + std::cin >> input; + if(is_possible_card_number(input)) + { + std::cout << "Matched OK..." << std::endl; + } + else + std::cout << "Got a partial match..." << std::endl; + } + catch(const std::exception& e) + { + std::cout << e.what() << std::endl; + } + return 0; +} + diff --git a/test/module/regex_grep_example_1.cpp b/test/module/regex_grep_example_1.cpp new file mode 100644 index 000000000..90814b592 --- /dev/null +++ b/test/module/regex_grep_example_1.cpp @@ -0,0 +1,142 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_grep_example_1.cpp + * VERSION see + * DESCRIPTION: regex_grep example 1: searches a cpp file for class definitions. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include + +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file in the form of a string +// and searches for all the C++ class definitions, storing +// their locations in a map of strings/int's + +typedef std::map > map_type; + +const char* re = + // possibly leading whitespace: + "^[[:space:]]*" + // possible template declaration: + "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" + // class or struct: + "(class|struct)[[:space:]]*" + // leading declspec macros etc: + "(" + "\\<\\w+\\>" + "(" + "[[:blank:]]*\\([^)]*\\)" + ")?" + "[[:space:]]*" + ")*" + // the class name + "(\\<\\w*\\>)[[:space:]]*" + // template specialisation parameters + "(<[^;:{]+>)?[[:space:]]*" + // terminate in { or : + "(\\{|:[^;\\{()]*\\{)"; + +boost::regex expression(re); + +class IndexClassesPred +{ + map_type& m; + std::string::const_iterator base; +public: + IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {} + bool operator()(const boost::match_results& what) + { + // what[0] contains the whole string + // what[5] contains the class name. + // what[6] contains the template specialisation if any. + // add class name and position to map: + m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = + what[5].first - base; + return true; + } +private: + IndexClassesPred& operator=(const IndexClassesPred&); +}; + +void IndexClasses(map_type& m, const std::string& file) +{ + std::string::const_iterator start, end; + start = file.begin(); + end = file.end(); + boost::regex_grep(IndexClassesPred(m, start), start, end, expression); +} + + +using namespace std; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + std::string text; + for(int i = 1; i < argc; ++i) + { + cout << "Processing file " << argv[i] << endl; + map_type m; + std::ifstream fs(argv[i]); + load_file(text, fs); + fs.close(); + IndexClasses(m, text); + cout << m.size() << " matches found" << endl; + map_type::iterator c, d; + c = m.begin(); + d = m.end(); + while(c != d) + { + cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; + ++c; + } + } + return 0; +} + + + + + + + diff --git a/test/module/regex_grep_example_2.cpp b/test/module/regex_grep_example_2.cpp new file mode 100644 index 000000000..aa8526187 --- /dev/null +++ b/test/module/regex_grep_example_2.cpp @@ -0,0 +1,132 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_grep_example_2.cpp + * VERSION see + * DESCRIPTION: regex_grep example 2: searches a cpp file for class definitions, + * using a global callback function. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file in the form of a string +// and searches for all the C++ class definitions, storing +// their locations in a map of strings/int's + +typedef std::map > map_type; + +const char* re = + // possibly leading whitespace: + "^[[:space:]]*" + // possible template declaration: + "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" + // class or struct: + "(class|struct)[[:space:]]*" + // leading declspec macros etc: + "(" + "\\<\\w+\\>" + "(" + "[[:blank:]]*\\([^)]*\\)" + ")?" + "[[:space:]]*" + ")*" + // the class name + "(\\<\\w*\\>)[[:space:]]*" + // template specialisation parameters + "(<[^;:{]+>)?[[:space:]]*" + // terminate in { or : + "(\\{|:[^;\\{()]*\\{)"; + + +boost::regex expression(re); +map_type class_index; +std::string::const_iterator base; + +bool grep_callback(const boost::match_results& what) +{ + // what[0] contains the whole string + // what[5] contains the class name. + // what[6] contains the template specialisation if any. + // add class name and position to map: + class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = + what[5].first - base; + return true; +} + +void IndexClasses(const std::string& file) +{ + std::string::const_iterator start, end; + start = file.begin(); + end = file.end(); + base = start; + boost::regex_grep(grep_callback, start, end, expression); +} + +using namespace std; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + std::string text; + for(int i = 1; i < argc; ++i) + { + cout << "Processing file " << argv[i] << endl; + std::ifstream fs(argv[i]); + load_file(text, fs); + fs.close(); + IndexClasses(text); + cout << class_index.size() << " matches found" << endl; + map_type::iterator c, d; + c = class_index.begin(); + d = class_index.end(); + while(c != d) + { + cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; + ++c; + } + class_index.erase(class_index.begin(), class_index.end()); + } + return 0; +} + + + diff --git a/test/module/regex_grep_example_3.cpp b/test/module/regex_grep_example_3.cpp new file mode 100644 index 000000000..87369ba66 --- /dev/null +++ b/test/module/regex_grep_example_3.cpp @@ -0,0 +1,144 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_grep_example_3.cpp + * VERSION see + * DESCRIPTION: regex_grep example 3: searches a cpp file for class definitions, + * using a bound member function callback. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file in the form of a string +// and searches for all the C++ class definitions, storing +// their locations in a map of strings/int's + +typedef std::map > map_type; + +const char* re = + // possibly leading whitespace: + "^[[:space:]]*" + // possible template declaration: + "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" + // class or struct: + "(class|struct)[[:space:]]*" + // leading declspec macros etc: + "(" + "\\<\\w+\\>" + "(" + "[[:blank:]]*\\([^)]*\\)" + ")?" + "[[:space:]]*" + ")*" + // the class name + "(\\<\\w*\\>)[[:space:]]*" + // template specialisation parameters + "(<[^;:{]+>)?[[:space:]]*" + // terminate in { or : + "(\\{|:[^;\\{()]*\\{)"; + + +class class_index +{ + boost::regex expression; + map_type index; + std::string::const_iterator base; + + bool grep_callback(boost::match_results what); +public: + map_type& get_map() { return index; } + void IndexClasses(const std::string& file); + class_index() + : expression(re) {} +}; + +bool class_index::grep_callback(boost::match_results what) +{ + // what[0] contains the whole string + // what[5] contains the class name. + // what[6] contains the template specialisation if any. + // add class name and position to map: + index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = + what[5].first - base; + return true; +} + +void class_index::IndexClasses(const std::string& file) +{ + std::string::const_iterator start, end; + start = file.begin(); + end = file.end(); + base = start; + boost::regex_grep([&](boost::match_resultsconst & what)->bool { return this->grep_callback(what); }, + start, + end, + expression); +} + +using namespace std; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + std::string text; + for(int i = 1; i < argc; ++i) + { + cout << "Processing file " << argv[i] << endl; + std::ifstream fs(argv[i]); + load_file(text, fs); + fs.close(); + class_index idx; + idx.IndexClasses(text); + cout << idx.get_map().size() << " matches found" << endl; + map_type::iterator c, d; + c = idx.get_map().begin(); + d = idx.get_map().end(); + while(c != d) + { + cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; + ++c; + } + } + return 0; +} + diff --git a/test/module/regex_iterator_example.cpp b/test/module/regex_iterator_example.cpp new file mode 100644 index 000000000..855321e30 --- /dev/null +++ b/test/module/regex_iterator_example.cpp @@ -0,0 +1,126 @@ +/* + * + * Copyright (c) 2003-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_iterator_example_2.cpp + * VERSION see + * DESCRIPTION: regex_iterator example 2: searches a cpp file for class definitions, + * using global data. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +using namespace std; + +// purpose: +// takes the contents of a file in the form of a string +// and searches for all the C++ class definitions, storing +// their locations in a map of strings/int's + +typedef std::map > map_type; + +const char* re = + // possibly leading whitespace: + "^[[:space:]]*" + // possible template declaration: + "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" + // class or struct: + "(class|struct)[[:space:]]*" + // leading declspec macros etc: + "(" + "\\<\\w+\\>" + "(" + "[[:blank:]]*\\([^)]*\\)" + ")?" + "[[:space:]]*" + ")*" + // the class name + "(\\<\\w*\\>)[[:space:]]*" + // template specialisation parameters + "(<[^;:{]+>)?[[:space:]]*" + // terminate in { or : + "(\\{|:[^;\\{()]*\\{)"; + + +boost::regex expression(re); +map_type class_index; + +bool regex_callback(const boost::match_results& what) +{ + // what[0] contains the whole string + // what[5] contains the class name. + // what[6] contains the template specialisation if any. + // add class name and position to map: + class_index[what[5].str() + what[6].str()] = what.position(5); + return true; +} + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + std::string text; + for(int i = 1; i < argc; ++i) + { + cout << "Processing file " << argv[i] << endl; + std::ifstream fs(argv[i]); + load_file(text, fs); + fs.close(); + // construct our iterators: + boost::sregex_iterator m1(text.begin(), text.end(), expression); + boost::sregex_iterator m2; + std::for_each(m1, m2, ®ex_callback); + // copy results: + cout << class_index.size() << " matches found" << endl; + map_type::iterator c, d; + c = class_index.begin(); + d = class_index.end(); + while(c != d) + { + cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; + ++c; + } + class_index.erase(class_index.begin(), class_index.end()); + } + return 0; +} + + + diff --git a/test/module/regex_match_example.cpp b/test/module/regex_match_example.cpp new file mode 100644 index 000000000..9cb360392 --- /dev/null +++ b/test/module/regex_match_example.cpp @@ -0,0 +1,93 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_match_example.cpp + * VERSION see + * DESCRIPTION: ftp based regex_match example. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +using namespace boost; + +regex expression("^([0-9]+)(\\-| |$)(.*)$"); + +// process_ftp: +// on success returns the ftp response code, and fills +// msg with the ftp response message. +int process_ftp(const char* response, std::string* msg) +{ + cmatch what; + if(regex_match(response, what, expression)) + { + // what[0] contains the whole string + // what[1] contains the response code + // what[2] contains the separator character + // what[3] contains the text message. + if(msg) + msg->assign(what[3].first, what[3].second); + return std::atoi(what[1].first); + } + // failure did not match + if(msg) + msg->erase(); + return -1; +} + +int main(int argc, const char*[]) +{ + using namespace std; + std::string in, out; + do + { + if(argc == 1) + { + cout << "enter test string" << endl; + getline(cin, in); + if(in == "quit") + break; + } + else + in = "100 this is an ftp message text"; + int result; + result = process_ftp(in.c_str(), &out); + if(result != -1) + { + cout << "Match found:" << endl; + cout << "Response code: " << result << endl; + cout << "Message text: " << out << endl; + } + else + { + cout << "Match not found" << endl; + } + cout << endl; + } while(argc == 1); + return 0; +} + diff --git a/test/module/regex_merge_example.cpp b/test/module/regex_merge_example.cpp new file mode 100644 index 000000000..509637db6 --- /dev/null +++ b/test/module/regex_merge_example.cpp @@ -0,0 +1,138 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_merge_example.cpp + * VERSION see + * DESCRIPTION: regex_merge example: + * converts a C++ file to syntax highlighted HTML. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file and transform to +// syntax highlighted code in html format + +boost::regex e1, e2; +extern const char* expression_text; +extern const char* format_string; +extern const char* pre_expression; +extern const char* pre_format; +extern const char* header_text; +extern const char* footer_text; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + try{ + e1.assign(expression_text); + e2.assign(pre_expression); + for(int i = 1; i < argc; ++i) + { + std::cout << "Processing file " << argv[i] << std::endl; + std::ifstream fs(argv[i]); + std::string in; + load_file(in, fs); + fs.close(); + std::string out_name = std::string(argv[i]) + std::string(".htm"); + std::ofstream os(out_name.c_str()); + os << header_text; + // strip '<' and '>' first by outputting to a + // temporary string stream + std::ostringstream t(std::ios::out | std::ios::binary); + std::ostream_iterator oi(t); + boost::regex_merge(oi, in.begin(), in.end(), e2, pre_format, boost::match_default | boost::format_all); + // then output to final output stream + // adding syntax highlighting: + std::string s(t.str()); + std::ostream_iterator out(os); + boost::regex_merge(out, s.begin(), s.end(), e1, format_string, boost::match_default | boost::format_all); + os << footer_text; + os.close(); + } + } + catch(...) + { return -1; } + return 0; +} + +const char* pre_expression = "(<)|(>)|\\r"; +const char* pre_format = "(?1<)(?2>)"; + + +const char* expression_text = // preprocessor directives: index 1 + "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|" + // comment: index 2 + "(//[^\\n]*|/\\*.*?\\*/)|" + // literals: index 3 + "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|" + // string literals: index 4 + "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|" + // keywords: index 5 + "\\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import" + "|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall" + "|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool" + "|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete" + "|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto" + "|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected" + "|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast" + "|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned" + "|using|virtual|void|volatile|wchar_t|while)\\>" + ; + +const char* format_string = "(?1$&)" + "(?2$&)" + "(?3$&)" + "(?4$&)" + "(?5$&)"; + +const char* header_text = "\n\n" + "Auto-generated html formated source\n" + "\n" + "\n" + "\n" + "

\n
";
+
+const char* footer_text = "
\n\n\n"; + diff --git a/test/module/regex_replace_example.cpp b/test/module/regex_replace_example.cpp new file mode 100644 index 000000000..e5f5d60c2 --- /dev/null +++ b/test/module/regex_replace_example.cpp @@ -0,0 +1,149 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_replace_example.cpp + * VERSION see + * DESCRIPTION: regex_replace example: + * converts a C++ file to syntax highlighted HTML. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file and transform to +// syntax highlighted code in html format + +boost::regex e1, e2; +extern const char* expression_text; +extern const char* format_string; +extern const char* pre_expression; +extern const char* pre_format; +extern const char* header_text; +extern const char* footer_text; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + try{ + e1.assign(expression_text); + e2.assign(pre_expression); + for(int i = 1; i < argc; ++i) + { + std::cout << "Processing file " << argv[i] << std::endl; + std::ifstream fs(argv[i]); + std::string in; + load_file(in, fs); + fs.close(); + std::string out_name = std::string(argv[i]) + std::string(".htm"); + std::ofstream os(out_name.c_str()); + os << header_text; + // strip '<' and '>' first by outputting to a + // temporary string stream + std::ostringstream t(std::ios::out | std::ios::binary); + std::ostream_iterator oi(t); + boost::regex_replace(oi, in.begin(), in.end(), e2, pre_format, boost::match_default | boost::format_all); + // then output to final output stream + // adding syntax highlighting: + std::string s(t.str()); + std::ostream_iterator out(os); + boost::regex_replace(out, s.begin(), s.end(), e1, format_string, boost::match_default | boost::format_all); + os << footer_text; + os.close(); + } + } + catch(...) + { return -1; } + return 0; +} + +const char* pre_expression = "(<)|(>)|(&)|\\r"; +const char* pre_format = "(?1<)(?2>)(?3&)"; + + +const char* expression_text = // preprocessor directives: index 1 + "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|" + // comment: index 2 + "(//[^\\n]*|/\\*.*?\\*/)|" + // literals: index 3 + "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|" + // string literals: index 4 + "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|" + // keywords: index 5 + "\\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import" + "|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall" + "|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool" + "|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete" + "|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto" + "|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected" + "|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast" + "|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned" + "|using|virtual|void|volatile|wchar_t|while)\\>" + ; + +const char* format_string = "(?1$&)" + "(?2$&)" + "(?3$&)" + "(?4$&)" + "(?5$&)"; + +const char* header_text = "\n\n" + "Auto-generated html formated source\n" + "\n" + "\n" + "\n" + "

\n
";
+
+const char* footer_text = "
\n\n\n"; + + + + + + + + + + + + diff --git a/test/module/regex_search_example.cpp b/test/module/regex_search_example.cpp new file mode 100644 index 000000000..72afe30a1 --- /dev/null +++ b/test/module/regex_search_example.cpp @@ -0,0 +1,139 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_search_example.cpp + * VERSION see + * DESCRIPTION: regex_search example: searches a cpp file for class definitions. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +// purpose: +// takes the contents of a file in the form of a string +// and searches for all the C++ class definitions, storing +// their locations in a map of strings/int's + +typedef std::map > map_type; + +const char* re = + // possibly leading whitespace: + "^[[:space:]]*" + // possible template declaration: + "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" + // class or struct: + "(class|struct)[[:space:]]*" + // leading declspec macros etc: + "(" + "\\<\\w+\\>" + "(" + "[[:blank:]]*\\([^)]*\\)" + ")?" + "[[:space:]]*" + ")*" + // the class name + "(\\<\\w*\\>)[[:space:]]*" + // template specialisation parameters + "(<[^;:{]+>)?[[:space:]]*" + // terminate in { or : + "(\\{|:[^;\\{()]*\\{)"; + + +boost::regex expression(re); + +void IndexClasses(map_type& m, const std::string& file) +{ + std::string::const_iterator start, end; + start = file.begin(); + end = file.end(); + boost::match_results what; + boost::match_flag_type flags = boost::match_default; + while(boost::regex_search(start, end, what, expression, flags)) + { + // what[0] contains the whole string + // what[5] contains the class name. + // what[6] contains the template specialisation if any. + // add class name and position to map: + m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = + what[5].first - file.begin(); + // update search position: + start = what[0].second; + // update flags: + flags |= boost::match_prev_avail; + flags |= boost::match_not_bob; + } +} + + +using namespace std; + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, const char** argv) +{ + std::string text; + for(int i = 1; i < argc; ++i) + { + cout << "Processing file " << argv[i] << endl; + map_type m; + std::ifstream fs(argv[i]); + load_file(text, fs); + fs.close(); + IndexClasses(m, text); + cout << m.size() << " matches found" << endl; + map_type::iterator c, d; + c = m.begin(); + d = m.end(); + while(c != d) + { + cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; + ++c; + } + } + return 0; +} + + + + + + + + + diff --git a/test/module/regex_split_example_1.cpp b/test/module/regex_split_example_1.cpp new file mode 100644 index 000000000..8963c7d8c --- /dev/null +++ b/test/module/regex_split_example_1.cpp @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_split_example_1.cpp + * VERSION see + * DESCRIPTION: regex_split example: split a string into tokens. + */ + + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +Simport std.core; +#else +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +unsigned tokenise(std::list& l, std::string& s) +{ + return boost::regex_split(std::back_inserter(l), s); +} + +using namespace std; + +int main(int argc, const char*[]) +{ + string s; + list l; + do{ + if(argc == 1) + { + cout << "Enter text to split (or \"quit\" to exit): "; + getline(cin, s); + if(s == "quit") break; + } + else + s = "This is a string of tokens"; + unsigned result = tokenise(l, s); + cout << result << " tokens found" << endl; + cout << "The remaining text is: \"" << s << "\"" << endl; + while(l.size()) + { + s = *(l.begin()); + l.pop_front(); + cout << s << endl; + } + }while(argc == 1); + return 0; +} + + diff --git a/test/module/regex_split_example_2.cpp b/test/module/regex_split_example_2.cpp new file mode 100644 index 000000000..21bbeb5d5 --- /dev/null +++ b/test/module/regex_split_example_2.cpp @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 1998-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_split_example_2.cpp + * VERSION see + * DESCRIPTION: regex_split example: spit out linked URL's. + */ + + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"", + boost::regex::normal | boost::regex::icase); + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + // + // attempt to grow string buffer to match file size, + // this doesn't always work... + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + // use logarithmic growth stategy, in case + // in_avail (above) returned zero: + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, char** argv) +{ + std::string s; + std::list l; + int i; + for(i = 1; i < argc; ++i) + { + std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; + s.erase(); + std::ifstream is(argv[i]); + load_file(s, is); + is.close(); + boost::regex_split(std::back_inserter(l), s, e); + while(l.size()) + { + s = *(l.begin()); + l.pop_front(); + std::cout << s << std::endl; + } + } + // + // alternative method: + // split one match at a time and output direct to + // cout via ostream_iterator.... + // + for(i = 1; i < argc; ++i) + { + std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; + s.erase(); + std::ifstream is(argv[i]); + load_file(s, is); + is.close(); + while(boost::regex_split(std::ostream_iterator(std::cout), s, e, boost::match_default, 1)) std::cout << std::endl; + } + + return 0; +} + + diff --git a/test/module/regex_token_iterator_eg_1.cpp b/test/module/regex_token_iterator_eg_1.cpp new file mode 100644 index 000000000..d0f8473a0 --- /dev/null +++ b/test/module/regex_token_iterator_eg_1.cpp @@ -0,0 +1,66 @@ +/* + * + * Copyright (c) 2003-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_token_iterator_example_1.cpp + * VERSION see + * DESCRIPTION: regex_token_iterator example: split a string into tokens. + */ + + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +using namespace std; + +int main(int argc, const char*[]) +{ + string s; + do{ + if(argc == 1) + { + cout << "Enter text to split (or \"quit\" to exit): "; + getline(cin, s); + if(s == "quit") break; + } + else + s = "This is a string of tokens"; + + boost::regex re("\\s+"); + boost::sregex_token_iterator i(s.begin(), s.end(), re, -1); + boost::sregex_token_iterator j; + + unsigned count = 0; + while(i != j) + { + cout << *i++ << endl; + count++; + } + cout << "There were " << count << " tokens found." << endl; + + }while(argc == 1); + return 0; +} + + diff --git a/test/module/regex_token_iterator_eg_2.cpp b/test/module/regex_token_iterator_eg_2.cpp new file mode 100644 index 000000000..7a20855c1 --- /dev/null +++ b/test/module/regex_token_iterator_eg_2.cpp @@ -0,0 +1,99 @@ +/* + * + * Copyright (c) 2003-2022 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE regex_token_iterator_example_2.cpp + * VERSION see + * DESCRIPTION: regex_token_iterator example: spit out linked URL's. + */ + +#if (defined(__cpp_lib_modules) || (defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 193833135))) && !defined(TEST_HEADERS) +import std; +#elif defined(MSVC_EXPERIMENTAL_STD_MODULE) && !defined(TEST_HEADERS) +import std.core; +#else +#include +#include +#include +#endif + +#ifdef TEST_HEADERS +#include +#else +import boost.regex; +#endif + +boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"", + boost::regex::normal | boost::regex::icase); + +void load_file(std::string& s, std::istream& is) +{ + s.erase(); + if(is.bad()) return; + // + // attempt to grow string buffer to match file size, + // this doesn't always work... + s.reserve(static_cast(is.rdbuf()->in_avail())); + char c; + while(is.get(c)) + { + // use logarithmic growth stategy, in case + // in_avail (above) returned zero: + if(s.capacity() == s.size()) + s.reserve(s.capacity() * 3); + s.append(1, c); + } +} + +int main(int argc, char** argv) +{ + std::string s; + int i; + for(i = 1; i < argc; ++i) + { + std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; + s.erase(); + std::ifstream is(argv[i]); + load_file(s, is); + is.close(); + boost::sregex_token_iterator i(s.begin(), s.end(), e, 1); + boost::sregex_token_iterator j; + while(i != j) + { + std::cout << *i++ << std::endl; + } + } + // + // alternative method: + // test the array-literal constructor, and split out the whole + // match as well as $1.... + // + for(i = 1; i < argc; ++i) + { + std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; + s.erase(); + std::ifstream is(argv[i]); + load_file(s, is); + is.close(); + const int subs[] = {1, 0,}; + boost::sregex_token_iterator i(s.begin(), s.end(), e, subs); + boost::sregex_token_iterator j; + while(i != j) + { + std::cout << *i++ << std::endl; + } + } + + return 0; +} + + diff --git a/test/module/test_clang.sh b/test/module/test_clang.sh new file mode 100755 index 000000000..ef30af8bd --- /dev/null +++ b/test/module/test_clang.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# +# Builds all of the tests in this folder using clang modules +# +: ${CXX:="clang++"} +: ${CXXFLAGS:="-std=c++20 -g -I../../../.."} + +rm *.o *.pcm *.exe + +cmd="$CXX $CXXFLAGS -x c++-module ../../module/regex.cxx --precompile -o boost.regex.pcm" +echo $cmd +$cmd || exit 1 +cmd="$CXX $CXXFLAGS boost.regex.pcm -c -o regex.o" +echo $cmd +$cmd || exit 1 +cmd="$CXX $CXXFLAGS -fprebuilt-module-path=. -c ../../module/*.cpp" +echo $cmd +$cmd || exit 1 + + +for file in *.cpp; do + +cmd="$CXX $CXXFLAGS -fprebuilt-module-path=. $file *.o -o ${file%.*}.exe" +echo $cmd +$cmd || exit 1 + +done diff --git a/test/named_subexpressions/named_subexpressions_test.cpp b/test/named_subexpressions/named_subexpressions_test.cpp index a92c02b84..5bd38fbc6 100644 --- a/test/named_subexpressions/named_subexpressions_test.cpp +++ b/test/named_subexpressions/named_subexpressions_test.cpp @@ -106,7 +106,9 @@ void test_named_subexpressions(charT) int cpp_main( int , char* [] ) { test_named_subexpressions(char(0)); +#if !defined(BOOST_NO_WREGEX) test_named_subexpressions(wchar_t(0)); +#endif return 0; } diff --git a/test/noeh_test/Jamfile.v2 b/test/noeh_test/Jamfile.v2 index dcaa84b96..e95c736ea 100644 --- a/test/noeh_test/Jamfile.v2 +++ b/test/noeh_test/Jamfile.v2 @@ -24,23 +24,8 @@ project lib boost_regex_noeh : - ../../src/c_regex_traits.cpp - ../../src/cpp_regex_traits.cpp - ../../src/cregex.cpp - ../../src/fileiter.cpp - ../../src/icu.cpp - ../../src/instances.cpp ../../src/posix_api.cpp - ../../src/regex.cpp - ../../src/regex_debug.cpp - ../../src/regex_raw_buffer.cpp - ../../src/regex_traits_defaults.cpp - ../../src/static_mutex.cpp - ../../src/w32_regex_traits.cpp - ../../src/wc_regex_traits.cpp ../../src/wide_posix_api.cpp - ../../src/winstances.cpp - ../../src/usinstances.cpp ../../build//icu_options : static diff --git a/test/object_cache/object_cache_test.cpp b/test/object_cache/object_cache_test.cpp index 50d883be6..6575ac99f 100644 --- a/test/object_cache/object_cache_test.cpp +++ b/test/object_cache/object_cache_test.cpp @@ -15,7 +15,14 @@ * VERSION see * DESCRIPTION: Test code for a generic object cache. */ -#include +#include +#ifdef BOOST_REGEX_CXX03 +#include +#define SP_NS boost +#else +#include +#define SP_NS std +#endif #include #include "../test_macros.hpp" @@ -49,7 +56,7 @@ int cpp_main(int /*argc*/, char * /*argv*/[]) int i; for(i = 0; i < 20; ++i) { - boost::shared_ptr p = boost::object_cache::get(i, max_cache_size); + SP_NS::shared_ptr p = boost::object_cache::get(i, max_cache_size); BOOST_CHECK(p->value() == i); p = boost::object_cache::get(i, max_cache_size); BOOST_CHECK(p->value() == i); @@ -64,7 +71,7 @@ int cpp_main(int /*argc*/, char * /*argv*/[]) { for(i = 20 - max_cache_size; i < 20; ++i) { - boost::shared_ptr p = boost::object_cache::get(i, max_cache_size); + SP_NS::shared_ptr p = boost::object_cache::get(i, max_cache_size); BOOST_CHECK(p->value() == i); p = boost::object_cache::get(i, max_cache_size); BOOST_CHECK(p->value() == i); diff --git a/test/quick.cpp b/test/quick.cpp index 0598823d6..649339c70 100644 --- a/test/quick.cpp +++ b/test/quick.cpp @@ -10,7 +10,7 @@ // See library home page at http://www.boost.org/libs/regex #include -#include +#include #include bool validate_card_format(const std::string& s) @@ -37,19 +37,19 @@ int main() { std::string s[ 4 ] = { "0000111122223333", "0000 1111 2222 3333", "0000-1111-2222-3333", "000-1111-2222-3333" }; - BOOST_TEST( !validate_card_format( s[0] ) ); - BOOST_TEST_EQ( machine_readable_card_number( s[0] ), s[0] ); - BOOST_TEST_EQ( human_readable_card_number( s[0] ), s[2] ); + assert(!validate_card_format(s[0])); + assert(machine_readable_card_number(s[0]) == s[0]); + assert(human_readable_card_number(s[0]) == s[2]); - BOOST_TEST( validate_card_format( s[1] ) ); - BOOST_TEST_EQ( machine_readable_card_number( s[1] ), s[0] ); - BOOST_TEST_EQ( human_readable_card_number( s[1] ), s[2] ); + assert(validate_card_format(s[1])); + assert(machine_readable_card_number(s[1]) == s[0]); + assert(human_readable_card_number(s[1]) == s[2]); - BOOST_TEST( validate_card_format( s[2] ) ); - BOOST_TEST_EQ( machine_readable_card_number( s[2] ), s[0] ); - BOOST_TEST_EQ( human_readable_card_number( s[2] ), s[2] ); + assert(validate_card_format(s[2])); + assert(machine_readable_card_number(s[2]) == s[0]); + assert(human_readable_card_number(s[2]) == s[2]); - BOOST_TEST( !validate_card_format( s[3] ) ); + assert(!validate_card_format(s[3])); - return boost::report_errors(); + return 0; } diff --git a/test/quick_icu.cpp b/test/quick_icu.cpp new file mode 100644 index 000000000..74058c00c --- /dev/null +++ b/test/quick_icu.cpp @@ -0,0 +1,55 @@ + +// Copyright 1998-2002 John Maddock +// Copyright 2017 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +// See library home page at http://www.boost.org/libs/regex + +#include +#include +#include + +bool validate_card_format(const std::string& s) +{ + static const boost::u32regex e = boost::make_u32regex("(\\d{4}[- ]){3}\\d{4}"); + return boost::u32regex_match(s, e); +} + +const boost::u32regex card_rx = boost::make_u32regex("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z"); +const std::string machine_format("\\1\\2\\3\\4"); +const std::string human_format("\\1-\\2-\\3-\\4"); + +std::string machine_readable_card_number(const std::string& s) +{ + return boost::u32regex_replace(s, card_rx, machine_format, boost::match_default | boost::format_sed); +} + +std::string human_readable_card_number(const std::string& s) +{ + return boost::u32regex_replace(s, card_rx, human_format, boost::match_default | boost::format_sed); +} + +int main() +{ + std::string s[ 4 ] = { "0000111122223333", "0000 1111 2222 3333", "0000-1111-2222-3333", "000-1111-2222-3333" }; + + assert( !validate_card_format( s[0] ) ); + assert( machine_readable_card_number( s[0] ) == s[0] ); + assert( human_readable_card_number( s[0] ) == s[2] ); + + assert( validate_card_format( s[1] ) ); + assert( machine_readable_card_number( s[1] ) == s[0] ); + assert( human_readable_card_number( s[1] ) == s[2] ); + + assert( validate_card_format( s[2] ) ); + assert( machine_readable_card_number( s[2] ) == s[0] ); + assert( human_readable_card_number( s[2] ) == s[2] ); + + assert( !validate_card_format( s[3] ) ); + + return 0; +} diff --git a/test/regex_replace_overflow.cpp b/test/regex_replace_overflow.cpp new file mode 100644 index 000000000..300b8d1b8 --- /dev/null +++ b/test/regex_replace_overflow.cpp @@ -0,0 +1,29 @@ +#include + +#include +#include +#include +#include + +#include + +int main() { + std::string format_string = "$2$2147483647"; + boost::regex e2("(<)|(>)|(&)|\\r"); + + std::string in = + "#include " + "" + "int main() { std::cout << \"Hello, world!\\n\"; }"; + + std::ostringstream t( std::ios::out | std::ios::binary ); + std::ostream_iterator oi( t ); + + boost::regex_replace(oi, in.begin(), in.end(), e2, format_string, + boost::match_default | boost::format_all); + + std::string s(t.str()); + + BOOST_TEST(!s.empty()); + return boost::report_errors(); +} diff --git a/test/regress/basic_tests.cpp b/test/regress/basic_tests.cpp index 25f00c24c..f8a0952db 100644 --- a/test/regress/basic_tests.cpp +++ b/test/regress/basic_tests.cpp @@ -16,14 +16,6 @@ * DESCRIPTION: main regex test declarations. */ -#include - -#if BOOST_WORKAROUND(__BORLANDC__, < 0x560) -// we get unresolved externals from basic_string -// unless we do this, a well known Borland bug: -#define _RWSTD_COMPILE_INSTANTIATE -#endif - #include "test.hpp" #ifdef BOOST_MSVC diff --git a/test/regress/info.hpp b/test/regress/info.hpp index 5c08961e2..beca8e5da 100644 --- a/test/regress/info.hpp +++ b/test/regress/info.hpp @@ -112,7 +112,7 @@ class test_info_base boost::call_once(f,&init_data); return do_get_data(); #else - static data_type d; + static data_type d = {}; return d; #endif } diff --git a/test/regress/main.cpp b/test/regress/main.cpp index e3e3dd7fe..3f2f82f3f 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -139,10 +139,10 @@ int cpp_main(int /*argc*/, char * /*argv*/[]) int* get_array_data() { - static boost::thread_specific_ptr > tp; + static boost::thread_specific_ptr > tp; if(tp.get() == 0) - tp.reset(new boost::array); + tp.reset(new boost::array); return tp.get()->data(); } @@ -160,9 +160,9 @@ const int* make_array(int first, ...) #ifdef TEST_THREADS int* data = get_array_data(); #else - static int data[200]; + static int data[800]; #endif - std::fill_n(data, 200, -2); + std::fill_n(data, 800, -2); va_list ap; va_start(ap, first); // @@ -201,21 +201,6 @@ void test(const char& c, const test_invalid_regex_tag& tag) do_test(c, tag); } -#ifndef BOOST_NO_WREGEX -void test(const wchar_t& c, const test_regex_replace_tag& tag) -{ - do_test(c, tag); -} -void test(const wchar_t& c, const test_regex_search_tag& tag) -{ - do_test(c, tag); -} -void test(const wchar_t& c, const test_invalid_regex_tag& tag) -{ - do_test(c, tag); -} -#endif - #ifdef BOOST_NO_EXCEPTIONS namespace boost{ @@ -232,6 +217,13 @@ int main(int argc, char * argv[]) return cpp_main(argc, argv); } +#elif defined(BOOST_REGEX_STANDALONE) + +int main(int argc, char* argv[]) +{ + return cpp_main(argc, argv); +} + #else #include diff --git a/test/regress/test.hpp b/test/regress/test.hpp index d9224e8eb..eebcdbe93 100644 --- a/test/regress/test.hpp +++ b/test/regress/test.hpp @@ -27,6 +27,23 @@ #pragma warning(disable:1418 981 383 1419 7) #endif +#ifndef BOOST_WORKAROUND +#define BOOST_WORKAROUND(x, y) false +#endif +#ifdef BOOST_REGEX_STANDALONE +#include + +namespace boost { using std::uint32_t; } + +#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y) +#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y) +#define BOOST_DO_JOIN2(X, Y) X##Y + +#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +#define BOOST_DO_STRINGIZE(X) #X + +#endif + #include #include "test_not_regex.hpp" #include "test_regex_search.hpp" @@ -99,11 +116,11 @@ void do_test(const charT& c, const tagT& tag) boost::call_once(f, proc); #endif if(test_locale::cpp_locale_state() == test_locale::test_with_locale) - e1.imbue(test_locale::cpp_locale()); + (void)e1.imbue(test_locale::cpp_locale()); if(test_locale::cpp_locale_state() != test_locale::no_test) test(e1, tag); #endif -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x560) #if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) && defined(TEST_THREADS) // typeid appears to fail in multithreaded environments: test_info::set_typename(""); diff --git a/test/regress/test_alt.cpp b/test/regress/test_alt.cpp index 7eb187fc0..b96e70a52 100644 --- a/test/regress/test_alt.cpp +++ b/test/regress/test_alt.cpp @@ -51,5 +51,7 @@ void test_alt() TEST_REGEX_SEARCH("a\nb", grep, "a", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("a\nb", egrep, "b", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("a\nb", egrep, "a", match_default, make_array(0, 1, -2, -2)); + // DOS protection: + TEST_INVALID_REGEX("(|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||(?0))", perl); } diff --git a/test/regress/test_anchors.cpp b/test/regress/test_anchors.cpp index b2aabdfd7..b7d2a4f7b 100644 --- a/test/regress/test_anchors.cpp +++ b/test/regress/test_anchors.cpp @@ -59,9 +59,11 @@ void test_anchors() // TEST_REGEX_SEARCH("^.", boost::regex::extended, " \n \r\n ", match_default, make_array(0, 1, -2, 3, 4, -2, 7, 8, -2, -2)); TEST_REGEX_SEARCH(".$", boost::regex::extended, " \n \r\n ", match_default, make_array(1, 2, -2, 4, 5, -2, 8, 9, -2, -2)); -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x560) TEST_REGEX_SEARCH_W(L"^.", boost::regex::extended, L"\x2028 \x2028", match_default, make_array(0, 1, -2, 1, 2, -2, -2)); TEST_REGEX_SEARCH_W(L".$", boost::regex::extended, L" \x2028 \x2028", match_default, make_array(0, 1, -2, 2, 3, -2, 3, 4, -2, -2)); #endif + // DOS attack prevention: + TEST_INVALID_REGEX("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", perl); } diff --git a/test/regress/test_backrefs.cpp b/test/regress/test_backrefs.cpp index 58f4dedb2..aafa81012 100644 --- a/test/regress/test_backrefs.cpp +++ b/test/regress/test_backrefs.cpp @@ -19,13 +19,19 @@ void test_backrefs() { using namespace boost::regex_constants; TEST_INVALID_REGEX("a(b)\\2c", perl); +#ifdef BOOST_REGEX_CXX03 TEST_INVALID_REGEX("a(b\\1)c", perl); +#endif TEST_REGEX_SEARCH("a(b*)c\\1d", perl, "abbcbbd", match_default, make_array(0, 7, 1, 3, -2, -2)); TEST_REGEX_SEARCH("a(b*)c\\1d", perl, "abbcbd", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a(b*)c\\1d", perl, "abbcbbbd", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^(.)\\1", perl, "abc", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a([bc])\\1d", perl, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); TEST_REGEX_SEARCH("a\\([bc]\\)\\1d", basic, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); +#ifndef BOOST_REGEX_CXX03 + TEST_REGEX_SEARCH("(\\2two|(one))+", perl, "oneonetwo", match_default, make_array(0, 9, 3, 9, 0, 3, -2, -2)); + TEST_INVALID_REGEX("(\\3two|(one))+", perl); +#endif // strictly speaking this is at best ambiguous, at worst wrong, this is what most // re implimentations will match though. TEST_REGEX_SEARCH("a(([bc])\\2)*d", perl, "abbccd", match_default, make_array(0, 6, 3, 5, 3, 4, -2, -2)); @@ -59,7 +65,9 @@ void test_backrefs() // Now test the \g version: // TEST_INVALID_REGEX("a(b)\\g2c", perl); +#ifdef BOOST_REGEX_CXX03 TEST_INVALID_REGEX("a(b\\g1)c", perl); +#endif TEST_INVALID_REGEX("a(b\\g0)c", perl); TEST_REGEX_SEARCH("a(b*)c\\g1d", perl, "abbcbbd", match_default, make_array(0, 7, 1, 3, -2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g1d", perl, "abbcbd", match_default, make_array(-2, -2)); @@ -67,8 +75,14 @@ void test_backrefs() TEST_REGEX_SEARCH("^(.)\\g1", perl, "abc", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a([bc])\\g1d", perl, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); TEST_INVALID_REGEX("a(b)\\g{2}c", perl); +#ifdef BOOST_REGEX_CXX03 TEST_INVALID_REGEX("a(b\\g{1})c", perl); +#endif TEST_INVALID_REGEX("a(b\\g{0})c", perl); +#ifndef BOOST_REGEX_CXX03 + TEST_REGEX_SEARCH("(\\g{2}two|(one))+", perl, "oneonetwo", match_default, make_array(0, 9, 3, 9, 0, 3, -2, -2)); + TEST_INVALID_REGEX("(\\g{3}two|(one))+", perl); +#endif TEST_REGEX_SEARCH("a(b*)c\\g{1}d", perl, "abbcbbd", match_default, make_array(0, 7, 1, 3, -2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g{1}d", perl, "abbcbd", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g{1}d", perl, "abbcbbbd", match_default, make_array(-2, -2)); @@ -76,7 +90,9 @@ void test_backrefs() TEST_REGEX_SEARCH("a([bc])\\g{1}d", perl, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); // And again but with negative indexes: TEST_INVALID_REGEX("a(b)\\g-2c", perl); +#ifdef BOOST_REGEX_CXX03 TEST_INVALID_REGEX("a(b\\g-1)c", perl); +#endif TEST_INVALID_REGEX("a(b\\g-0)c", perl); TEST_REGEX_SEARCH("a(b*)c\\g-1d", perl, "abbcbbd", match_default, make_array(0, 7, 1, 3, -2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g-1d", perl, "abbcbd", match_default, make_array(-2, -2)); @@ -84,7 +100,9 @@ void test_backrefs() TEST_REGEX_SEARCH("^(.)\\g1", perl, "abc", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a([bc])\\g1d", perl, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); TEST_INVALID_REGEX("a(b)\\g{-2}c", perl); +#ifdef BOOST_REGEX_CXX03 TEST_INVALID_REGEX("a(b\\g{-1})c", perl); +#endif TEST_REGEX_SEARCH("a(b*)c\\g{-1}d", perl, "abbcbbd", match_default, make_array(0, 7, 1, 3, -2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g{-1}d", perl, "abbcbd", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a(b*)c\\g{-1}d", perl, "abbcbbbd", match_default, make_array(-2, -2)); @@ -103,5 +121,10 @@ void test_backrefs() TEST_REGEX_SEARCH("a(?'foo'(?'bar'(?'bb'(?'aa'b*))))c\\g{foo}d", perl, "abbcbbbd", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^(?'foo'.)\\g{foo}", perl, "abc", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a(?'foo'[bc])\\g{foo}d", perl, "abcdabbd", match_default, make_array(4, 8, 5, 6, -2, -2)); + + // Bug cases from https://github.com/boostorg/regex/issues/75 + TEST_REGEX_SEARCH("(?:(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)\\g{-1}|WORKING)", perl, "WORKING", match_default, make_array(0, 7, -2, -2)); + TEST_REGEX_SEARCH("(?:(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)(z)\\g{-1}|WORKING)", perl, "WORKING", match_default, make_array(0, 7, -2, -2)); + } diff --git a/test/regress/test_deprecated.cpp b/test/regress/test_deprecated.cpp index 493c02b2e..6a04a3ecb 100644 --- a/test/regress/test_deprecated.cpp +++ b/test/regress/test_deprecated.cpp @@ -99,7 +99,7 @@ void test_deprecated(const char&, const test_regex_search_tag&) BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" did not compile with the POSIX C API.", char); return; } - // try and find the first occurance: + // try and find the first occurrence: static const unsigned max_subs = 100; boost::regmatch_t matches[max_subs]; if(boost::regexecA(&re, search_text.c_str(), max_subs, matches, posix_match_options) == 0) @@ -131,76 +131,11 @@ void test_deprecated(const char&, const test_regex_search_tag&) // clean up whatever: boost::regfreeA(&re); - // - // now try the RegEx class: - // - if(test_info::syntax_options() & ~boost::regex::icase) - return; -#ifndef BOOST_NO_EXCEPTIONS - try -#endif - { - boost::RegEx e(expression, (test_info::syntax_options() & boost::regex::icase) != 0); - if(e.error_code()) - { - BOOST_REGEX_TEST_ERROR("Expression did not compile when it should have done, error code = " << e.error_code(), char); - } - if(e.Search(search_text, test_info::match_options())) - { - int i = 0; - while(results[i*2] != -2) - { - if(e.Matched(i)) - { - if(results[2*i] != static_cast(e.Position(i))) - { - BOOST_REGEX_TEST_ERROR("Mismatch in start of subexpression " << i << " found with the RegEx class (found " << e.Position(i) << " expected " << results[2*i] << ").", char); - } - if(results[2*i+1] != static_cast(e.Position(i) + e.Length(i))) - { - BOOST_REGEX_TEST_ERROR("Mismatch in end of subexpression " << i << " found with the RegEx class (found " << e.Position(i) + e.Length(i) << " expected " << results[2*i+1] << ").", char); - } - } - else - { - if(results[2*i] >= 0) - { - BOOST_REGEX_TEST_ERROR("Mismatch in start of subexpression " << i << " found with the RegEx class (found " << e.Position(i) << " expected " << results[2*i] << ").", char); - } - if(results[2*i+1] >= 0) - { - BOOST_REGEX_TEST_ERROR("Mismatch in end of subexpression " << i << " found with the RegEx class (found " << e.Position(i) + e.Length(i) << " expected " << results[2*i+1] << ").", char); - } - } - ++i; - } - } - else - { - if(results[0] >= 0) - { - BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" was not found with class RegEx.", char); - } - } - } -#ifndef BOOST_NO_EXCEPTIONS - catch(const boost::bad_expression& r) - { - BOOST_REGEX_TEST_ERROR("Expression did not compile with RegEx class: " << r.what(), char); - } - catch(const std::runtime_error& r) - { - BOOST_REGEX_TEST_ERROR("Unexpected std::runtime_error : " << r.what(), char); - } - catch(const std::exception& r) - { - BOOST_REGEX_TEST_ERROR("Unexpected std::exception: " << r.what(), char); - } - catch(...) - { - BOOST_REGEX_TEST_ERROR("Unexpected exception of unknown type", char); - } -#endif +} + +std::string to_narrow_string(std::wstring const& w) +{ + return std::string(w.begin(), w.end()); } void test_deprecated(const wchar_t&, const test_regex_search_tag&) @@ -224,10 +159,10 @@ void test_deprecated(const wchar_t&, const test_regex_search_tag&) boost::regex_tW re; if(boost::regcompW(&re, expression.c_str(), posix_options) != 0) { - BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" did not compile with the POSIX C API.", wchar_t); + BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" did not compile with the POSIX C API.", wchar_t); return; } - // try and find the first occurance: + // try and find the first occurrence: static const unsigned max_subs = 100; boost::regmatch_t matches[max_subs]; if(boost::regexecW(&re, search_text.c_str(), max_subs, matches, posix_match_options) == 0) @@ -253,7 +188,7 @@ void test_deprecated(const wchar_t&, const test_regex_search_tag&) { if(results[0] >= 0) { - BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" was not found with the POSIX C API.", wchar_t); + BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" was not found with the POSIX C API.", wchar_t); } } // clean up whatever: @@ -300,46 +235,6 @@ void test_deprecated(const char&, const test_invalid_regex_tag&) } } } - // - // now try the RegEx class: - // - if(test_info::syntax_options() & ~boost::regex::icase) - return; - bool have_catch = false; -#ifndef BOOST_NO_EXCEPTIONS - try -#endif - { - boost::RegEx e(expression, (test_info::syntax_options() & boost::regex::icase) != 0); - if(e.error_code()) - have_catch = true; - } -#ifndef BOOST_NO_EXCEPTIONS - catch(const boost::bad_expression&) - { - have_catch = true; - } - catch(const std::runtime_error& r) - { - have_catch = true; - BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::runtime_error instead: " << r.what(), char); - } - catch(const std::exception& r) - { - have_catch = true; - BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but a std::exception instead: " << r.what(), char); - } - catch(...) - { - have_catch = true; - BOOST_REGEX_TEST_ERROR("Expected a bad_expression exception, but got an exception of unknown type instead", char); - } -#endif - if(!have_catch) - { - // oops expected exception was not thrown: - BOOST_REGEX_TEST_ERROR("Expected an exception, but didn't find one.", char); - } } void test_deprecated(const wchar_t&, const test_invalid_regex_tag&) @@ -358,7 +253,7 @@ void test_deprecated(const wchar_t&, const test_invalid_regex_tag&) if(code == 0) { boost::regfreeW(&re); - BOOST_REGEX_TEST_ERROR("Expression : \"" << expression.c_str() << "\" unexpectedly compiled with the POSIX C API.", wchar_t); + BOOST_REGEX_TEST_ERROR("Expression : \"" << to_narrow_string(expression.c_str()) << "\" unexpectedly compiled with the POSIX C API.", wchar_t); } else { diff --git a/test/regress/test_escapes.cpp b/test/regress/test_escapes.cpp index c9bc951b1..a8a2b859d 100644 --- a/test/regress/test_escapes.cpp +++ b/test/regress/test_escapes.cpp @@ -61,7 +61,7 @@ void test_character_escapes() TEST_REGEX_SEARCH("a\\Q+*?\\\\Eb", perl, "a+*?\\b", match_default, make_array(0, 6, -2, -2)); TEST_REGEX_SEARCH("\\C+", perl, "abcde", match_default, make_array(0, 5, -2, -2)); TEST_REGEX_SEARCH("\\X+", perl, "abcde", match_default, make_array(0, 5, -2, -2)); -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x560) TEST_REGEX_SEARCH_W(L"\\X", perl, L"a\x0300\x0301", match_default, make_array(0, 3, -2, -2)); #endif // unknown escape sequences match themselves: @@ -112,6 +112,7 @@ void test_assertion_escapes() TEST_REGEX_SEARCH("\\By\\b", perl, "xy", match_default, make_array(1, 2, -2, -2)); TEST_REGEX_SEARCH("\\by\\B", perl, "yz", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("\\B\\*\\B", perl, " * ", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH(".\\B.", perl, "!?", match_default, make_array(0, 2, -2, -2)); // buffer operators: TEST_REGEX_SEARCH("\\`abc", perl, "abc", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("\\`abc", perl, "\nabc", match_default, make_array(-2, -2)); diff --git a/test/regress/test_icu.cpp b/test/regress/test_icu.cpp index 1ef9fa962..95e2bf547 100644 --- a/test/regress/test_icu.cpp +++ b/test/regress/test_icu.cpp @@ -20,9 +20,19 @@ // We can only build this if we have ICU support: // #include + #if defined(BOOST_HAS_ICU) && !defined(BOOST_NO_STD_WSTRING) #include +#ifndef BOOST_REGEX_STANDALONE +#include +#else +#include +namespace boost { namespace mpl { + template + using int_ = ::std::integral_constant; +} } +#endif #include "test.hpp" namespace unnecessary_fix{ @@ -86,7 +96,7 @@ void compare_result(const MR1& w1, const MR2& w2, boost::mpl::int_<2> const*) { BOOST_REGEX_TEST_ERROR("Matched mismatch in match_results class", UChar32); } - if((w1.position(i) != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2.prefix().first), iterator_type(w2[i].first))) || (w1.length(i) != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2[i].first), iterator_type(w2[i].second)))) + if((w1.position(i) != std::distance(iterator_type(w2.prefix().first), iterator_type(w2[i].first))) || (w1.length(i) != std::distance(iterator_type(w2[i].first), iterator_type(w2[i].second)))) { BOOST_REGEX_TEST_ERROR("Iterator mismatch in match_results class", UChar32); } @@ -106,7 +116,7 @@ void compare_result(const MR1& w1, const MR2& w2, boost::mpl::int_<2> const*) { BOOST_REGEX_TEST_ERROR("Matched mismatch in match_results class", UChar32); } - if ((w1.position("abc") != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2.prefix().first), iterator_type(w2["abc"].first))) || (w1.length("abc") != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2["abc"].first), iterator_type(w2["abc"].second)))) + if ((w1.position("abc") != std::distance(iterator_type(w2.prefix().first), iterator_type(w2["abc"].first))) || (w1.length("abc") != std::distance(iterator_type(w2["abc"].first), iterator_type(w2["abc"].second)))) { BOOST_REGEX_TEST_ERROR("Iterator mismatch in match_results class", UChar32); } @@ -121,7 +131,7 @@ void compare_result(const MR1& w1, const MR2& w2, boost::mpl::int_<2> const*) { BOOST_REGEX_TEST_ERROR("Matched mismatch in match_results class", UChar32); } - if ((w1.position("N") != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2.prefix().first), iterator_type(w2["N"].first))) || (w1.length("N") != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2["N"].first), iterator_type(w2["N"].second)))) + if ((w1.position("N") != std::distance(iterator_type(w2.prefix().first), iterator_type(w2["N"].first))) || (w1.length("N") != std::distance(iterator_type(w2["N"].first), iterator_type(w2["N"].second)))) { BOOST_REGEX_TEST_ERROR("Iterator mismatch in match_results class", UChar32); } @@ -150,7 +160,7 @@ void compare_result(const MR1& w1, const MR2& w2, boost::mpl::int_<1> const*) { BOOST_REGEX_TEST_ERROR("Matched mismatch in match_results class", UChar32); } - if((w1.position(i) != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2.prefix().first), iterator_type(w2[i].first))) || (w1.length(i) != boost::BOOST_REGEX_DETAIL_NS::distance(iterator_type(w2[i].first), iterator_type(w2[i].second)))) + if((w1.position(i) != std::distance(iterator_type(w2.prefix().first), iterator_type(w2[i].first))) || (w1.length(i) != std::distance(iterator_type(w2[i].first), iterator_type(w2[i].second)))) { BOOST_REGEX_TEST_ERROR("Iterator mismatch in match_results class", UChar32); } diff --git a/test/regress/test_locale.cpp b/test/regress/test_locale.cpp index 54cd56aba..36ab74438 100644 --- a/test/regress/test_locale.cpp +++ b/test/regress/test_locale.cpp @@ -188,7 +188,7 @@ void test_en_locale(const char* name, boost::uint32_t lcid) TEST_REGEX_SEARCH_L("[[:graph:]]+", perl, "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe", match_default, make_array(0, 93, -2, -2)); TEST_REGEX_SEARCH_L("[[:word:]]+", perl, "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf8\xf9\xfa\xfb\xfc\xfd\xfe", match_default, make_array(0, 61, -2, -2)); // collation sensitive ranges: -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) // these tests are disabled for Borland C++: a bug in std::collate // causes these tests to crash (pointer overrun in std::collate::do_transform). TEST_REGEX_SEARCH_L("[a-z]+", perl|::boost::regex_constants::collate, "\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf8\xf9\xfa\xfb\xfc", match_default, make_array(0, 28, -2, -2)); diff --git a/test/regress/test_mfc.cpp b/test/regress/test_mfc.cpp index 0d855cef8..2590f4f12 100644 --- a/test/regress/test_mfc.cpp +++ b/test/regress/test_mfc.cpp @@ -19,7 +19,7 @@ // // We can only build this if we have ATL support: // -#include +#include #ifdef TEST_MFC @@ -170,21 +170,21 @@ void test_mfc(const char&, const test_regex_search_tag&) #pragma warning(push) #pragma warning(disable:4244) #endif - if(boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->first) != last_end2) + if(std::distance(s.GetString(), tstart2->first) != last_end2) { BOOST_REGEX_TEST_ERROR( "Error in location of start of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->first) + << std::distance(s.GetString(), tstart2->first) << ", expected: " << last_end2 << ".", char); } int expected_end = static_cast(answer_table[0] < 0 ? s.GetLength() : answer_table[0]); - if(boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->second) != expected_end) + if(std::distance(s.GetString(), tstart2->second) != expected_end) { BOOST_REGEX_TEST_ERROR( "Error in location of end2 of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->second) + << std::distance(s.GetString(), tstart2->second) << ", expected: " << expected_end << ".", char); @@ -348,21 +348,21 @@ void test_mfc(const wchar_t&, const test_regex_search_tag&) #pragma warning(push) #pragma warning(disable:4244) #endif - if(boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->first) != last_end2) + if(std::distance(s.GetString(), tstart2->first) != last_end2) { BOOST_REGEX_TEST_ERROR( "Error in location of start of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->first) + << std::distance(s.GetString(), tstart2->first) << ", expected: " << last_end2 << ".", wchar_t); } int expected_end = static_cast(answer_table[0] < 0 ? s.GetLength() : answer_table[0]); - if(boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->second) != expected_end) + if(std::distance(s.GetString(), tstart2->second) != expected_end) { BOOST_REGEX_TEST_ERROR( "Error in location of end2 of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(s.GetString(), tstart2->second) + << std::distance(s.GetString(), tstart2->second) << ", expected: " << expected_end << ".", wchar_t); diff --git a/test/regress/test_partial_match.hpp b/test/regress/test_partial_match.hpp index 19e45866e..dddf9e232 100644 --- a/test/regress/test_partial_match.hpp +++ b/test/regress/test_partial_match.hpp @@ -47,18 +47,18 @@ void test_sub_match(const boost::sub_match& sub, Bidirect } else { - if(boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.first) != answer_table[2*i]) + if(std::distance(base, sub.first) != answer_table[2*i]) { BOOST_REGEX_TEST_ERROR( "Error in start location of sub-expression " - << i << ", found " << boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.first) + << i << ", found " << std::distance(base, sub.first) << ", expected " << answer_table[2*i] << ".", charT); } - if(boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.second) != answer_table[1+ 2*i]) + if(std::distance(base, sub.second) != answer_table[1+ 2*i]) { BOOST_REGEX_TEST_ERROR( "Error in end location of sub-expression " - << i << ", found " << boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.second) + << i << ", found " << std::distance(base, sub.second) << ", expected " << answer_table[1 + 2*i] << ".", charT); } } @@ -238,21 +238,21 @@ void test_regex_token_iterator(boost::basic_regex& r) #pragma warning(push) #pragma warning(disable:4244) #endif - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) != last_end2) + if(std::distance(search_text.begin(), start2->first) != last_end2) { BOOST_REGEX_TEST_ERROR( "Error in location of start of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) + << std::distance(search_text.begin(), start2->first) << ", expected: " << last_end2 << ".", charT); } int expected_end = static_cast(answer_table[0] < 0 ? search_text.size() : answer_table[0]); - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) != expected_end) + if(std::distance(search_text.begin(), start2->second) != expected_end) { BOOST_REGEX_TEST_ERROR( "Error in location of end2 of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) + << std::distance(search_text.begin(), start2->second) << ", expected: " << expected_end << ".", charT); diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 6a53256d1..b3b761519 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -58,6 +58,8 @@ void test_independent_subs() TEST_REGEX_SEARCH("word (?>[a-zA-Z0-9]+ ){0,30}otherword", perl, "word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I really really hope otherword", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("((?>Z)+|A)+", perl, "ZABCDEFG", match_default, make_array(0, 2, 1, 2, -2, -2)); TEST_INVALID_REGEX("((?>)+|A)+", perl); + // Bug https://github.com/boostorg/regex/issues/140: + TEST_REGEX_SEARCH("1?+(?#)1", perl, "22113", match_default, make_array(2, 4, -2, -2)); } void test_conditionals() @@ -935,6 +937,7 @@ void test_recursion() TEST_REGEX_SEARCH("namespace\\s+(\\w+)\\s+(\\{(?:[^{}]*(?:(?2)[^{}]*)*)?\\})", perl, "namespace one { namespace two { int foo(){} } { {{{ } } } } {}}", match_default, make_array(0, 64, 10, 13, 14, 64, -2, -2)); TEST_INVALID_REGEX("((?1)|a)", perl); TEST_REGEX_SEARCH("a(?0)?", perl, "aaaaa", match_default, make_array(0, 5, -2, -2)); + TEST_REGEX_SEARCH("((?(DEFINE)(?'a'A)(?'b'(?&a)?(?&a)))(?&b)?)", perl, "AA", match_default, make_array(0, 2, 0, 2, -1, -1, -2, 2, 2, 2, 2, -1, -1, -2, -2)); // Recursion to a named sub with a name that is used multiple times: TEST_REGEX_SEARCH("(?:(?a+)|(?b+))\\.(?&A)", perl, "aaaa.aa", match_default, make_array(0, 7, 0, 4, -1, -1, -2, -2)); @@ -996,6 +999,9 @@ void test_verbs() TEST_REGEX_SEARCH("AA+(*SKIP)(B|Z)|C", perl, "AAAC", match_default, make_array(3, 4, -1, -1, -2, -2)); TEST_REGEX_SEARCH("AA+(*SKIP)(B|Z)|AC", perl, "AAAC", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("AA+(*SKIP)B|C", perl, "AAAC", match_default, make_array(3, 4, -2, -2)); + + // https://github.com/boostorg/regex/issues/152 + TEST_REGEX_SEARCH("\\A((\x1f((?1) )?+)?+(*SKIP) *?(?2)*?)\\z", perl, "\x20\x1f\x1f\x20", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})", perl, "aaaxxxxxx", match_default, make_array(0, 9, -2, -2)); TEST_REGEX_SEARCH("^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})", perl, "aaa++++++", match_default, make_array(-2, -2)); diff --git a/test/regress/test_regex_search.hpp b/test/regress/test_regex_search.hpp index 16b1bf91f..f01247278 100644 --- a/test/regress/test_regex_search.hpp +++ b/test/regress/test_regex_search.hpp @@ -55,18 +55,18 @@ void test_sub_match(const boost::sub_match& sub, Bidirect } else { - if(boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.first) != answer_table[2*i]) + if(std::distance(base, sub.first) != answer_table[2*i]) { BOOST_REGEX_TEST_ERROR( "Error in start location of sub-expression " - << i << ", found " << boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.first) + << i << ", found " << std::distance(base, sub.first) << ", expected " << answer_table[2*i] << ".", charT); } - if(boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.second) != answer_table[1+ 2*i]) + if(std::distance(base, sub.second) != answer_table[1+ 2*i]) { BOOST_REGEX_TEST_ERROR( "Error in end location of sub-expression " - << i << ", found " << boost::BOOST_REGEX_DETAIL_NS::distance(base, sub.second) + << i << ", found " << std::distance(base, sub.second) << ", expected " << answer_table[1 + 2*i] << ".", charT); } } @@ -291,21 +291,21 @@ void test_regex_token_iterator(boost::basic_regex& r) #pragma warning(push) #pragma warning(disable:4244) #endif - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) != last_end2) + if(std::distance(search_text.begin(), start2->first) != last_end2) { BOOST_REGEX_TEST_ERROR( "Error in location of start of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) + << std::distance(search_text.begin(), start2->first) << ", expected: " << last_end2 << ".", charT); } int expected_end = static_cast(answer_table[0] < 0 ? search_text.size() : answer_table[0]); - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) != expected_end) + if(std::distance(search_text.begin(), start2->second) != expected_end) { BOOST_REGEX_TEST_ERROR( "Error in location of end2 of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) + << std::distance(search_text.begin(), start2->second) << ", expected: " << expected_end << ".", charT); @@ -350,21 +350,21 @@ void test_regex_token_iterator(boost::basic_regex& r) #pragma warning(push) #pragma warning(disable:4244) #endif - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) != last_end2) + if(std::distance(search_text.begin(), start2->first) != last_end2) { BOOST_REGEX_TEST_ERROR( "Error in location of start of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->first) + << std::distance(search_text.begin(), start2->first) << ", expected: " << last_end2 << ".", charT); } int expected_end = static_cast(answer_table[0] < 0 ? search_text.size() : answer_table[0]); - if(boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) != expected_end) + if(std::distance(search_text.begin(), start2->second) != expected_end) { BOOST_REGEX_TEST_ERROR( "Error in location of end2 of field split, found: " - << boost::BOOST_REGEX_DETAIL_NS::distance(search_text.begin(), start2->second) + << std::distance(search_text.begin(), start2->second) << ", expected: " << expected_end << ".", charT); diff --git a/test/regress/test_replace.cpp b/test/regress/test_replace.cpp index 635e6e30c..ba8da35b1 100644 --- a/test/regress/test_replace.cpp +++ b/test/regress/test_replace.cpp @@ -98,7 +98,7 @@ void test_replace() TEST_REGEX_REPLACE("(?a+)|(?b+)", perl, "...aaabb,,,ab*abbb?", match_default|format_all, "(?{one}A:B)C", "...ACBC,,,ACBC*ACBC?"); TEST_REGEX_REPLACE("(?a+)|(?b+)", perl, "...aaabb,,,ab*abbb?", match_default|format_all, "?{one}:B", "...B,,,B*B?"); - // move to copying unmatched data, but replace first occurance only: + // move to copying unmatched data, but replace first occurrence only: TEST_REGEX_REPLACE("a+", perl, "...aaa,,,", match_default|format_all|format_first_only, "bbb", "...bbb,,,"); TEST_REGEX_REPLACE("a+(b+)", perl, "...aaabb,,,", match_default|format_all|format_first_only, "$1", "...bb,,,"); TEST_REGEX_REPLACE("a+(b+)", perl, "...aaabb,,,ab*abbb?", match_default|format_all|format_first_only, "$1", "...bb,,,ab*abbb?"); @@ -194,5 +194,7 @@ void test_replace() TEST_REGEX_REPLACE("(a*)", perl, "aabb", match_default, "{$1}", "{aa}{}b{}b{}"); TEST_REGEX_REPLACE("(a*)", boost::regex::extended, "aabb", match_default, "{$1}", "{aa}{}b{}b{}"); TEST_REGEX_REPLACE("(a*)", boost::regex::extended, "aabb", match_default|match_posix, "{$1}", "{aa}b{}b{}"); + // DOS protection: + TEST_REGEX_REPLACE("foo", boost::regex::perl, "foobar", match_default|format_all, "(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((", "(((((((((((((((((((((bar"); } diff --git a/test/regress/test_sets.cpp b/test/regress/test_sets.cpp index 3cd7a520e..32f104505 100644 --- a/test/regress/test_sets.cpp +++ b/test/regress/test_sets.cpp @@ -170,19 +170,19 @@ void test_sets2() TEST_INVALID_REGEX("[[.NUL.]", perl); TEST_INVALID_REGEX("[[:<:]z]", perl); TEST_INVALID_REGEX("[a[:>:]]", perl); - TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "A", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]-b]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[A-[.b.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-B]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[a-[.B.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[\x61]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[\x61-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-\x63]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-[.c.]]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_INVALID_REGEX("[[:alpha:]-a]", boost::regex::extended); - TEST_INVALID_REGEX("[a-[:alpha:]]", boost::regex::extended); + TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "A", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]-b]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[A-[.b.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-B]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[a-[.B.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[\x61]", extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[\x61-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-\x63]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-[.c.]]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_INVALID_REGEX("[[:alpha:]-a]", extended); + TEST_INVALID_REGEX("[a-[:alpha:]]", extended); TEST_REGEX_SEARCH("[[.ae.]]", basic, "ae", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("[[.ae.]]", basic, "aE", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("[[.AE.]]", basic, "AE", match_default, make_array(0, 2, -2, -2)); diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 1a73fde6e..a87fa830f 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -496,5 +496,13 @@ void test_pocessive_repeats() TEST_INVALID_REGEX("(ab + + +)", perl | mod_x); TEST_INVALID_REGEX("(ab + + ?)", perl | mod_x); +#ifndef BOOST_REGEX_CXX03 + // Some bug cases from https://github.com/boostorg/regex/issues/151 + TEST_INVALID_REGEX("a|?+", perl | mod_x); + TEST_INVALID_REGEX("(?xi)a|?+", perl | mod_x); + TEST_INVALID_REGEX("(?xi)a|#\r*", perl | mod_x); + TEST_INVALID_REGEX("(?xi)|#\r*", perl | mod_x); + TEST_INVALID_REGEX("(?xi)|?+#\r*", perl | mod_x); +#endif } diff --git a/test/regress/test_tricky_cases.cpp b/test/regress/test_tricky_cases.cpp index f9cc25d1e..7ca909213 100644 --- a/test/regress/test_tricky_cases.cpp +++ b/test/regress/test_tricky_cases.cpp @@ -276,7 +276,7 @@ void test_tricky_cases3() // posix only: TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", awk, "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);", match_default, make_array(0, 53, 28, 42, -2, -2)); // now try and test some unicode specific characters: -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x560) TEST_REGEX_SEARCH_W(L"[[:unicode:]]+", perl, L"a\x0300\x0400z", match_default, make_array(1, 3, -2, -2)); TEST_REGEX_SEARCH_W(L"[\x10-\xff]", perl, L"\x0300\x0400", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH_W(L"[\01-\05]{5}", perl, L"\x0300\x0400\x0300\x0400\x0300\x0400", match_default, make_array(-2, -2)); diff --git a/test/regress/wmain.cpp b/test/regress/wmain.cpp new file mode 100644 index 000000000..a8019ea7d --- /dev/null +++ b/test/regress/wmain.cpp @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2004 + * John Maddock + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE main.cpp + * VERSION see + * DESCRIPTION: entry point for test program. + */ + +#include "test.hpp" +#include "test_locale.hpp" +#include +#include +#include + +#ifdef BOOST_HAS_ICU +#include +#endif + +#ifdef TEST_THREADS +#include +#include +#include +#include +#include + +int* get_array_data(); + +#endif + +#ifndef BOOST_NO_WREGEX +void test(const wchar_t& c, const test_regex_replace_tag& tag) +{ + do_test(c, tag); +} +void test(const wchar_t& c, const test_regex_search_tag& tag) +{ + do_test(c, tag); +} +void test(const wchar_t& c, const test_invalid_regex_tag& tag) +{ + do_test(c, tag); +} +#endif + diff --git a/test/static_mutex/static_mutex_test.cpp b/test/static_mutex/static_mutex_test.cpp deleted file mode 100644 index f029a4bee..000000000 --- a/test/static_mutex/static_mutex_test.cpp +++ /dev/null @@ -1,207 +0,0 @@ -/* - * - * Copyright (c) 2004 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE static_mutex_test.cpp - * VERSION see - * DESCRIPTION: test program for boost::static_mutex. - */ - -#include -#include -#include -#include -#include - -// -// we cannot use the regular Boost.Test in here: it is not thread safe -// and calls to BOOST_CHECK will eventually crash on some compilers -// (Borland certainly) due to race conditions inside the Boost.Test lib. -// -#define BOOST_CHECK(pred) if(!(pred)) failed_test(__FILE__, __LINE__, BOOST_STRINGIZE(pred)); - -int total_failures = 0; -void failed_test(const char* file, int line, const char* pred) -{ - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - boost::static_mutex::scoped_lock guard(mut); - ++total_failures; - std::cout << "Failed test in \"" << file << "\" at line " << line << ": " << pred << std::endl; -} - -void print_cycles(int c) -{ - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - boost::static_mutex::scoped_lock guard(mut); - std::cout << "Thread exited after " << c << " cycles." << std::endl; -} - -bool sufficient_time() -{ - // return true if enough time has passed since the tests began: - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - boost::static_mutex::scoped_lock guard(mut); - static boost::timer t; - // is 10 seconds enough? - return t.elapsed() >= 10.0; -} - -// define three trivial test proceedures: -bool t1() -{ - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - static int has_lock = 0; - static int data = 10000; - - boost::static_mutex::scoped_lock guard(mut); - BOOST_CHECK(++has_lock == 1); - BOOST_CHECK(guard.locked()); - BOOST_CHECK(guard); - bool result = (--data > 0) ? true : false; - BOOST_CHECK(--has_lock == 0); - return result; -} - -bool t2() -{ - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - static int has_lock = 0; - static int data = 10000; - - boost::static_mutex::scoped_lock guard(mut, false); - BOOST_CHECK(0 == guard.locked()); - BOOST_CHECK(!guard); - guard.lock(); - BOOST_CHECK(++has_lock == 1); - BOOST_CHECK(guard.locked()); - BOOST_CHECK(guard); - bool result = (--data > 0) ? true : false; - BOOST_CHECK(--has_lock == 0); - guard.unlock(); - BOOST_CHECK(0 == guard.locked()); - BOOST_CHECK(!guard); - return result; -} - -bool t3() -{ - static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT ; - static int has_lock = 0; - static int data = 10000; - - boost::static_mutex::scoped_lock guard(mut); - BOOST_CHECK(++has_lock == 1); - BOOST_CHECK(guard.locked()); - BOOST_CHECK(guard); - bool result = (--data > 0) ? true : false; - BOOST_CHECK(--has_lock == 0); - return result; -} - -// define their thread procs: -void thread1_proc() -{ - int cycles = 0; - while(!sufficient_time()) - { - t1(); - t2(); - ++cycles; - } - print_cycles(cycles); -} - -void thread2_proc() -{ - int cycles = 0; - while(!sufficient_time()) - { - t2(); - t3(); - ++cycles; - } - print_cycles(cycles); -} - -void thread3_proc() -{ - int cycles = 0; - while(!sufficient_time()) - { - t1(); - t3(); - ++cycles; - } - print_cycles(cycles); -} - -// make sure that at least one of our test proceedures -// is called during program startup: -struct startup1 -{ - startup1() - { - t1(); - } - ~startup1() - { - t1(); - } -}; - -startup1 up1; - -int main() -{ - (void)up1; - - std::list > threads; - for(int i = 0; i < 2; ++i) - { - try{ - threads.push_back(boost::shared_ptr(new boost::thread(&thread1_proc))); - } - catch(const std::exception& e) - { - std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; - } - } - for(int i = 0; i < 2; ++i) - { - try{ - threads.push_back(boost::shared_ptr(new boost::thread(&thread2_proc))); - } - catch(const std::exception& e) - { - std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; - } - } - for(int i = 0; i < 2; ++i) - { - try{ - threads.push_back(boost::shared_ptr(new boost::thread(&thread3_proc))); - } - catch(const std::exception& e) - { - std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; - } - } - - std::list >::const_iterator a(threads.begin()), b(threads.end()); - while(a != b) - { - (*a)->join(); - ++a; - } - - return total_failures; -} diff --git a/test/test_consolidated.cpp b/test/test_consolidated.cpp index 188033f7f..3f59f2742 100644 --- a/test/test_consolidated.cpp +++ b/test/test_consolidated.cpp @@ -3,27 +3,12 @@ * Copyright (c) 2011 * John Maddock * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include diff --git a/test/test_windows_defs_1.cpp b/test/test_windows_defs_1.cpp new file mode 100644 index 000000000..5415a6078 --- /dev/null +++ b/test/test_windows_defs_1.cpp @@ -0,0 +1,29 @@ +/* +* +* Copyright (c) 2021 +* John Maddock +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) +// +// Make sure our forward declarations match those in windows.h: +// + +#define STRICT + +#include +#include + +void test_proc() +{ + std::string text, re; + boost::regex exp(re); + regex_match(text, exp); +} + +#endif diff --git a/test/test_windows_defs_2.cpp b/test/test_windows_defs_2.cpp new file mode 100644 index 000000000..8707b36b2 --- /dev/null +++ b/test/test_windows_defs_2.cpp @@ -0,0 +1,29 @@ +/* +* +* Copyright (c) 2021 +* John Maddock +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) +// +// Make sure our forward declarations match those in windows.h: +// + +#define NO_STRICT + +#include +#include + +void test_proc() +{ + std::string text, re; + boost::regex exp(re); + regex_match(text, exp); +} + +#endif diff --git a/test/test_windows_defs_3.cpp b/test/test_windows_defs_3.cpp new file mode 100644 index 000000000..bc369d349 --- /dev/null +++ b/test/test_windows_defs_3.cpp @@ -0,0 +1,27 @@ +/* +* +* Copyright (c) 2021 +* John Maddock +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) +// +// Make sure our forward declarations match those in windows.h: +// + +#include +#include + +void test_proc() +{ + std::string text, re; + boost::regex exp(re); + regex_match(text, exp); +} + +#endif diff --git a/test/test_windows_defs_4.cpp b/test/test_windows_defs_4.cpp new file mode 100644 index 000000000..09a0015cf --- /dev/null +++ b/test/test_windows_defs_4.cpp @@ -0,0 +1,28 @@ +/* +* +* Copyright (c) 2021 +* John Maddock +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +* +*/ + +#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) +// +// Make sure our forward declarations match those in windows.h: +// +#define STRICT +#define BOOST_NO_ANSI_APIS +#include +#include + +void test_proc() +{ + std::string text, re; + boost::regex exp(re); + regex_match(text, exp); +} + +#endif diff --git a/test/unicode/unicode_casefold_test.cpp b/test/unicode/unicode_casefold_test.cpp new file mode 100644 index 000000000..d1597c81c --- /dev/null +++ b/test/unicode/unicode_casefold_test.cpp @@ -0,0 +1,204 @@ +/* + * + * Copyright (c) 2021 John Maddock + * Copyright (c) 2021 Daniel Kruegler + * + * Use, modification and distribution are subject to the + * Boost Software License, Version 1.0. (See accompanying file + * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE unicode_casefold_test.cpp + * VERSION see + * DESCRIPTION: Simple test suite for Unicode case folding. + */ + +#include +#include +#include "../test_macros.hpp" + +#if defined(BOOST_HAS_ICU) + +#include + +#include + +#include +#include + +typedef std::pair unicode_verinfo; + +// Function to query the effective Unicode major and minor +// version, because some spot test cases can only be tested +// for specific Unicode versions. +unicode_verinfo get_unicode_version() +{ + UVersionInfo versionArray = {}; + u_getUnicodeVersion(versionArray); + unicode_verinfo result(versionArray[0] , versionArray[1]); + return result; +} + +void latin_1_checks() +{ + typedef boost::icu_regex_traits traits_type; + traits_type traits; + + // Test range [U+0000, U+0041): Identity fold + for (traits_type::char_type c = 0x0; c < 0x41; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } + + // Test ASCII upper case letters [A, Z]: Each character folds + // to its lowercase variant: + for (traits_type::char_type c = 0x41; c <= 0x5A; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + const int shift = 0x61 - 0x41; + BOOST_CHECK_EQUAL(nc, c + shift); + BOOST_CHECK_EQUAL(nc, traits.tolower(c)); + } + + // Test range (U+005A, U+00B5): Identity fold + for (traits_type::char_type c = 0x5A + 1; c < 0xB5; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } + + // U+00B5 maps to its decomposition GREEK SMALL LETTER MU + // (U+03BC): + { + traits_type::char_type c = 0xB5; + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, 0x03BC); + } + + // Test range (U+00B5, U+00BF]: Identity fold + for (traits_type::char_type c = 0xB5 + 1; c <= 0xBF; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } + + // Test range [U+00C0, U+00D6]: Each character folds + // to its lowercase variant: + for (traits_type::char_type c = 0xC0; c <= 0xD6; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + traits_type::char_type lc = traits.tolower(c); + BOOST_CHECK_EQUAL(nc, lc); + BOOST_CHECK_NE(nc, c); + } + + // U+00D7: Identity fold + { + traits_type::char_type c = 0xD7; + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } + + // Test range [U+00D8, U+00DE]: Each character folds + // to its lowercase variant: + for (traits_type::char_type c = 0xD8; c <= 0xDE; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + traits_type::char_type lc = traits.tolower(c); + BOOST_CHECK_EQUAL(nc, lc); + BOOST_CHECK_NE(nc, c); + } + + // Test range [U+00DF, U+00BF]: Identity fold + // Note that case folding of U+00DF (LATIN SMALL + // LETTER SHARP S) does not fold to U+1E9E (LATIN + // CAPITAL LETTER SHARP S) due to case folding + // stability contract + for (traits_type::char_type c = 0xDF; c <= 0xFF; ++c) + { + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } +} + +void spot_checks() +{ + // test specific values ripped straight out of the Unicode standard + // to verify that our case folding is the same as theirs: + typedef boost::icu_regex_traits traits_type; + traits_type traits; + + const unicode_verinfo unicode_version = get_unicode_version(); + + // 'LATIN CAPITAL LETTER SHARP S' folds to + // 'LATIN SMALL LETTER SHARP S' + if (unicode_version >= unicode_verinfo(5, 1)) + { + traits_type::char_type c = 0x1E9E; + traits_type::char_type nc = traits.translate_nocase(c); + traits_type::char_type lc = traits.tolower(c); + BOOST_CHECK_EQUAL(nc, lc); + BOOST_CHECK_EQUAL(nc, 0xDF); + } + + // Capital sigma (U+03A3) is the uppercase form of both the regular (U+03C2) + // and final (U+03C3) lowercase sigma. All these characters exists since + // Unicode 1.1.0. + { + traits_type::char_type c = 0x03A3; + traits_type::char_type nc = traits.translate_nocase(c); + traits_type::char_type lc = traits.tolower(c); + BOOST_CHECK_EQUAL(nc, lc); + BOOST_CHECK_EQUAL(nc, 0x03C3); + c = 0x03C2; + nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, 0x03C3); + c = 0x03C3; + nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + } + + // In Turkish languages the lowercase letter 'i' (U+0069) maps to an + // uppercase dotted I (U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE), + // while the uppercase letter 'I' (U+0049) maps to the dotless lowercase + // i (U+0131). The Unicode simple default mapping folds U+0130 to itself, + // but folds U+0049 to U+0069. + { + traits_type::char_type c = 0x0130; + traits_type::char_type nc = traits.translate_nocase(c); + BOOST_CHECK_EQUAL(nc, c); + c = 0x0049; + nc = traits.translate_nocase(c); + traits_type::char_type lc = traits.tolower(c); + BOOST_CHECK_EQUAL(nc, lc); + BOOST_CHECK_EQUAL(nc, 0x0069); + } + + // Cherokee small letters were added with Unicode 8.0, + // but the upper case letters existed before, therefore + // the small letters case fold to upper case letters. + if (unicode_version >= unicode_verinfo(8, 0)) + { + traits_type::char_type c = 0x13F8; + traits_type::char_type nc = traits.translate_nocase(c); + traits_type::char_type uc = traits.toupper(c); + BOOST_CHECK_EQUAL(nc, uc); + BOOST_CHECK_EQUAL(nc, 0x13F0); + } + +} + +#endif + +int cpp_main( int, char* [] ) +{ +#if defined(BOOST_HAS_ICU) + latin_1_checks(); + spot_checks(); +#endif + return boost::report_errors(); +} diff --git a/test/unicode/unicode_iterator_test.cpp b/test/unicode/unicode_iterator_test.cpp index 2e6bcec1e..6ead714dc 100644 --- a/test/unicode/unicode_iterator_test.cpp +++ b/test/unicode/unicode_iterator_test.cpp @@ -16,6 +16,7 @@ * DESCRIPTION: Simple test suite for Unicode interconversions. */ +#include #include #include #include "../test_macros.hpp" @@ -317,6 +318,6 @@ int cpp_main( int, char* [] ) for(unsigned i = 0xDFFF + 1; i < 0x10FFFF; ++i) v.push_back(i); test(v); - return 0; + return boost::report_errors(); }