openscad-cpp-evaluator 1.49.1__tar.gz → 1.49.2__tar.gz
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.
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/zip_stored.cpp +43 -10
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_zip_stored.cpp +87 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/uv.lock +1 -1
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/.gitignore +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/.gitmodules +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/LICENSE +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/README.md +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/bindings/ast_to_py.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/bindings/module.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/cmake/patch_manifold.cmake +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/LICENSE +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope_table.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/.DS_Store +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_concurrent_parse.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_profile_time.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_render_expression.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_strict_commas.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/coverage.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/font_match.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/format_closure.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/freetype_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/mesh_check.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/utf8.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/python/openscad_cpp_evaluator/__init__.py +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/resources/fonts/LiberationSans-Bold.ttf +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/resources/fonts/LiberationSans-BoldItalic.ttf +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/resources/fonts/LiberationSans-Italic.ttf +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/dxf_dim.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/primitives_3d.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/profile_time.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/coverage.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/csg_resolve.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/debug_profile.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/eval_use.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/format_closure.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/import/scene_import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/measure_geometry.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/text/font_match.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/text/freetype_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/utf8.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/xkcd_colors.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/xkcd_colors.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_children_separate.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_coverage.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_debug_hooks.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_discretizer.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_feature_detection.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_include_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_openscad_parity.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_primitives.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_profile_time.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_python_bindings.py +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_render_expr.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_scope_trail.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_undef_args.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_unexpected_args.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tools/cli/main.cpp +0 -0
|
@@ -52,6 +52,7 @@ uint16_t readU16(const uint8_t* p) { return static_cast<uint16_t>(p[0] | (p[1] <
|
|
|
52
52
|
uint32_t readU32(const uint8_t* p) {
|
|
53
53
|
return static_cast<uint32_t>(p[0] | (p[1] << 8) | (p[2] << 16) | (static_cast<uint32_t>(p[3]) << 24));
|
|
54
54
|
}
|
|
55
|
+
uint64_t readU64(const uint8_t* p) { return readU32(p) | (static_cast<uint64_t>(readU32(p + 4)) << 32); }
|
|
55
56
|
|
|
56
57
|
// A fixed, valid DOS date/time (2020-01-01 00:00:00) -- the exact instant
|
|
57
58
|
// doesn't matter for a generated 3MF, just that it's a well-formed DOS
|
|
@@ -156,9 +157,9 @@ void writeZipEntries(const std::string& path, const std::vector<PlacedEntry>& en
|
|
|
156
157
|
struct CentralDirEntry {
|
|
157
158
|
std::string name;
|
|
158
159
|
uint16_t method;
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
uint64_t compressedSize;
|
|
161
|
+
uint64_t uncompressedSize;
|
|
162
|
+
uint64_t localHeaderOffset;
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
std::vector<uint8_t> readWholeFile(const std::string& path) {
|
|
@@ -189,25 +190,57 @@ std::vector<CentralDirEntry> parseCentralDirectory(const std::vector<uint8_t>& f
|
|
|
189
190
|
}
|
|
190
191
|
if (eocd == std::string::npos) throw std::runtime_error("'" + path + "' is not a valid ZIP archive (no EOCD)");
|
|
191
192
|
|
|
192
|
-
|
|
193
|
-
|
|
193
|
+
uint64_t entryCount = readU16(&file[eocd + 10]);
|
|
194
|
+
uint64_t cdOffset = readU32(&file[eocd + 16]);
|
|
195
|
+
// ZIP64: a field too big for the classic record is all ones, and the
|
|
196
|
+
// real value is in the ZIP64 end record the locator just before it
|
|
197
|
+
// points to. lib3mf -- behind OpenSCAD's and most slicers' 3MF export --
|
|
198
|
+
// writes one even for a tiny file, so without this nearly every 3MF
|
|
199
|
+
// read as "corrupt central directory offset" (BelfrySCAD #800).
|
|
200
|
+
if ((entryCount == 0xFFFFu || cdOffset == 0xFFFFFFFFu) && eocd >= 20 &&
|
|
201
|
+
readU32(&file[eocd - 20]) == 0x07064b50u) {
|
|
202
|
+
const uint64_t z64 = readU64(&file[eocd - 20 + 8]);
|
|
203
|
+
if (z64 + 56 > file.size() || readU32(&file[z64]) != 0x06064b50u) {
|
|
204
|
+
throw std::runtime_error("'" + path + "': corrupt ZIP64 end of central directory");
|
|
205
|
+
}
|
|
206
|
+
entryCount = readU64(&file[z64 + 32]);
|
|
207
|
+
cdOffset = readU64(&file[z64 + 48]);
|
|
208
|
+
}
|
|
194
209
|
if (cdOffset >= file.size()) throw std::runtime_error("'" + path + "': corrupt central directory offset");
|
|
195
210
|
|
|
196
211
|
std::vector<CentralDirEntry> entries;
|
|
197
212
|
size_t p = cdOffset;
|
|
198
|
-
for (
|
|
213
|
+
for (uint64_t i = 0; i < entryCount; ++i) {
|
|
199
214
|
if (p + 46 > file.size() || readU32(&file[p]) != 0x02014b50u) {
|
|
200
215
|
throw std::runtime_error("'" + path + "': corrupt central directory entry");
|
|
201
216
|
}
|
|
202
217
|
const uint16_t method = readU16(&file[p + 10]);
|
|
203
|
-
|
|
204
|
-
|
|
218
|
+
uint64_t compressedSize = readU32(&file[p + 20]);
|
|
219
|
+
uint64_t uncompressedSize = readU32(&file[p + 24]);
|
|
205
220
|
const uint16_t nameLen = readU16(&file[p + 28]);
|
|
206
221
|
const uint16_t extraLen = readU16(&file[p + 30]);
|
|
207
222
|
const uint16_t commentLen = readU16(&file[p + 32]);
|
|
208
|
-
|
|
209
|
-
if (p + 46 + nameLen > file.size()) throw std::runtime_error("'" + path + "': corrupt central directory entry name");
|
|
223
|
+
uint64_t localHeaderOffset = readU32(&file[p + 42]);
|
|
224
|
+
if (p + 46 + nameLen + extraLen > file.size()) throw std::runtime_error("'" + path + "': corrupt central directory entry name");
|
|
210
225
|
std::string name(reinterpret_cast<const char*>(&file[p + 46]), nameLen);
|
|
226
|
+
// A ZIP64 extra field (id 1) holds, in this order, only the values
|
|
227
|
+
// whose 32-bit field above is all ones.
|
|
228
|
+
for (size_t x = p + 46 + nameLen, xEnd = x + extraLen; x + 4 <= xEnd;) {
|
|
229
|
+
const uint16_t id = readU16(&file[x]);
|
|
230
|
+
const uint16_t len = readU16(&file[x + 2]);
|
|
231
|
+
size_t q = x + 4;
|
|
232
|
+
const size_t qEnd = std::min<size_t>(q + len, xEnd);
|
|
233
|
+
if (id == 0x0001u) {
|
|
234
|
+
for (uint64_t* v : {&uncompressedSize, &compressedSize, &localHeaderOffset}) {
|
|
235
|
+
if (*v != 0xFFFFFFFFu) continue;
|
|
236
|
+
if (q + 8 > qEnd) throw std::runtime_error("'" + path + "': corrupt ZIP64 extra field");
|
|
237
|
+
*v = readU64(&file[q]);
|
|
238
|
+
q += 8;
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
x = q + len;
|
|
243
|
+
}
|
|
211
244
|
entries.push_back(CentralDirEntry{std::move(name), method, compressedSize, uncompressedSize, localHeaderOffset});
|
|
212
245
|
p += 46 + nameLen + extraLen + commentLen;
|
|
213
246
|
}
|
|
@@ -253,3 +253,90 @@ TEST(ZipStored, StoredZipWritesMethod0) {
|
|
|
253
253
|
EXPECT_EQ(centralDirMethodBySuffix(path.string(), "3dmodel.model"), 0);
|
|
254
254
|
std::filesystem::remove(path);
|
|
255
255
|
}
|
|
256
|
+
|
|
257
|
+
TEST(ZipStored, ReadsZip64Archive) {
|
|
258
|
+
// The shape lib3mf writes (BelfrySCAD #800): every size and offset in the
|
|
259
|
+
// central directory and classic end record all ones, the real values in a
|
|
260
|
+
// ZIP64 extra field and a ZIP64 end record found through its locator.
|
|
261
|
+
const std::string name = "3D/3dmodel.model";
|
|
262
|
+
const std::string content = "zip64 payload";
|
|
263
|
+
std::vector<uint8_t> out;
|
|
264
|
+
|
|
265
|
+
putLE<uint32_t>(out, 0x04034b50u);
|
|
266
|
+
putLE<uint16_t>(out, 45);
|
|
267
|
+
putLE<uint16_t>(out, 0);
|
|
268
|
+
putLE<uint16_t>(out, 0);
|
|
269
|
+
putLE<uint16_t>(out, 0);
|
|
270
|
+
putLE<uint16_t>(out, 0);
|
|
271
|
+
putLE<uint32_t>(out, 0);
|
|
272
|
+
putLE<uint32_t>(out, static_cast<uint32_t>(content.size()));
|
|
273
|
+
putLE<uint32_t>(out, static_cast<uint32_t>(content.size()));
|
|
274
|
+
putLE<uint16_t>(out, static_cast<uint16_t>(name.size()));
|
|
275
|
+
putLE<uint16_t>(out, 0);
|
|
276
|
+
out.insert(out.end(), name.begin(), name.end());
|
|
277
|
+
out.insert(out.end(), content.begin(), content.end());
|
|
278
|
+
|
|
279
|
+
const uint64_t cdStart = out.size();
|
|
280
|
+
putLE<uint32_t>(out, 0x02014b50u);
|
|
281
|
+
putLE<uint16_t>(out, 45);
|
|
282
|
+
putLE<uint16_t>(out, 45);
|
|
283
|
+
putLE<uint16_t>(out, 0);
|
|
284
|
+
putLE<uint16_t>(out, 0);
|
|
285
|
+
putLE<uint16_t>(out, 0);
|
|
286
|
+
putLE<uint16_t>(out, 0);
|
|
287
|
+
putLE<uint32_t>(out, 0);
|
|
288
|
+
putLE<uint32_t>(out, 0xFFFFFFFFu);
|
|
289
|
+
putLE<uint32_t>(out, 0xFFFFFFFFu);
|
|
290
|
+
putLE<uint16_t>(out, static_cast<uint16_t>(name.size()));
|
|
291
|
+
putLE<uint16_t>(out, 4 + 24 + 4 + 4); // an unrelated field first, then ZIP64
|
|
292
|
+
putLE<uint16_t>(out, 0);
|
|
293
|
+
putLE<uint16_t>(out, 0);
|
|
294
|
+
putLE<uint16_t>(out, 0);
|
|
295
|
+
putLE<uint32_t>(out, 0);
|
|
296
|
+
putLE<uint32_t>(out, 0xFFFFFFFFu);
|
|
297
|
+
out.insert(out.end(), name.begin(), name.end());
|
|
298
|
+
putLE<uint16_t>(out, 0x5455);
|
|
299
|
+
putLE<uint16_t>(out, 4);
|
|
300
|
+
putLE<uint32_t>(out, 0);
|
|
301
|
+
putLE<uint16_t>(out, 0x0001);
|
|
302
|
+
putLE<uint16_t>(out, 24);
|
|
303
|
+
putLE<uint64_t>(out, content.size());
|
|
304
|
+
putLE<uint64_t>(out, content.size());
|
|
305
|
+
putLE<uint64_t>(out, 0);
|
|
306
|
+
const uint64_t cdSize = out.size() - cdStart;
|
|
307
|
+
|
|
308
|
+
const uint64_t z64 = out.size();
|
|
309
|
+
putLE<uint32_t>(out, 0x06064b50u);
|
|
310
|
+
putLE<uint64_t>(out, 44);
|
|
311
|
+
putLE<uint16_t>(out, 45);
|
|
312
|
+
putLE<uint16_t>(out, 45);
|
|
313
|
+
putLE<uint32_t>(out, 0);
|
|
314
|
+
putLE<uint32_t>(out, 0);
|
|
315
|
+
putLE<uint64_t>(out, 1);
|
|
316
|
+
putLE<uint64_t>(out, 1);
|
|
317
|
+
putLE<uint64_t>(out, cdSize);
|
|
318
|
+
putLE<uint64_t>(out, cdStart);
|
|
319
|
+
|
|
320
|
+
putLE<uint32_t>(out, 0x07064b50u);
|
|
321
|
+
putLE<uint32_t>(out, 0);
|
|
322
|
+
putLE<uint64_t>(out, z64);
|
|
323
|
+
putLE<uint32_t>(out, 1);
|
|
324
|
+
|
|
325
|
+
putLE<uint32_t>(out, 0x06054b50u);
|
|
326
|
+
putLE<uint16_t>(out, 0);
|
|
327
|
+
putLE<uint16_t>(out, 0);
|
|
328
|
+
putLE<uint16_t>(out, 0xFFFF);
|
|
329
|
+
putLE<uint16_t>(out, 0xFFFF);
|
|
330
|
+
putLE<uint32_t>(out, 0xFFFFFFFFu);
|
|
331
|
+
putLE<uint32_t>(out, 0xFFFFFFFFu);
|
|
332
|
+
putLE<uint16_t>(out, 0);
|
|
333
|
+
|
|
334
|
+
const auto path = tempPath("zip64.zip");
|
|
335
|
+
{
|
|
336
|
+
std::ofstream f(path, std::ios::binary);
|
|
337
|
+
f.write(reinterpret_cast<const char*>(out.data()), static_cast<std::streamsize>(out.size()));
|
|
338
|
+
}
|
|
339
|
+
const std::vector<uint8_t> read = readStoredZipEntry(path.string(), name);
|
|
340
|
+
EXPECT_EQ(std::string(read.begin(), read.end()), content);
|
|
341
|
+
std::filesystem::remove(path);
|
|
342
|
+
}
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/.github/workflows/wheels.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/examples/minimal_debugger.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/external/openscad_cpp_parser/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/primitives_2d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/primitives_3d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/builtins/profile_time.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/src/text/freetype_font_provider.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_bytecode_compiler.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_children_separate.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_dxf_svg_import.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_feature_detection.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_import_export.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_include_cache.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_manifold_cache.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_multi_color_merge.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_openscad_parity.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_python_bindings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_unexpected_args.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.49.1 → openscad_cpp_evaluator-1.49.2}/tests/test_viewport_params.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|