@port-labs/jq-node-bindings 1.0.4 → 1.1.0-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +12 -0
- package/configure +6 -5
- package/deps/jq/.claude/settings.local.json +7 -0
- package/deps/jq/.gitattributes +1 -3
- package/deps/jq/AUTHORS +55 -1
- package/deps/jq/COPYING +40 -0
- package/deps/jq/Makefile.am +40 -36
- package/deps/jq/NEWS.md +277 -2
- package/deps/jq/README.md +23 -5
- package/deps/jq/compile-ios.sh +1 -1
- package/deps/jq/config/m4/check-math-func.m4 +2 -2
- package/deps/jq/config/m4/find-func-no-libs2.m4 +3 -3
- package/deps/jq/configure.ac +10 -18
- package/deps/jq/docs/Pipfile.lock +368 -313
- package/deps/jq/docs/README.md +3 -4
- package/deps/jq/docs/build_manpage.py +1 -1
- package/deps/jq/docs/build_mantests.py +1 -1
- package/deps/jq/docs/build_website.py +1 -8
- package/deps/jq/docs/content/download/default.yml +49 -9
- package/deps/jq/docs/content/index.yml +9 -0
- package/deps/jq/docs/content/manual/{manual.yml → dev/manual.yml} +218 -61
- package/deps/jq/docs/content/manual/v1.3/manual.yml +0 -5
- package/deps/jq/docs/content/manual/v1.4/manual.yml +0 -5
- package/deps/jq/docs/content/manual/v1.5/manual.yml +3 -8
- package/deps/jq/docs/content/manual/v1.6/manual.yml +3 -8
- package/deps/jq/docs/content/manual/v1.7/manual.yml +499 -500
- package/deps/jq/docs/content/manual/v1.8/manual.yml +3858 -0
- package/deps/jq/docs/content/tutorial/default.yml +3 -3
- package/deps/jq/docs/manual_schema.yml +0 -3
- package/deps/jq/docs/public/CNAME +1 -0
- package/deps/jq/docs/templates/index.html.j2 +10 -10
- package/deps/jq/docs/templates/manual.html.j2 +14 -3
- package/deps/jq/docs/templates/shared/_head.html.j2 +8 -3
- package/deps/jq/docs/templates/shared/_navbar.html.j2 +4 -4
- package/deps/jq/jq.1.prebuilt +219 -44
- package/deps/jq/jq.spec +2 -2
- package/deps/jq/libjq.pc.in +1 -1
- package/deps/jq/scripts/version +1 -1
- package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
- package/deps/jq/sig/v1.8.0/jq-1.8.0.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-1.8.0.zip.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-linux64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-osx-amd64.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-win64.exe.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.8.0/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.8.0/sha256sum.txt +26 -0
- package/deps/jq/src/builtin.c +446 -271
- package/deps/jq/src/builtin.jq +25 -60
- package/deps/jq/src/bytecode.h +8 -3
- package/deps/jq/src/compile.c +22 -43
- package/deps/jq/src/compile.h +1 -1
- package/deps/jq/src/execute.c +20 -25
- package/deps/jq/src/jq_test.c +113 -44
- package/deps/jq/src/jv.c +134 -42
- package/deps/jq/src/jv.h +10 -3
- package/deps/jq/src/jv_alloc.c +8 -5
- package/deps/jq/src/jv_alloc.h +0 -1
- package/deps/jq/src/jv_aux.c +41 -8
- package/deps/jq/src/jv_dtoa.c +4 -12
- package/deps/jq/src/jv_dtoa_tsd.c +5 -4
- package/deps/jq/src/jv_dtoa_tsd.h +1 -1
- package/deps/jq/src/jv_parse.c +5 -3
- package/deps/jq/src/jv_print.c +87 -65
- package/deps/jq/src/jv_unicode.c +18 -0
- package/deps/jq/src/jv_unicode.h +2 -0
- package/deps/jq/src/lexer.c +303 -278
- package/deps/jq/src/lexer.h +5 -4
- package/deps/jq/src/lexer.l +8 -2
- package/deps/jq/src/libm.h +15 -5
- package/deps/jq/src/linker.c +6 -4
- package/deps/jq/src/locfile.c +12 -12
- package/deps/jq/src/main.c +204 -270
- package/deps/jq/src/parser.c +1105 -1273
- package/deps/jq/src/parser.y +149 -181
- package/deps/jq/src/util.c +46 -48
- package/deps/jq/src/util.h +1 -1
- package/deps/jq/tests/base64.test +12 -0
- package/deps/jq/tests/jq.test +429 -37
- package/deps/jq/tests/jq_fuzz_load_file.c +1 -0
- package/deps/jq/tests/man.test +46 -13
- package/deps/jq/tests/manonig.test +13 -0
- package/deps/jq/tests/onig.test +40 -2
- package/deps/jq/tests/optional.test +4 -12
- package/deps/jq/tests/setup +5 -1
- package/deps/jq/tests/shtest +358 -130
- package/deps/jq/tests/uri.test +38 -0
- package/deps/jq/tests/uritest +5 -0
- package/deps/jq/{src → vendor}/decNumber/decBasic.c +1 -1
- package/deps/jq/{src → vendor}/decNumber/decCommon.c +1 -1
- package/deps/jq/{src → vendor}/decNumber/decNumber.c +4 -4
- package/deps/jq/{modules → vendor}/oniguruma/CMakeLists.txt +5 -3
- package/deps/jq/{modules → vendor}/oniguruma/HISTORY +45 -7
- package/deps/jq/{modules → vendor}/oniguruma/Makefile.am +1 -1
- package/deps/jq/{modules → vendor}/oniguruma/README.md +10 -23
- package/deps/jq/{modules → vendor}/oniguruma/compile +29 -13
- package/deps/jq/{modules → vendor}/oniguruma/config.guess +91 -27
- package/deps/jq/{modules → vendor}/oniguruma/config.sub +716 -242
- package/deps/jq/{modules → vendor}/oniguruma/configure.ac +2 -2
- package/deps/jq/{modules → vendor}/oniguruma/depcomp +10 -9
- package/deps/jq/{modules → vendor}/oniguruma/doc/API +3 -1
- package/deps/jq/{modules → vendor}/oniguruma/doc/API.ja +3 -1
- package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.BUILTIN +10 -1
- package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.BUILTIN.ja +9 -1
- package/deps/jq/{modules → vendor}/oniguruma/doc/RE +12 -13
- package/deps/jq/{modules → vendor}/oniguruma/doc/RE.ja +12 -13
- package/deps/jq/{modules → vendor}/oniguruma/doc/SYNTAX.md +202 -167
- package/deps/jq/{modules → vendor}/oniguruma/doc/UNICODE_PROPERTIES +33 -1
- package/deps/jq/vendor/oniguruma/doc/onig_syn_md.c +667 -0
- package/deps/jq/{modules → vendor}/oniguruma/harnesses/base.c +1 -1
- package/deps/jq/{modules → vendor}/oniguruma/install-sh +9 -9
- package/deps/jq/{modules → vendor}/oniguruma/missing +50 -29
- package/deps/jq/{modules → vendor}/oniguruma/sample/callback_each_match.c +1 -3
- package/deps/jq/vendor/oniguruma/sbom.cdx.json +44 -0
- package/deps/jq/{modules → vendor}/oniguruma/src/ascii.c +4 -1
- package/deps/jq/{modules → vendor}/oniguruma/src/gperf_fold_key_conv.py +4 -4
- package/deps/jq/{modules → vendor}/oniguruma/src/gperf_unfold_key_conv.py +4 -4
- package/deps/jq/vendor/oniguruma/src/make_unicode_egcb.sh +7 -0
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_egcb_data.py +20 -19
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_fold.sh +5 -5
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_fold_data.py +37 -37
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_property.sh +2 -2
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_property_data.py +66 -65
- package/deps/jq/vendor/oniguruma/src/make_unicode_wb.sh +7 -0
- package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_wb_data.py +20 -19
- package/deps/jq/{modules → vendor}/oniguruma/src/oniguruma.h +6 -3
- package/deps/jq/{modules → vendor}/oniguruma/src/regcomp.c +14 -6
- package/deps/jq/{modules → vendor}/oniguruma/src/regerror.c +2 -2
- package/deps/jq/{modules → vendor}/oniguruma/src/regexec.c +85 -14
- package/deps/jq/{modules → vendor}/oniguruma/src/regint.h +17 -4
- package/deps/jq/{modules → vendor}/oniguruma/src/regparse.c +115 -27
- package/deps/jq/{modules → vendor}/oniguruma/src/regsyntax.c +10 -7
- package/deps/jq/{modules → vendor}/oniguruma/src/st.c +49 -75
- package/deps/jq/{modules → vendor}/oniguruma/src/st.h +3 -10
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_egcb_data.c +54 -49
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold1_key.c +1567 -1507
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold2_key.c +1 -1
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold3_key.c +1 -1
- package/deps/jq/vendor/oniguruma/src/unicode_fold_data.c +1619 -0
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_property_data.c +5520 -4178
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_property_data_posix.c +239 -83
- package/deps/jq/vendor/oniguruma/src/unicode_unfold_key.c +3497 -0
- package/deps/jq/{modules → vendor}/oniguruma/src/unicode_wb_data.c +51 -19
- package/deps/jq/{modules → vendor}/oniguruma/src/utf16_be.c +3 -2
- package/deps/jq/{modules → vendor}/oniguruma/src/utf16_le.c +3 -2
- package/deps/jq/{modules → vendor}/oniguruma/test/test_back.c +3 -3
- package/deps/jq/{modules → vendor}/oniguruma/test/test_options.c +2 -2
- package/deps/jq/{modules → vendor}/oniguruma/test/test_syntax.c +54 -2
- package/deps/jq/{modules → vendor}/oniguruma/test/test_utf8.c +19 -5
- package/deps/jq/{modules → vendor}/oniguruma/test/testc.c +1 -1
- package/deps/jq/{modules → vendor}/oniguruma/test/testp.c +1 -1
- package/deps/jq/{modules → vendor}/oniguruma/test-driver +13 -6
- package/deps/jq/{modules → vendor}/oniguruma/windows/CMakeLists.txt +1 -1
- package/index.d.ts +2 -1
- package/lib/index.js +1 -0
- package/lib/jq.js +2 -1
- package/package.json +4 -3
- package/test/santiy-async.test.js +4 -4
- package/test/santiy.test.js +4 -4
- package/test/template.test.js +6 -6
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +0 -7
- package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +0 -7
- package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +0 -1592
- package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +0 -3394
- package/deps/jq/scripts/update-website +0 -30
- /package/deps/jq/{src → vendor}/decNumber/ICU-license.html +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decContext.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decContext.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decDPD.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decDouble.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decDouble.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decNumber.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decNumberLocal.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decPacked.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decPacked.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decQuad.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decQuad.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decSingle.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decSingle.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal128.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal128.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal32.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal32.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal64.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decimal64.h +0 -0
- /package/deps/jq/{src → vendor}/decNumber/decnumber.pdf +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example1.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example2.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example3.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example4.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example5.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example6.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example7.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/example8.c +0 -0
- /package/deps/jq/{src → vendor}/decNumber/readme.txt +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/.travis.yml +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/AUTHORS +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/COPYING +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/ChangeLog +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/NEWS +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/README +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/README_japanese +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/autogen.sh +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/cmake/Config.cmake.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.API +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.API.ja +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/doc/FAQ +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/doc/FAQ.ja +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/ascii_compatible.dict +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/deluxe.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/dict_conv.py +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/fuzzer.options +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/libfuzzer-onig.cpp +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/harnesses/regset.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/index.html +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/index_ja.html +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/m4/.whatever +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/make_win.bat +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/make_win32.bat +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/make_win64.bat +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/onig-config.cmake.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/onig-config.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/oniguruma.pc.cmake.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/oniguruma.pc.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/CMakeLists.txt +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/Makefile.am +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/bug_fix.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/callout.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/count.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/crnl.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/echo.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/encode.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/listcap.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/names.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/posix.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/regset.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/scan.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/simple.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/sql.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/syntax.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/sample/user_property.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/Makefile.am +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/Makefile.windows +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/big5.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.cmake.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.win32 +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.win64 +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.windows.in +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/cp1251.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp_prop.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp_prop.gperf +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/euc_kr.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/euc_tw.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/gb18030.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_1.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_10.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_11.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_13.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_14.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_15.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_16.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_2.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_3.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_4.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_5.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_6.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_7.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_8.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_9.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/koi8.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/koi8_r.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/make_property.sh +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/mktable.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/onig_init.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/oniggnu.h +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/onigposix.h +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regenc.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regenc.h +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regext.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/reggnu.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regparse.h +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regposerr.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regposix.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regtrav.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/regversion.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/sjis.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/sjis_prop.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/sjis_prop.gperf +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/unicode.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/utf32_be.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/utf32_le.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/src/utf8.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/test/CMakeLists.txt +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/test/Makefile.am +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/test/test.sh +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/test/test_regset.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/test/testu.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/stub.c +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_back.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_regset.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_syntax.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_utf8.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/testc.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/testu.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/tis.config +0 -0
- /package/deps/jq/{modules → vendor}/oniguruma/windows/testc.c +0 -0
package/deps/jq/src/jv.c
CHANGED
|
@@ -119,15 +119,15 @@ const jv JV_INVALID = {JVP_FLAGS_INVALID, 0, 0, 0, {0}};
|
|
|
119
119
|
const jv JV_FALSE = {JVP_FLAGS_FALSE, 0, 0, 0, {0}};
|
|
120
120
|
const jv JV_TRUE = {JVP_FLAGS_TRUE, 0, 0, 0, {0}};
|
|
121
121
|
|
|
122
|
-
jv jv_true() {
|
|
122
|
+
jv jv_true(void) {
|
|
123
123
|
return JV_TRUE;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
jv jv_false() {
|
|
126
|
+
jv jv_false(void) {
|
|
127
127
|
return JV_FALSE;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
jv jv_null() {
|
|
130
|
+
jv jv_null(void) {
|
|
131
131
|
return JV_NULL;
|
|
132
132
|
}
|
|
133
133
|
|
|
@@ -155,7 +155,7 @@ jv jv_invalid_with_msg(jv err) {
|
|
|
155
155
|
return x;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
jv jv_invalid() {
|
|
158
|
+
jv jv_invalid(void) {
|
|
159
159
|
return JV_INVALID;
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -206,16 +206,13 @@ enum {
|
|
|
206
206
|
JVP_NUMBER_DECIMAL = 1
|
|
207
207
|
};
|
|
208
208
|
|
|
209
|
-
#define JV_NUMBER_SIZE_INIT (0)
|
|
210
|
-
#define JV_NUMBER_SIZE_CONVERTED (1)
|
|
211
|
-
|
|
212
209
|
#define JVP_FLAGS_NUMBER_NATIVE JVP_MAKE_FLAGS(JV_KIND_NUMBER, JVP_MAKE_PFLAGS(JVP_NUMBER_NATIVE, 0))
|
|
213
210
|
#define JVP_FLAGS_NUMBER_LITERAL JVP_MAKE_FLAGS(JV_KIND_NUMBER, JVP_MAKE_PFLAGS(JVP_NUMBER_DECIMAL, 1))
|
|
214
211
|
|
|
215
212
|
// the decimal precision of binary double
|
|
216
|
-
#define
|
|
213
|
+
#define DEC_NUMBER_DOUBLE_PRECISION (17)
|
|
217
214
|
#define DEC_NUMBER_STRING_GUARD (14)
|
|
218
|
-
#define
|
|
215
|
+
#define DEC_NUMBER_DOUBLE_EXTRA_UNITS ((DEC_NUMBER_DOUBLE_PRECISION - DECNUMDIGITS + DECDPUN - 1)/DECDPUN)
|
|
219
216
|
|
|
220
217
|
#include "jv_thread.h"
|
|
221
218
|
#ifdef WIN32
|
|
@@ -495,12 +492,12 @@ static pthread_once_t dec_ctx_once = PTHREAD_ONCE_INIT;
|
|
|
495
492
|
|
|
496
493
|
// atexit finalizer to clean up the tsd dec contexts if main() exits
|
|
497
494
|
// without having called pthread_exit()
|
|
498
|
-
void jv_tsd_dec_ctx_fini() {
|
|
495
|
+
void jv_tsd_dec_ctx_fini(void) {
|
|
499
496
|
jv_mem_free(pthread_getspecific(dec_ctx_key));
|
|
500
497
|
pthread_setspecific(dec_ctx_key, NULL);
|
|
501
498
|
}
|
|
502
499
|
|
|
503
|
-
void jv_tsd_dec_ctx_init() {
|
|
500
|
+
void jv_tsd_dec_ctx_init(void) {
|
|
504
501
|
if (pthread_key_create(&dec_ctx_key, jv_mem_free) != 0) {
|
|
505
502
|
fprintf(stderr, "error: cannot create thread specific key");
|
|
506
503
|
abort();
|
|
@@ -542,7 +539,7 @@ typedef struct {
|
|
|
542
539
|
|
|
543
540
|
typedef struct {
|
|
544
541
|
decNumber number;
|
|
545
|
-
decNumberUnit units[
|
|
542
|
+
decNumberUnit units[DEC_NUMBER_DOUBLE_EXTRA_UNITS];
|
|
546
543
|
} decNumberDoublePrecision;
|
|
547
544
|
|
|
548
545
|
|
|
@@ -562,7 +559,6 @@ static decNumber* jvp_dec_number_ptr(jv j) {
|
|
|
562
559
|
}
|
|
563
560
|
|
|
564
561
|
static jvp_literal_number* jvp_literal_number_alloc(unsigned literal_length) {
|
|
565
|
-
|
|
566
562
|
/* The number of units needed is ceil(DECNUMDIGITS/DECDPUN) */
|
|
567
563
|
int units = ((literal_length+DECDPUN-1)/DECDPUN);
|
|
568
564
|
|
|
@@ -571,26 +567,34 @@ static jvp_literal_number* jvp_literal_number_alloc(unsigned literal_length) {
|
|
|
571
567
|
+ sizeof(decNumberUnit) * units
|
|
572
568
|
);
|
|
573
569
|
|
|
570
|
+
n->refcnt = JV_REFCNT_INIT;
|
|
571
|
+
n->num_double = NAN;
|
|
572
|
+
n->literal_data = NULL;
|
|
574
573
|
return n;
|
|
575
574
|
}
|
|
576
575
|
|
|
577
576
|
static jv jvp_literal_number_new(const char * literal) {
|
|
577
|
+
jvp_literal_number* n = jvp_literal_number_alloc(strlen(literal));
|
|
578
578
|
|
|
579
|
-
jvp_literal_number * n = jvp_literal_number_alloc(strlen(literal));
|
|
580
|
-
|
|
581
|
-
n->refcnt = JV_REFCNT_INIT;
|
|
582
|
-
n->literal_data = NULL;
|
|
583
579
|
decContext *ctx = DEC_CONTEXT();
|
|
584
580
|
decContextClearStatus(ctx, DEC_Conversion_syntax);
|
|
585
581
|
decNumberFromString(&n->num_decimal, literal, ctx);
|
|
586
|
-
n->num_double = NAN;
|
|
587
582
|
|
|
588
583
|
if (ctx->status & DEC_Conversion_syntax) {
|
|
589
584
|
jv_mem_free(n);
|
|
590
585
|
return JV_INVALID;
|
|
591
586
|
}
|
|
587
|
+
if (decNumberIsNaN(&n->num_decimal)) {
|
|
588
|
+
// Reject NaN with payload.
|
|
589
|
+
if (n->num_decimal.digits > 1 || *n->num_decimal.lsu != 0) {
|
|
590
|
+
jv_mem_free(n);
|
|
591
|
+
return JV_INVALID;
|
|
592
|
+
}
|
|
593
|
+
jv_mem_free(n);
|
|
594
|
+
return jv_number(NAN);
|
|
595
|
+
}
|
|
592
596
|
|
|
593
|
-
jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0,
|
|
597
|
+
jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0, 0, {&n->refcnt}};
|
|
594
598
|
return r;
|
|
595
599
|
}
|
|
596
600
|
|
|
@@ -600,11 +604,11 @@ static double jvp_literal_number_to_double(jv j) {
|
|
|
600
604
|
|
|
601
605
|
// init as decimal64 but change digits to allow conversion to binary64 (double)
|
|
602
606
|
decContextDefault(&dblCtx, DEC_INIT_DECIMAL64);
|
|
603
|
-
dblCtx.digits =
|
|
607
|
+
dblCtx.digits = DEC_NUMBER_DOUBLE_PRECISION;
|
|
604
608
|
|
|
605
609
|
decNumber *p_dec_number = jvp_dec_number_ptr(j);
|
|
606
610
|
decNumberDoublePrecision dec_double;
|
|
607
|
-
char literal[
|
|
611
|
+
char literal[DEC_NUMBER_DOUBLE_PRECISION + DEC_NUMBER_STRING_GUARD + 1];
|
|
608
612
|
|
|
609
613
|
// reduce the number to the shortest possible form
|
|
610
614
|
// that fits into the 64 bit floating point representation
|
|
@@ -698,9 +702,8 @@ double jv_number_value(jv j) {
|
|
|
698
702
|
if (JVP_HAS_FLAGS(j, JVP_FLAGS_NUMBER_LITERAL)) {
|
|
699
703
|
jvp_literal_number* n = jvp_literal_number_ptr(j);
|
|
700
704
|
|
|
701
|
-
if (
|
|
705
|
+
if (isnan(n->num_double)) {
|
|
702
706
|
n->num_double = jvp_literal_number_to_double(j);
|
|
703
|
-
j.size = JV_NUMBER_SIZE_CONVERTED;
|
|
704
707
|
}
|
|
705
708
|
|
|
706
709
|
return n->num_double;
|
|
@@ -731,7 +734,37 @@ int jvp_number_is_nan(jv n) {
|
|
|
731
734
|
return decNumberIsNaN(pdec);
|
|
732
735
|
}
|
|
733
736
|
#endif
|
|
734
|
-
return n.u.number
|
|
737
|
+
return isnan(n.u.number);
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
jv jv_number_abs(jv n) {
|
|
741
|
+
assert(JVP_HAS_KIND(n, JV_KIND_NUMBER));
|
|
742
|
+
|
|
743
|
+
#ifdef USE_DECNUM
|
|
744
|
+
if (JVP_HAS_FLAGS(n, JVP_FLAGS_NUMBER_LITERAL)) {
|
|
745
|
+
jvp_literal_number* m = jvp_literal_number_alloc(jvp_dec_number_ptr(n)->digits);
|
|
746
|
+
|
|
747
|
+
decNumberAbs(&m->num_decimal, jvp_dec_number_ptr(n), DEC_CONTEXT());
|
|
748
|
+
jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0, 0, {&m->refcnt}};
|
|
749
|
+
return r;
|
|
750
|
+
}
|
|
751
|
+
#endif
|
|
752
|
+
return jv_number(fabs(jv_number_value(n)));
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
jv jv_number_negate(jv n) {
|
|
756
|
+
assert(JVP_HAS_KIND(n, JV_KIND_NUMBER));
|
|
757
|
+
|
|
758
|
+
#ifdef USE_DECNUM
|
|
759
|
+
if (JVP_HAS_FLAGS(n, JVP_FLAGS_NUMBER_LITERAL)) {
|
|
760
|
+
jvp_literal_number* m = jvp_literal_number_alloc(jvp_dec_number_ptr(n)->digits);
|
|
761
|
+
|
|
762
|
+
decNumberMinus(&m->num_decimal, jvp_dec_number_ptr(n), DEC_CONTEXT());
|
|
763
|
+
jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0, 0, {&m->refcnt}};
|
|
764
|
+
return r;
|
|
765
|
+
}
|
|
766
|
+
#endif
|
|
767
|
+
return jv_number(-jv_number_value(n));
|
|
735
768
|
}
|
|
736
769
|
|
|
737
770
|
int jvp_number_cmp(jv a, jv b) {
|
|
@@ -958,7 +991,7 @@ jv jv_array_sized(int n) {
|
|
|
958
991
|
return jvp_array_new(n);
|
|
959
992
|
}
|
|
960
993
|
|
|
961
|
-
jv jv_array() {
|
|
994
|
+
jv jv_array(void) {
|
|
962
995
|
return jv_array_sized(16);
|
|
963
996
|
}
|
|
964
997
|
|
|
@@ -992,6 +1025,11 @@ jv jv_array_set(jv j, int idx, jv val) {
|
|
|
992
1025
|
jv_free(val);
|
|
993
1026
|
return jv_invalid_with_msg(jv_string("Out of bounds negative array index"));
|
|
994
1027
|
}
|
|
1028
|
+
if (idx > (INT_MAX >> 2) - jvp_array_offset(j)) {
|
|
1029
|
+
jv_free(j);
|
|
1030
|
+
jv_free(val);
|
|
1031
|
+
return jv_invalid_with_msg(jv_string("Array index too large"));
|
|
1032
|
+
}
|
|
995
1033
|
// copy/free of val,j coalesced
|
|
996
1034
|
jv* slot = jvp_array_write(&j, idx);
|
|
997
1035
|
jv_free(*slot);
|
|
@@ -1011,6 +1049,7 @@ jv jv_array_concat(jv a, jv b) {
|
|
|
1011
1049
|
// FIXME: could be faster
|
|
1012
1050
|
jv_array_foreach(b, i, elem) {
|
|
1013
1051
|
a = jv_array_append(a, elem);
|
|
1052
|
+
if (!jv_is_valid(a)) break;
|
|
1014
1053
|
}
|
|
1015
1054
|
jv_free(b);
|
|
1016
1055
|
return a;
|
|
@@ -1025,14 +1064,13 @@ jv jv_array_slice(jv a, int start, int end) {
|
|
|
1025
1064
|
jv jv_array_indexes(jv a, jv b) {
|
|
1026
1065
|
jv res = jv_array();
|
|
1027
1066
|
int idx = -1;
|
|
1028
|
-
|
|
1029
|
-
|
|
1067
|
+
int alen = jv_array_length(jv_copy(a));
|
|
1068
|
+
for (int ai = 0; ai < alen; ++ai) {
|
|
1030
1069
|
jv_array_foreach(b, bi, belem) {
|
|
1031
|
-
if (!jv_equal(jv_array_get(jv_copy(a), ai + bi),
|
|
1070
|
+
if (!jv_equal(jv_array_get(jv_copy(a), ai + bi), belem))
|
|
1032
1071
|
idx = -1;
|
|
1033
1072
|
else if (bi == 0 && idx == -1)
|
|
1034
1073
|
idx = ai;
|
|
1035
|
-
jv_free(belem);
|
|
1036
1074
|
}
|
|
1037
1075
|
if (idx > -1)
|
|
1038
1076
|
res = jv_array_append(res, jv_number(idx));
|
|
@@ -1110,6 +1148,7 @@ static jv jvp_string_empty_new(uint32_t length) {
|
|
|
1110
1148
|
jvp_string* s = jvp_string_alloc(length);
|
|
1111
1149
|
s->length_hashed = 0;
|
|
1112
1150
|
memset(s->data, 0, length);
|
|
1151
|
+
s->data[length] = 0;
|
|
1113
1152
|
jv r = {JVP_FLAGS_STRING, 0, 0, 0, {&s->refcnt}};
|
|
1114
1153
|
return r;
|
|
1115
1154
|
}
|
|
@@ -1274,15 +1313,22 @@ jv jv_string_indexes(jv j, jv k) {
|
|
|
1274
1313
|
assert(JVP_HAS_KIND(k, JV_KIND_STRING));
|
|
1275
1314
|
const char *jstr = jv_string_value(j);
|
|
1276
1315
|
const char *idxstr = jv_string_value(k);
|
|
1277
|
-
const char *p;
|
|
1316
|
+
const char *p, *lp;
|
|
1278
1317
|
int jlen = jv_string_length_bytes(jv_copy(j));
|
|
1279
1318
|
int idxlen = jv_string_length_bytes(jv_copy(k));
|
|
1280
1319
|
jv a = jv_array();
|
|
1281
1320
|
|
|
1282
1321
|
if (idxlen != 0) {
|
|
1283
|
-
|
|
1322
|
+
int n = 0;
|
|
1323
|
+
p = lp = jstr;
|
|
1284
1324
|
while ((p = _jq_memmem(p, (jstr + jlen) - p, idxstr, idxlen)) != NULL) {
|
|
1285
|
-
|
|
1325
|
+
while (lp < p) {
|
|
1326
|
+
lp += jvp_utf8_decode_length(*lp);
|
|
1327
|
+
n++;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
a = jv_array_append(a, jv_number(n));
|
|
1331
|
+
if (!jv_is_valid(a)) break;
|
|
1286
1332
|
p++;
|
|
1287
1333
|
}
|
|
1288
1334
|
}
|
|
@@ -1291,6 +1337,32 @@ jv jv_string_indexes(jv j, jv k) {
|
|
|
1291
1337
|
return a;
|
|
1292
1338
|
}
|
|
1293
1339
|
|
|
1340
|
+
jv jv_string_repeat(jv j, int n) {
|
|
1341
|
+
assert(JVP_HAS_KIND(j, JV_KIND_STRING));
|
|
1342
|
+
if (n < 0) {
|
|
1343
|
+
jv_free(j);
|
|
1344
|
+
return jv_null();
|
|
1345
|
+
}
|
|
1346
|
+
int len = jv_string_length_bytes(jv_copy(j));
|
|
1347
|
+
int64_t res_len = (int64_t)len * n;
|
|
1348
|
+
if (res_len >= INT_MAX) {
|
|
1349
|
+
jv_free(j);
|
|
1350
|
+
return jv_invalid_with_msg(jv_string("Repeat string result too long"));
|
|
1351
|
+
}
|
|
1352
|
+
if (res_len == 0) {
|
|
1353
|
+
jv_free(j);
|
|
1354
|
+
return jv_string("");
|
|
1355
|
+
}
|
|
1356
|
+
jv res = jv_string_empty(res_len);
|
|
1357
|
+
res = jvp_string_append(res, jv_string_value(j), len);
|
|
1358
|
+
for (int curr = len, grow; curr < res_len; curr += grow) {
|
|
1359
|
+
grow = MIN(res_len - curr, curr);
|
|
1360
|
+
res = jvp_string_append(res, jv_string_value(res), grow);
|
|
1361
|
+
}
|
|
1362
|
+
jv_free(j);
|
|
1363
|
+
return res;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1294
1366
|
jv jv_string_split(jv j, jv sep) {
|
|
1295
1367
|
assert(JVP_HAS_KIND(j, JV_KIND_STRING));
|
|
1296
1368
|
assert(JVP_HAS_KIND(sep, JV_KIND_STRING));
|
|
@@ -1305,14 +1377,17 @@ jv jv_string_split(jv j, jv sep) {
|
|
|
1305
1377
|
|
|
1306
1378
|
if (seplen == 0) {
|
|
1307
1379
|
int c;
|
|
1308
|
-
while ((jstr = jvp_utf8_next(jstr, jend, &c)))
|
|
1380
|
+
while ((jstr = jvp_utf8_next(jstr, jend, &c))) {
|
|
1309
1381
|
a = jv_array_append(a, jv_string_append_codepoint(jv_string(""), c));
|
|
1382
|
+
if (!jv_is_valid(a)) break;
|
|
1383
|
+
}
|
|
1310
1384
|
} else {
|
|
1311
1385
|
for (p = jstr; p < jend; p = s + seplen) {
|
|
1312
1386
|
s = _jq_memmem(p, jend - p, sepstr, seplen);
|
|
1313
1387
|
if (s == NULL)
|
|
1314
1388
|
s = jend;
|
|
1315
1389
|
a = jv_array_append(a, jv_string_sized(p, s - p));
|
|
1390
|
+
if (!jv_is_valid(a)) break;
|
|
1316
1391
|
// Add an empty string to denote that j ends on a sep
|
|
1317
1392
|
if (s + seplen == jend && seplen != 0)
|
|
1318
1393
|
a = jv_array_append(a, jv_string(""));
|
|
@@ -1330,8 +1405,10 @@ jv jv_string_explode(jv j) {
|
|
|
1330
1405
|
const char* end = i + len;
|
|
1331
1406
|
jv a = jv_array_sized(len);
|
|
1332
1407
|
int c;
|
|
1333
|
-
while ((i = jvp_utf8_next(i, end, &c)))
|
|
1408
|
+
while ((i = jvp_utf8_next(i, end, &c))) {
|
|
1334
1409
|
a = jv_array_append(a, jv_number(c));
|
|
1410
|
+
if (!jv_is_valid(a)) break;
|
|
1411
|
+
}
|
|
1335
1412
|
jv_free(j);
|
|
1336
1413
|
return a;
|
|
1337
1414
|
}
|
|
@@ -1605,10 +1682,13 @@ static void jvp_object_free(jv o) {
|
|
|
1605
1682
|
}
|
|
1606
1683
|
}
|
|
1607
1684
|
|
|
1608
|
-
static
|
|
1685
|
+
static int jvp_object_rehash(jv *objectp) {
|
|
1686
|
+
jv object = *objectp;
|
|
1609
1687
|
assert(JVP_HAS_KIND(object, JV_KIND_OBJECT));
|
|
1610
1688
|
assert(jvp_refcnt_unshared(object.u.ptr));
|
|
1611
1689
|
int size = jvp_object_size(object);
|
|
1690
|
+
if (size > INT_MAX >> 2)
|
|
1691
|
+
return 0;
|
|
1612
1692
|
jv new_object = jvp_object_new(size * 2);
|
|
1613
1693
|
for (int i=0; i<size; i++) {
|
|
1614
1694
|
struct object_slot* slot = jvp_object_get_slot(object, i);
|
|
@@ -1621,7 +1701,8 @@ static jv jvp_object_rehash(jv object) {
|
|
|
1621
1701
|
}
|
|
1622
1702
|
// references are transported, just drop the old table
|
|
1623
1703
|
jv_mem_free(jvp_object_ptr(object));
|
|
1624
|
-
|
|
1704
|
+
*objectp = new_object;
|
|
1705
|
+
return 1;
|
|
1625
1706
|
}
|
|
1626
1707
|
|
|
1627
1708
|
static jv jvp_object_unshare(jv object) {
|
|
@@ -1650,27 +1731,32 @@ static jv jvp_object_unshare(jv object) {
|
|
|
1650
1731
|
return new_object;
|
|
1651
1732
|
}
|
|
1652
1733
|
|
|
1653
|
-
static
|
|
1734
|
+
static int jvp_object_write(jv* object, jv key, jv **valpp) {
|
|
1654
1735
|
*object = jvp_object_unshare(*object);
|
|
1655
1736
|
int* bucket = jvp_object_find_bucket(*object, key);
|
|
1656
1737
|
struct object_slot* slot = jvp_object_find_slot(*object, key, bucket);
|
|
1657
1738
|
if (slot) {
|
|
1658
1739
|
// already has the key
|
|
1659
1740
|
jvp_string_free(key);
|
|
1660
|
-
|
|
1741
|
+
*valpp = &slot->value;
|
|
1742
|
+
return 1;
|
|
1661
1743
|
}
|
|
1662
1744
|
slot = jvp_object_add_slot(*object, key, bucket);
|
|
1663
1745
|
if (slot) {
|
|
1664
1746
|
slot->value = jv_invalid();
|
|
1665
1747
|
} else {
|
|
1666
|
-
|
|
1748
|
+
if (!jvp_object_rehash(object)) {
|
|
1749
|
+
*valpp = NULL;
|
|
1750
|
+
return 0;
|
|
1751
|
+
}
|
|
1667
1752
|
bucket = jvp_object_find_bucket(*object, key);
|
|
1668
1753
|
assert(!jvp_object_find_slot(*object, key, bucket));
|
|
1669
1754
|
slot = jvp_object_add_slot(*object, key, bucket);
|
|
1670
1755
|
assert(slot);
|
|
1671
1756
|
slot->value = jv_invalid();
|
|
1672
1757
|
}
|
|
1673
|
-
|
|
1758
|
+
*valpp = &slot->value;
|
|
1759
|
+
return 1;
|
|
1674
1760
|
}
|
|
1675
1761
|
|
|
1676
1762
|
static int jvp_object_delete(jv* object, jv key) {
|
|
@@ -1737,7 +1823,7 @@ static int jvp_object_contains(jv a, jv b) {
|
|
|
1737
1823
|
* Objects (public interface)
|
|
1738
1824
|
*/
|
|
1739
1825
|
#define DEFAULT_OBJECT_SIZE 8
|
|
1740
|
-
jv jv_object() {
|
|
1826
|
+
jv jv_object(void) {
|
|
1741
1827
|
return jvp_object_new(8);
|
|
1742
1828
|
}
|
|
1743
1829
|
|
|
@@ -1770,7 +1856,11 @@ jv jv_object_set(jv object, jv key, jv value) {
|
|
|
1770
1856
|
assert(JVP_HAS_KIND(object, JV_KIND_OBJECT));
|
|
1771
1857
|
assert(JVP_HAS_KIND(key, JV_KIND_STRING));
|
|
1772
1858
|
// copy/free of object, key, value coalesced
|
|
1773
|
-
jv* slot
|
|
1859
|
+
jv* slot;
|
|
1860
|
+
if (!jvp_object_write(&object, key, &slot)) {
|
|
1861
|
+
jv_free(object);
|
|
1862
|
+
return jv_invalid_with_msg(jv_string("Object too big"));
|
|
1863
|
+
}
|
|
1774
1864
|
jv_free(*slot);
|
|
1775
1865
|
*slot = value;
|
|
1776
1866
|
return object;
|
|
@@ -1795,6 +1885,7 @@ jv jv_object_merge(jv a, jv b) {
|
|
|
1795
1885
|
assert(JVP_HAS_KIND(a, JV_KIND_OBJECT));
|
|
1796
1886
|
jv_object_foreach(b, k, v) {
|
|
1797
1887
|
a = jv_object_set(a, k, v);
|
|
1888
|
+
if (!jv_is_valid(a)) break;
|
|
1798
1889
|
}
|
|
1799
1890
|
jv_free(b);
|
|
1800
1891
|
return a;
|
|
@@ -1814,6 +1905,7 @@ jv jv_object_merge_recursive(jv a, jv b) {
|
|
|
1814
1905
|
jv_free(elem);
|
|
1815
1906
|
a = jv_object_set(a, k, v);
|
|
1816
1907
|
}
|
|
1908
|
+
if (!jv_is_valid(a)) break;
|
|
1817
1909
|
}
|
|
1818
1910
|
jv_free(b);
|
|
1819
1911
|
return a;
|
package/deps/jq/src/jv.h
CHANGED
|
@@ -74,8 +74,10 @@ jv jv_number(double);
|
|
|
74
74
|
jv jv_number_with_literal(const char*);
|
|
75
75
|
double jv_number_value(jv);
|
|
76
76
|
int jv_is_integer(jv);
|
|
77
|
+
jv jv_number_abs(jv);
|
|
78
|
+
jv jv_number_negate(jv);
|
|
77
79
|
|
|
78
|
-
int jv_number_has_literal(jv
|
|
80
|
+
int jv_number_has_literal(jv);
|
|
79
81
|
const char* jv_number_get_literal(jv);
|
|
80
82
|
|
|
81
83
|
jv jv_array(void);
|
|
@@ -113,6 +115,9 @@ jv jv_array_indexes(jv, jv);
|
|
|
113
115
|
__attribute__ ((__format__( __printf__, fmt_arg_num, args_num)))
|
|
114
116
|
#define JV_VPRINTF_LIKE(fmt_arg_num) \
|
|
115
117
|
__attribute__ ((__format__( __printf__, fmt_arg_num, 0)))
|
|
118
|
+
#else
|
|
119
|
+
#define JV_PRINTF_LIKE(fmt_arg_num, args_num)
|
|
120
|
+
#define JV_VPRINTF_LIKE(fmt_arg_num)
|
|
116
121
|
#endif
|
|
117
122
|
|
|
118
123
|
|
|
@@ -131,6 +136,7 @@ jv jv_string_fmt(const char*, ...) JV_PRINTF_LIKE(1, 2);
|
|
|
131
136
|
jv jv_string_append_codepoint(jv a, uint32_t c);
|
|
132
137
|
jv jv_string_append_buf(jv a, const char* buf, int len);
|
|
133
138
|
jv jv_string_append_str(jv a, const char* str);
|
|
139
|
+
jv jv_string_repeat(jv j, int n);
|
|
134
140
|
jv jv_string_split(jv j, jv sep);
|
|
135
141
|
jv jv_string_explode(jv j);
|
|
136
142
|
jv jv_string_implode(jv j);
|
|
@@ -223,7 +229,7 @@ enum jv_print_flags {
|
|
|
223
229
|
JV_PRINT_SPACE2 = 1024,
|
|
224
230
|
};
|
|
225
231
|
#define JV_PRINT_INDENT_FLAGS(n) \
|
|
226
|
-
((n) < 0 || (n) > 7 ? JV_PRINT_TAB | JV_PRINT_PRETTY : (n)
|
|
232
|
+
((n) < 0 || (n) > 7 ? JV_PRINT_TAB | JV_PRINT_PRETTY : (n) << 8 | JV_PRINT_PRETTY)
|
|
227
233
|
void jv_dumpf(jv, FILE *f, int flags);
|
|
228
234
|
void jv_dump(jv, int flags);
|
|
229
235
|
void jv_show(jv, int flags);
|
|
@@ -261,8 +267,9 @@ jv jv_delpaths(jv, jv);
|
|
|
261
267
|
jv jv_keys(jv /*object or array*/);
|
|
262
268
|
jv jv_keys_unsorted(jv /*object or array*/);
|
|
263
269
|
int jv_cmp(jv, jv);
|
|
264
|
-
jv jv_group(jv, jv);
|
|
265
270
|
jv jv_sort(jv, jv);
|
|
271
|
+
jv jv_group(jv, jv);
|
|
272
|
+
jv jv_unique(jv, jv);
|
|
266
273
|
|
|
267
274
|
#ifdef __cplusplus
|
|
268
275
|
}
|
package/deps/jq/src/jv_alloc.c
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
#include <
|
|
1
|
+
#include <assert.h>
|
|
2
2
|
#include <stdio.h>
|
|
3
|
+
#include <stdlib.h>
|
|
3
4
|
#include <string.h>
|
|
4
|
-
#include "
|
|
5
|
+
#include "jv.h"
|
|
5
6
|
|
|
6
7
|
struct nomem_handler {
|
|
7
8
|
jv_nomem_handler_f handler;
|
|
@@ -33,7 +34,7 @@ void jv_nomem_handler(jv_nomem_handler_f handler, void *data) {
|
|
|
33
34
|
nomem_handler.handler = handler;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
static void memory_exhausted() {
|
|
37
|
+
static void memory_exhausted(void) {
|
|
37
38
|
if (nomem_handler.handler)
|
|
38
39
|
nomem_handler.handler(nomem_handler.data); // Maybe handler() will longjmp() to safety
|
|
39
40
|
// Or not
|
|
@@ -104,7 +105,7 @@ void jv_nomem_handler(jv_nomem_handler_f handler, void *data) {
|
|
|
104
105
|
nomem_handler->data = data;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
static void memory_exhausted() {
|
|
108
|
+
static void memory_exhausted(void) {
|
|
108
109
|
struct nomem_handler *nomem_handler;
|
|
109
110
|
|
|
110
111
|
pthread_once(&mem_once, tsd_init);
|
|
@@ -128,7 +129,7 @@ void jv_nomem_handler(jv_nomem_handler_f handler, void *data) {
|
|
|
128
129
|
nomem_handler.data = data;
|
|
129
130
|
}
|
|
130
131
|
|
|
131
|
-
static void memory_exhausted() {
|
|
132
|
+
static void memory_exhausted(void) {
|
|
132
133
|
fprintf(stderr, "jq: error: cannot allocate memory\n");
|
|
133
134
|
abort();
|
|
134
135
|
}
|
|
@@ -150,6 +151,7 @@ void* jv_mem_alloc_unguarded(size_t sz) {
|
|
|
150
151
|
}
|
|
151
152
|
|
|
152
153
|
void* jv_mem_calloc(size_t nemb, size_t sz) {
|
|
154
|
+
assert(nemb > 0 && sz > 0);
|
|
153
155
|
void* p = calloc(nemb, sz);
|
|
154
156
|
if (!p) {
|
|
155
157
|
memory_exhausted();
|
|
@@ -158,6 +160,7 @@ void* jv_mem_calloc(size_t nemb, size_t sz) {
|
|
|
158
160
|
}
|
|
159
161
|
|
|
160
162
|
void* jv_mem_calloc_unguarded(size_t nemb, size_t sz) {
|
|
163
|
+
assert(nemb > 0 && sz > 0);
|
|
161
164
|
return calloc(nemb, sz);
|
|
162
165
|
}
|
|
163
166
|
|
package/deps/jq/src/jv_alloc.h
CHANGED
package/deps/jq/src/jv_aux.c
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#include <math.h>
|
|
4
4
|
#include <string.h>
|
|
5
5
|
#include <stdlib.h>
|
|
6
|
+
#include "jv.h"
|
|
6
7
|
#include "jv_alloc.h"
|
|
7
8
|
#include "jv_private.h"
|
|
8
9
|
|
|
@@ -193,18 +194,19 @@ jv jv_set(jv t, jv k, jv v) {
|
|
|
193
194
|
if (slice_len < insert_len) {
|
|
194
195
|
// array is growing
|
|
195
196
|
int shift = insert_len - slice_len;
|
|
196
|
-
for (int i = array_len - 1; i >= end; i--) {
|
|
197
|
+
for (int i = array_len - 1; i >= end && jv_is_valid(t); i--) {
|
|
197
198
|
t = jv_array_set(t, i + shift, jv_array_get(jv_copy(t), i));
|
|
198
199
|
}
|
|
199
200
|
} else if (slice_len > insert_len) {
|
|
200
201
|
// array is shrinking
|
|
201
202
|
int shift = slice_len - insert_len;
|
|
202
|
-
for (int i = end; i < array_len; i++) {
|
|
203
|
+
for (int i = end; i < array_len && jv_is_valid(t); i++) {
|
|
203
204
|
t = jv_array_set(t, i - shift, jv_array_get(jv_copy(t), i));
|
|
204
205
|
}
|
|
205
|
-
|
|
206
|
+
if (jv_is_valid(t))
|
|
207
|
+
t = jv_array_slice(t, 0, array_len - shift);
|
|
206
208
|
}
|
|
207
|
-
for (int i=0; i < insert_len; i++) {
|
|
209
|
+
for (int i = 0; i < insert_len && jv_is_valid(t); i++) {
|
|
208
210
|
t = jv_array_set(t, start + i, jv_array_get(jv_copy(v), i));
|
|
209
211
|
}
|
|
210
212
|
jv_free(v);
|
|
@@ -314,7 +316,7 @@ static jv jv_dels(jv t, jv keys) {
|
|
|
314
316
|
int neg_idx = 0;
|
|
315
317
|
int nonneg_idx = 0;
|
|
316
318
|
int len = jv_array_length(jv_copy(t));
|
|
317
|
-
|
|
319
|
+
for (int i = 0; i < len; ++i) {
|
|
318
320
|
int del = 0;
|
|
319
321
|
while (neg_idx < jv_array_length(jv_copy(neg_keys))) {
|
|
320
322
|
int delidx = len + (int)jv_number_get_value_and_consume(jv_array_get(jv_copy(neg_keys), neg_idx));
|
|
@@ -343,9 +345,7 @@ static jv jv_dels(jv t, jv keys) {
|
|
|
343
345
|
}
|
|
344
346
|
}
|
|
345
347
|
if (!del)
|
|
346
|
-
new_array = jv_array_append(new_array,
|
|
347
|
-
else
|
|
348
|
-
jv_free(elem);
|
|
348
|
+
new_array = jv_array_append(new_array, jv_array_get(jv_copy(t), i));
|
|
349
349
|
}
|
|
350
350
|
arr_out:
|
|
351
351
|
jv_free(neg_keys);
|
|
@@ -419,6 +419,7 @@ jv jv_setpath(jv root, jv path, jv value) {
|
|
|
419
419
|
// to null first.
|
|
420
420
|
root = jv_set(root, jv_copy(pathcurr), jv_null());
|
|
421
421
|
if (!jv_is_valid(root)) {
|
|
422
|
+
jv_free(subroot);
|
|
422
423
|
jv_free(pathcurr);
|
|
423
424
|
jv_free(pathrest);
|
|
424
425
|
jv_free(value);
|
|
@@ -553,6 +554,10 @@ jv jv_keys_unsorted(jv x) {
|
|
|
553
554
|
jv jv_keys(jv x) {
|
|
554
555
|
if (jv_get_kind(x) == JV_KIND_OBJECT) {
|
|
555
556
|
int nkeys = jv_object_length(jv_copy(x));
|
|
557
|
+
if (nkeys == 0) {
|
|
558
|
+
jv_free(x);
|
|
559
|
+
return jv_array();
|
|
560
|
+
}
|
|
556
561
|
jv* keys = jv_mem_calloc(nkeys, sizeof(jv));
|
|
557
562
|
int kidx = 0;
|
|
558
563
|
jv_object_foreach(x, key, value) {
|
|
@@ -674,6 +679,11 @@ static struct sort_entry* sort_items(jv objects, jv keys) {
|
|
|
674
679
|
assert(jv_get_kind(keys) == JV_KIND_ARRAY);
|
|
675
680
|
assert(jv_array_length(jv_copy(objects)) == jv_array_length(jv_copy(keys)));
|
|
676
681
|
int n = jv_array_length(jv_copy(objects));
|
|
682
|
+
if (n == 0) {
|
|
683
|
+
jv_free(objects);
|
|
684
|
+
jv_free(keys);
|
|
685
|
+
return NULL;
|
|
686
|
+
}
|
|
677
687
|
struct sort_entry* entries = jv_mem_calloc(n, sizeof(struct sort_entry));
|
|
678
688
|
for (int i=0; i<n; i++) {
|
|
679
689
|
entries[i].object = jv_array_get(jv_copy(objects), i);
|
|
@@ -728,3 +738,26 @@ jv jv_group(jv objects, jv keys) {
|
|
|
728
738
|
jv_mem_free(entries);
|
|
729
739
|
return ret;
|
|
730
740
|
}
|
|
741
|
+
|
|
742
|
+
jv jv_unique(jv objects, jv keys) {
|
|
743
|
+
assert(jv_get_kind(objects) == JV_KIND_ARRAY);
|
|
744
|
+
assert(jv_get_kind(keys) == JV_KIND_ARRAY);
|
|
745
|
+
assert(jv_array_length(jv_copy(objects)) == jv_array_length(jv_copy(keys)));
|
|
746
|
+
int n = jv_array_length(jv_copy(objects));
|
|
747
|
+
struct sort_entry* entries = sort_items(objects, keys);
|
|
748
|
+
jv ret = jv_array();
|
|
749
|
+
jv curr_key = jv_invalid();
|
|
750
|
+
for (int i = 0; i < n; i++) {
|
|
751
|
+
if (jv_equal(jv_copy(curr_key), jv_copy(entries[i].key))) {
|
|
752
|
+
jv_free(entries[i].key);
|
|
753
|
+
jv_free(entries[i].object);
|
|
754
|
+
} else {
|
|
755
|
+
jv_free(curr_key);
|
|
756
|
+
curr_key = entries[i].key;
|
|
757
|
+
ret = jv_array_append(ret, entries[i].object);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
jv_free(curr_key);
|
|
761
|
+
jv_mem_free(entries);
|
|
762
|
+
return ret;
|
|
763
|
+
}
|
package/deps/jq/src/jv_dtoa.c
CHANGED
|
@@ -299,7 +299,7 @@ extern "C" {
|
|
|
299
299
|
#endif
|
|
300
300
|
|
|
301
301
|
#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
|
|
302
|
-
Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
|
|
302
|
+
# error Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
|
|
303
303
|
#endif
|
|
304
304
|
|
|
305
305
|
typedef union { double d; ULong L[2]; } U;
|
|
@@ -2368,29 +2368,21 @@ jvp_strtod
|
|
|
2368
2368
|
|
|
2369
2369
|
sign = nz0 = nz1 = nz = bc.dplen = bc.uflchk = 0;
|
|
2370
2370
|
dval(&rv) = 0.;
|
|
2371
|
-
|
|
2371
|
+
switch(*(s = s00)) {
|
|
2372
2372
|
case '-':
|
|
2373
2373
|
sign = 1;
|
|
2374
2374
|
/* no break */
|
|
2375
2375
|
JQ_FALLTHROUGH;
|
|
2376
2376
|
case '+':
|
|
2377
2377
|
if (*++s)
|
|
2378
|
-
|
|
2378
|
+
break;
|
|
2379
2379
|
/* no break */
|
|
2380
2380
|
JQ_FALLTHROUGH;
|
|
2381
2381
|
case 0:
|
|
2382
2382
|
goto ret0;
|
|
2383
|
-
case '\t':
|
|
2384
|
-
case '\n':
|
|
2385
|
-
case '\v':
|
|
2386
|
-
case '\f':
|
|
2387
|
-
case '\r':
|
|
2388
|
-
case ' ':
|
|
2389
|
-
continue;
|
|
2390
2383
|
default:
|
|
2391
|
-
|
|
2384
|
+
break;
|
|
2392
2385
|
}
|
|
2393
|
-
break2:
|
|
2394
2386
|
if (*s == '0') {
|
|
2395
2387
|
#ifndef NO_HEX_FP /*{*/
|
|
2396
2388
|
switch(s[1]) {
|