grpc 1.50.0.pre1 → 1.51.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +131 -42
- data/include/grpc/event_engine/event_engine.h +10 -3
- data/include/grpc/event_engine/slice_buffer.h +17 -0
- data/include/grpc/grpc.h +0 -10
- data/include/grpc/impl/codegen/grpc_types.h +1 -5
- data/include/grpc/impl/codegen/port_platform.h +0 -3
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +19 -13
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +1 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -5
- data/src/core/ext/filters/client_channel/client_channel.cc +120 -140
- data/src/core/ext/filters/client_channel/client_channel.h +3 -4
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +0 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
- data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -23
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +20 -47
- data/src/core/ext/filters/client_channel/dynamic_filters.h +7 -8
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +3 -4
- data/src/core/ext/filters/client_channel/http_proxy.cc +0 -1
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +8 -7
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +35 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -3
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +41 -29
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +9 -11
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -12
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +8 -10
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +26 -27
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +7 -9
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +44 -26
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +17 -27
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +13 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +48 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +40 -126
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +9 -9
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -32
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +22 -23
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +50 -52
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -4
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -3
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +34 -26
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -7
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +63 -46
- data/src/core/ext/filters/client_channel/retry_filter.cc +80 -102
- data/src/core/ext/filters/client_channel/retry_service_config.cc +192 -234
- data/src/core/ext/filters/client_channel/retry_service_config.h +20 -23
- data/src/core/ext/filters/client_channel/retry_throttle.cc +8 -8
- data/src/core/ext/filters/client_channel/retry_throttle.h +8 -7
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -2
- data/src/core/ext/filters/client_channel/subchannel.cc +21 -25
- data/src/core/ext/filters/client_channel/subchannel.h +2 -2
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +11 -12
- data/src/core/ext/filters/deadline/deadline_filter.cc +13 -14
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -4
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
- data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -12
- data/src/core/ext/filters/http/client/http_client_filter.cc +16 -16
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +13 -13
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +34 -34
- data/src/core/ext/filters/http/server/http_server_filter.cc +26 -25
- data/src/core/ext/filters/message_size/message_size_filter.cc +86 -117
- data/src/core/ext/filters/message_size/message_size_filter.h +22 -15
- data/src/core/ext/filters/rbac/rbac_filter.cc +12 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +728 -530
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -3
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +1 -1
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +17 -21
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +57 -72
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +212 -253
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +42 -11
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +13 -13
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +15 -17
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +31 -39
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +7 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +24 -8
- data/src/core/ext/transport/chttp2/transport/parsing.cc +51 -52
- data/src/core/ext/transport/chttp2/transport/varint.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/varint.h +11 -8
- data/src/core/ext/transport/chttp2/transport/writing.cc +16 -16
- data/src/core/ext/transport/inproc/inproc_transport.cc +97 -115
- data/src/core/ext/xds/certificate_provider_store.cc +4 -4
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -7
- data/src/core/ext/xds/xds_api.cc +15 -68
- data/src/core/ext/xds/xds_api.h +3 -7
- data/src/core/ext/xds/xds_bootstrap.h +0 -1
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +3 -12
- data/src/core/ext/xds/xds_bootstrap_grpc.h +16 -1
- data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +0 -1
- data/src/core/ext/xds/xds_client.cc +122 -90
- data/src/core/ext/xds/xds_client.h +7 -2
- data/src/core/ext/xds/xds_client_grpc.cc +5 -24
- data/src/core/ext/xds/xds_cluster.cc +291 -183
- data/src/core/ext/xds/xds_cluster.h +11 -15
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +32 -29
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +35 -16
- data/src/core/ext/xds/xds_common_types.cc +208 -141
- data/src/core/ext/xds/xds_common_types.h +19 -13
- data/src/core/ext/xds/xds_endpoint.cc +214 -129
- data/src/core/ext/xds/xds_endpoint.h +4 -7
- data/src/core/ext/xds/xds_http_fault_filter.cc +56 -43
- data/src/core/ext/xds/xds_http_fault_filter.h +13 -21
- data/src/core/ext/xds/xds_http_filters.cc +60 -73
- data/src/core/ext/xds/xds_http_filters.h +67 -19
- data/src/core/ext/xds/xds_http_rbac_filter.cc +152 -207
- data/src/core/ext/xds/xds_http_rbac_filter.h +12 -15
- data/src/core/ext/xds/xds_lb_policy_registry.cc +122 -169
- data/src/core/ext/xds/xds_lb_policy_registry.h +10 -11
- data/src/core/ext/xds/xds_listener.cc +459 -417
- data/src/core/ext/xds/xds_listener.h +43 -47
- data/src/core/ext/xds/xds_resource_type.h +3 -11
- data/src/core/ext/xds/xds_resource_type_impl.h +8 -13
- data/src/core/ext/xds/xds_route_config.cc +94 -80
- data/src/core/ext/xds/xds_route_config.h +10 -10
- data/src/core/ext/xds/xds_routing.cc +2 -1
- data/src/core/ext/xds/xds_routing.h +2 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +109 -94
- data/src/core/ext/xds/xds_transport_grpc.cc +4 -5
- data/src/core/lib/address_utils/parse_address.cc +11 -10
- data/src/core/lib/channel/channel_args.h +16 -1
- data/src/core/lib/channel/channel_stack.cc +23 -20
- data/src/core/lib/channel/channel_stack.h +17 -4
- data/src/core/lib/channel/channel_stack_builder.cc +4 -7
- data/src/core/lib/channel/channel_stack_builder.h +14 -6
- data/src/core/lib/channel/channel_stack_builder_impl.cc +25 -7
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -0
- data/src/core/lib/channel/channel_trace.cc +4 -5
- data/src/core/lib/channel/channelz.cc +1 -1
- data/src/core/lib/channel/connected_channel.cc +695 -35
- data/src/core/lib/channel/connected_channel.h +0 -4
- data/src/core/lib/channel/promise_based_filter.cc +1004 -140
- data/src/core/lib/channel/promise_based_filter.h +364 -87
- data/src/core/lib/compression/message_compress.cc +5 -5
- data/src/core/lib/debug/event_log.cc +88 -0
- data/src/core/lib/debug/event_log.h +81 -0
- data/src/core/lib/debug/histogram_view.cc +69 -0
- data/src/core/lib/{slice/slice_refcount.cc → debug/histogram_view.h} +15 -13
- data/src/core/lib/debug/stats.cc +22 -119
- data/src/core/lib/debug/stats.h +29 -35
- data/src/core/lib/debug/stats_data.cc +224 -73
- data/src/core/lib/debug/stats_data.h +263 -122
- data/src/core/lib/event_engine/common_closures.h +71 -0
- data/src/core/lib/event_engine/default_event_engine.cc +38 -15
- data/src/core/lib/event_engine/default_event_engine.h +15 -3
- data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -4
- data/src/core/lib/event_engine/memory_allocator.cc +1 -1
- data/src/core/lib/event_engine/poller.h +10 -4
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +618 -0
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +901 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
- data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
- data/src/core/lib/event_engine/{executor/threaded_executor.cc → posix_engine/event_poller_posix_default.h} +13 -16
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +267 -0
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1270 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +682 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +453 -18
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +148 -24
- data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1081 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +361 -0
- data/src/core/lib/event_engine/posix_engine/timer.h +9 -8
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +57 -194
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +21 -49
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +301 -0
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +179 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +126 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +151 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
- data/src/core/lib/event_engine/slice.cc +7 -6
- data/src/core/lib/event_engine/slice_buffer.cc +2 -2
- data/src/core/lib/event_engine/thread_pool.cc +106 -25
- data/src/core/lib/event_engine/thread_pool.h +32 -9
- data/src/core/lib/event_engine/windows/win_socket.cc +7 -7
- data/src/core/lib/event_engine/windows/windows_engine.cc +18 -12
- data/src/core/lib/event_engine/windows/windows_engine.h +8 -4
- data/src/core/lib/experiments/config.cc +1 -1
- data/src/core/lib/experiments/experiments.cc +13 -2
- data/src/core/lib/experiments/experiments.h +8 -1
- data/src/core/lib/gpr/cpu_linux.cc +6 -2
- data/src/core/lib/gpr/log_linux.cc +3 -4
- data/src/core/lib/gpr/string.h +1 -1
- data/src/core/lib/gpr/tmpfile_posix.cc +3 -2
- data/src/core/lib/gprpp/load_file.cc +75 -0
- data/src/core/lib/gprpp/load_file.h +33 -0
- data/src/core/lib/gprpp/per_cpu.h +46 -0
- data/src/core/lib/gprpp/stat_posix.cc +5 -4
- data/src/core/lib/gprpp/stat_windows.cc +3 -2
- data/src/core/lib/gprpp/status_helper.h +1 -3
- data/src/core/lib/gprpp/strerror.cc +41 -0
- data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/strerror.h} +9 -13
- data/src/core/lib/gprpp/thd_windows.cc +1 -2
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +13 -2
- data/src/core/lib/gprpp/validation_errors.h +18 -1
- data/src/core/lib/http/httpcli.cc +40 -44
- data/src/core/lib/http/httpcli.h +6 -5
- data/src/core/lib/http/httpcli_security_connector.cc +4 -6
- data/src/core/lib/http/parser.cc +54 -65
- data/src/core/lib/iomgr/buffer_list.cc +105 -116
- data/src/core/lib/iomgr/buffer_list.h +60 -44
- data/src/core/lib/iomgr/call_combiner.cc +11 -10
- data/src/core/lib/iomgr/call_combiner.h +3 -4
- data/src/core/lib/iomgr/cfstream_handle.cc +13 -16
- data/src/core/lib/iomgr/closure.h +49 -5
- data/src/core/lib/iomgr/combiner.cc +2 -2
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +26 -25
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
- data/src/core/lib/iomgr/error.cc +27 -42
- data/src/core/lib/iomgr/error.h +22 -152
- data/src/core/lib/iomgr/ev_apple.cc +4 -4
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +26 -25
- data/src/core/lib/iomgr/ev_poll_posix.cc +27 -31
- data/src/core/lib/iomgr/exec_ctx.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.h +2 -3
- data/src/core/lib/iomgr/executor.cc +1 -2
- data/src/core/lib/iomgr/internal_errqueue.cc +3 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -0
- data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +2 -1
- data/src/core/lib/iomgr/load_file.cc +5 -9
- data/src/core/lib/iomgr/lockfree_event.cc +10 -10
- data/src/core/lib/iomgr/pollset_windows.cc +4 -4
- data/src/core/lib/iomgr/python_util.h +2 -2
- data/src/core/lib/iomgr/resolve_address.cc +8 -3
- data/src/core/lib/iomgr/resolve_address.h +3 -4
- data/src/core/lib/iomgr/resolve_address_impl.h +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +14 -25
- data/src/core/lib/iomgr/resolve_address_posix.h +1 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +14 -17
- data/src/core/lib/iomgr/resolve_address_windows.h +1 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +30 -29
- data/src/core/lib/iomgr/socket_utils_posix.cc +1 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
- data/src/core/lib/iomgr/socket_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -10
- data/src/core/lib/iomgr/tcp_client_posix.cc +31 -35
- data/src/core/lib/iomgr/tcp_client_windows.cc +8 -12
- data/src/core/lib/iomgr/tcp_posix.cc +92 -108
- data/src/core/lib/iomgr/tcp_server_posix.cc +34 -34
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +18 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +12 -13
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +1 -1
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -29
- data/src/core/lib/iomgr/tcp_windows.cc +27 -34
- data/src/core/lib/iomgr/timer.h +8 -8
- data/src/core/lib/iomgr/timer_generic.cc +9 -15
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -4
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +4 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -8
- data/src/core/lib/json/json_channel_args.h +42 -0
- data/src/core/lib/json/json_object_loader.cc +7 -2
- data/src/core/lib/json/json_object_loader.h +22 -0
- data/src/core/lib/json/json_util.cc +5 -5
- data/src/core/lib/json/json_util.h +4 -4
- data/src/core/lib/load_balancing/lb_policy.cc +1 -1
- data/src/core/lib/load_balancing/lb_policy.h +4 -0
- data/src/core/lib/load_balancing/subchannel_interface.h +0 -7
- data/src/core/lib/matchers/matchers.cc +3 -4
- data/src/core/lib/promise/activity.cc +16 -2
- data/src/core/lib/promise/activity.h +38 -15
- data/src/core/lib/promise/arena_promise.h +80 -51
- data/src/core/lib/promise/context.h +13 -6
- data/src/core/lib/promise/detail/basic_seq.h +9 -28
- data/src/core/lib/promise/detail/promise_factory.h +58 -10
- data/src/core/lib/promise/detail/status.h +28 -0
- data/src/core/lib/promise/detail/switch.h +1455 -0
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +3 -1
- data/src/core/lib/promise/for_each.h +129 -0
- data/src/core/lib/promise/loop.h +7 -5
- data/src/core/lib/promise/map_pipe.h +87 -0
- data/src/core/lib/promise/pipe.cc +19 -0
- data/src/core/lib/promise/pipe.h +505 -0
- data/src/core/lib/promise/poll.h +13 -0
- data/src/core/lib/promise/seq.h +3 -5
- data/src/core/lib/promise/sleep.cc +5 -4
- data/src/core/lib/promise/sleep.h +1 -2
- data/src/core/lib/promise/try_concurrently.h +341 -0
- data/src/core/lib/promise/try_seq.h +10 -13
- data/src/core/lib/resolver/server_address.cc +1 -0
- data/src/core/lib/resolver/server_address.h +1 -3
- data/src/core/lib/resource_quota/api.cc +0 -1
- data/src/core/lib/resource_quota/arena.cc +19 -0
- data/src/core/lib/resource_quota/arena.h +89 -0
- data/src/core/lib/resource_quota/memory_quota.cc +1 -0
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +1 -3
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -2
- data/src/core/lib/security/authorization/matchers.cc +25 -22
- data/src/core/lib/security/authorization/rbac_policy.cc +2 -3
- data/src/core/lib/security/context/security_context.h +10 -0
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +3 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +77 -55
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -3
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -51
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +17 -21
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +21 -25
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -24
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +1 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +24 -30
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +3 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +19 -27
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -11
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +29 -41
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +6 -11
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +8 -15
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +2 -6
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +1 -4
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +7 -11
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +9 -14
- data/src/core/lib/security/security_connector/ssl_utils.cc +5 -7
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -27
- data/src/core/lib/security/transport/client_auth_filter.cc +1 -1
- data/src/core/lib/security/transport/secure_endpoint.cc +26 -28
- data/src/core/lib/security/transport/security_handshaker.cc +53 -53
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/security/transport/tsi_error.cc +6 -3
- data/src/core/lib/security/util/json_util.cc +4 -5
- data/src/core/lib/service_config/service_config.h +1 -1
- data/src/core/lib/service_config/service_config_impl.cc +111 -158
- data/src/core/lib/service_config/service_config_impl.h +14 -17
- data/src/core/lib/service_config/service_config_parser.cc +14 -31
- data/src/core/lib/service_config/service_config_parser.h +14 -10
- data/src/core/lib/slice/b64.cc +2 -2
- data/src/core/lib/slice/slice.cc +7 -1
- data/src/core/lib/slice/slice.h +19 -6
- data/src/core/lib/slice/slice_buffer.cc +13 -14
- data/src/core/lib/slice/slice_internal.h +13 -21
- data/src/core/lib/slice/slice_refcount.h +34 -19
- data/src/core/lib/surface/byte_buffer.cc +3 -4
- data/src/core/lib/surface/byte_buffer_reader.cc +4 -4
- data/src/core/lib/surface/call.cc +1366 -239
- data/src/core/lib/surface/call.h +44 -0
- data/src/core/lib/surface/call_details.cc +3 -3
- data/src/core/lib/surface/call_trace.cc +113 -0
- data/src/core/lib/surface/call_trace.h +30 -0
- data/src/core/lib/surface/channel.cc +44 -49
- data/src/core/lib/surface/channel.h +9 -1
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/channel_stack_type.cc +4 -0
- data/src/core/lib/surface/channel_stack_type.h +2 -0
- data/src/core/lib/surface/completion_queue.cc +38 -52
- data/src/core/lib/surface/init.cc +8 -39
- data/src/core/lib/surface/init_internally.h +8 -0
- data/src/core/lib/surface/lame_client.cc +10 -8
- data/src/core/lib/surface/server.cc +48 -70
- data/src/core/lib/surface/server.h +3 -4
- data/src/core/lib/surface/validate_metadata.cc +11 -12
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/connectivity_state.cc +2 -2
- data/src/core/lib/transport/error_utils.cc +34 -28
- data/src/core/lib/transport/error_utils.h +3 -3
- data/src/core/lib/transport/handshaker.cc +14 -14
- data/src/core/lib/transport/handshaker.h +1 -1
- data/src/core/lib/transport/handshaker_factory.h +26 -0
- data/src/core/lib/transport/handshaker_registry.cc +8 -2
- data/src/core/lib/transport/handshaker_registry.h +3 -4
- data/src/core/lib/transport/http_connect_handshaker.cc +23 -24
- data/src/core/lib/transport/metadata_batch.h +17 -1
- data/src/core/lib/transport/parsed_metadata.cc +2 -6
- data/src/core/lib/transport/tcp_connect_handshaker.cc +15 -20
- data/src/core/lib/transport/transport.cc +63 -17
- data/src/core/lib/transport/transport.h +64 -68
- data/src/core/lib/transport/transport_impl.h +1 -1
- data/src/core/lib/transport/transport_op_string.cc +7 -6
- data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -10
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -14
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +10 -10
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +8 -8
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +7 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +7 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +5 -5
- data/src/core/tsi/fake_transport_security.cc +3 -3
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +7 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +6 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +0 -3
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/channel_spec.rb +0 -43
- data/src/ruby/spec/generic/active_call_spec.rb +12 -3
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
- data/third_party/zlib/compress.c +3 -3
- data/third_party/zlib/crc32.c +21 -12
- data/third_party/zlib/deflate.c +112 -106
- data/third_party/zlib/deflate.h +2 -2
- data/third_party/zlib/gzlib.c +1 -1
- data/third_party/zlib/gzread.c +3 -5
- data/third_party/zlib/gzwrite.c +1 -1
- data/third_party/zlib/infback.c +10 -7
- data/third_party/zlib/inflate.c +5 -2
- data/third_party/zlib/inftrees.c +2 -2
- data/third_party/zlib/inftrees.h +1 -1
- data/third_party/zlib/trees.c +61 -62
- data/third_party/zlib/uncompr.c +2 -2
- data/third_party/zlib/zconf.h +16 -3
- data/third_party/zlib/zlib.h +10 -10
- data/third_party/zlib/zutil.c +9 -7
- data/third_party/zlib/zutil.h +1 -0
- metadata +57 -20
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
- data/src/core/lib/event_engine/executor/threaded_executor.h +0 -44
- data/src/core/lib/gpr/murmur_hash.cc +0 -82
- data/src/core/lib/gpr/murmur_hash.h +0 -29
- data/src/core/lib/gpr/tls.h +0 -156
- data/src/core/lib/promise/call_push_pull.h +0 -148
- data/src/core/lib/slice/slice_api.cc +0 -39
- data/src/core/lib/slice/slice_buffer_api.cc +0 -35
- data/src/core/lib/slice/slice_refcount_base.h +0 -60
data/third_party/zlib/deflate.c
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
#include "deflate.h"
|
53
53
|
|
54
54
|
const char deflate_copyright[] =
|
55
|
-
" deflate 1.2.
|
55
|
+
" deflate 1.2.13 Copyright 1995-2022 Jean-loup Gailly and Mark Adler ";
|
56
56
|
/*
|
57
57
|
If you use the zlib library in a product, an acknowledgment is welcome
|
58
58
|
in the documentation of your product. If for some reason you cannot
|
@@ -87,13 +87,7 @@ local void lm_init OF((deflate_state *s));
|
|
87
87
|
local void putShortMSB OF((deflate_state *s, uInt b));
|
88
88
|
local void flush_pending OF((z_streamp strm));
|
89
89
|
local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
|
90
|
-
#ifdef ASMV
|
91
|
-
# pragma message("Assembler code may have bugs -- use at your own risk")
|
92
|
-
void match_init OF((void)); /* asm code initialization */
|
93
|
-
uInt longest_match OF((deflate_state *s, IPos cur_match));
|
94
|
-
#else
|
95
90
|
local uInt longest_match OF((deflate_state *s, IPos cur_match));
|
96
|
-
#endif
|
97
91
|
|
98
92
|
#ifdef ZLIB_DEBUG
|
99
93
|
local void check_match OF((deflate_state *s, IPos start, IPos match,
|
@@ -160,7 +154,7 @@ local const config configuration_table[10] = {
|
|
160
154
|
* characters, so that a running hash key can be computed from the previous
|
161
155
|
* key instead of complete recalculation each time.
|
162
156
|
*/
|
163
|
-
#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
|
157
|
+
#define UPDATE_HASH(s,h,c) (h = (((h) << s->hash_shift) ^ (c)) & s->hash_mask)
|
164
158
|
|
165
159
|
|
166
160
|
/* ===========================================================================
|
@@ -191,9 +185,9 @@ local const config configuration_table[10] = {
|
|
191
185
|
*/
|
192
186
|
#define CLEAR_HASH(s) \
|
193
187
|
do { \
|
194
|
-
s->head[s->hash_size-1] = NIL; \
|
188
|
+
s->head[s->hash_size - 1] = NIL; \
|
195
189
|
zmemzero((Bytef *)s->head, \
|
196
|
-
(unsigned)(s->hash_size-1)*sizeof(*s->head)); \
|
190
|
+
(unsigned)(s->hash_size - 1)*sizeof(*s->head)); \
|
197
191
|
} while (0)
|
198
192
|
|
199
193
|
/* ===========================================================================
|
@@ -285,6 +279,8 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
|
|
285
279
|
|
286
280
|
if (windowBits < 0) { /* suppress zlib wrapper */
|
287
281
|
wrap = 0;
|
282
|
+
if (windowBits < -15)
|
283
|
+
return Z_STREAM_ERROR;
|
288
284
|
windowBits = -windowBits;
|
289
285
|
}
|
290
286
|
#ifdef GZIP
|
@@ -314,7 +310,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
|
|
314
310
|
s->hash_bits = (uInt)memLevel + 7;
|
315
311
|
s->hash_size = 1 << s->hash_bits;
|
316
312
|
s->hash_mask = s->hash_size - 1;
|
317
|
-
s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
|
313
|
+
s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH);
|
318
314
|
|
319
315
|
s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
|
320
316
|
s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
|
@@ -340,11 +336,11 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
|
|
340
336
|
* sym_buf value to read moves forward three bytes. From that symbol, up to
|
341
337
|
* 31 bits are written to pending_buf. The closest the written pending_buf
|
342
338
|
* bits gets to the next sym_buf symbol to read is just before the last
|
343
|
-
* code is written. At that time, 31*(n-2) bits have been written, just
|
344
|
-
* after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
|
345
|
-
* 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
|
339
|
+
* code is written. At that time, 31*(n - 2) bits have been written, just
|
340
|
+
* after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
|
341
|
+
* 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
|
346
342
|
* symbols are written.) The closest the writing gets to what is unread is
|
347
|
-
* then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
|
343
|
+
* then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
|
348
344
|
* can range from 128 to 32768.
|
349
345
|
*
|
350
346
|
* Therefore, at a minimum, there are 142 bits of space between what is
|
@@ -390,7 +386,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
|
|
390
386
|
/* =========================================================================
|
391
387
|
* Check for a valid deflate stream state. Return 0 if ok, 1 if not.
|
392
388
|
*/
|
393
|
-
local int deflateStateCheck
|
389
|
+
local int deflateStateCheck(strm)
|
394
390
|
z_streamp strm;
|
395
391
|
{
|
396
392
|
deflate_state *s;
|
@@ -413,7 +409,7 @@ local int deflateStateCheck (strm)
|
|
413
409
|
}
|
414
410
|
|
415
411
|
/* ========================================================================= */
|
416
|
-
int ZEXPORT deflateSetDictionary
|
412
|
+
int ZEXPORT deflateSetDictionary(strm, dictionary, dictLength)
|
417
413
|
z_streamp strm;
|
418
414
|
const Bytef *dictionary;
|
419
415
|
uInt dictLength;
|
@@ -482,7 +478,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
|
|
482
478
|
}
|
483
479
|
|
484
480
|
/* ========================================================================= */
|
485
|
-
int ZEXPORT deflateGetDictionary
|
481
|
+
int ZEXPORT deflateGetDictionary(strm, dictionary, dictLength)
|
486
482
|
z_streamp strm;
|
487
483
|
Bytef *dictionary;
|
488
484
|
uInt *dictLength;
|
@@ -504,7 +500,7 @@ int ZEXPORT deflateGetDictionary (strm, dictionary, dictLength)
|
|
504
500
|
}
|
505
501
|
|
506
502
|
/* ========================================================================= */
|
507
|
-
int ZEXPORT deflateResetKeep
|
503
|
+
int ZEXPORT deflateResetKeep(strm)
|
508
504
|
z_streamp strm;
|
509
505
|
{
|
510
506
|
deflate_state *s;
|
@@ -542,7 +538,7 @@ int ZEXPORT deflateResetKeep (strm)
|
|
542
538
|
}
|
543
539
|
|
544
540
|
/* ========================================================================= */
|
545
|
-
int ZEXPORT deflateReset
|
541
|
+
int ZEXPORT deflateReset(strm)
|
546
542
|
z_streamp strm;
|
547
543
|
{
|
548
544
|
int ret;
|
@@ -554,7 +550,7 @@ int ZEXPORT deflateReset (strm)
|
|
554
550
|
}
|
555
551
|
|
556
552
|
/* ========================================================================= */
|
557
|
-
int ZEXPORT deflateSetHeader
|
553
|
+
int ZEXPORT deflateSetHeader(strm, head)
|
558
554
|
z_streamp strm;
|
559
555
|
gz_headerp head;
|
560
556
|
{
|
@@ -565,7 +561,7 @@ int ZEXPORT deflateSetHeader (strm, head)
|
|
565
561
|
}
|
566
562
|
|
567
563
|
/* ========================================================================= */
|
568
|
-
int ZEXPORT deflatePending
|
564
|
+
int ZEXPORT deflatePending(strm, pending, bits)
|
569
565
|
unsigned *pending;
|
570
566
|
int *bits;
|
571
567
|
z_streamp strm;
|
@@ -579,7 +575,7 @@ int ZEXPORT deflatePending (strm, pending, bits)
|
|
579
575
|
}
|
580
576
|
|
581
577
|
/* ========================================================================= */
|
582
|
-
int ZEXPORT deflatePrime
|
578
|
+
int ZEXPORT deflatePrime(strm, bits, value)
|
583
579
|
z_streamp strm;
|
584
580
|
int bits;
|
585
581
|
int value;
|
@@ -674,36 +670,50 @@ int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain)
|
|
674
670
|
}
|
675
671
|
|
676
672
|
/* =========================================================================
|
677
|
-
* For the default windowBits of 15 and memLevel of 8, this function returns
|
678
|
-
*
|
679
|
-
*
|
680
|
-
*
|
681
|
-
*
|
673
|
+
* For the default windowBits of 15 and memLevel of 8, this function returns a
|
674
|
+
* close to exact, as well as small, upper bound on the compressed size. This
|
675
|
+
* is an expansion of ~0.03%, plus a small constant.
|
676
|
+
*
|
677
|
+
* For any setting other than those defaults for windowBits and memLevel, one
|
678
|
+
* of two worst case bounds is returned. This is at most an expansion of ~4% or
|
679
|
+
* ~13%, plus a small constant.
|
682
680
|
*
|
683
|
-
*
|
684
|
-
*
|
685
|
-
*
|
686
|
-
*
|
681
|
+
* Both the 0.03% and 4% derive from the overhead of stored blocks. The first
|
682
|
+
* one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
|
683
|
+
* is for stored blocks of 127 bytes (the worst case memLevel == 1). The
|
684
|
+
* expansion results from five bytes of header for each stored block.
|
687
685
|
*
|
688
|
-
*
|
689
|
-
*
|
690
|
-
*
|
691
|
-
*
|
686
|
+
* The larger expansion of 13% results from a window size less than or equal to
|
687
|
+
* the symbols buffer size (windowBits <= memLevel + 7). In that case some of
|
688
|
+
* the data being compressed may have slid out of the sliding window, impeding
|
689
|
+
* a stored block from being emitted. Then the only choice is a fixed or
|
690
|
+
* dynamic block, where a fixed block limits the maximum expansion to 9 bits
|
691
|
+
* per 8-bit byte, plus 10 bits for every block. The smallest block size for
|
692
|
+
* which this can occur is 255 (memLevel == 2).
|
693
|
+
*
|
694
|
+
* Shifts are used to approximate divisions, for speed.
|
692
695
|
*/
|
693
696
|
uLong ZEXPORT deflateBound(strm, sourceLen)
|
694
697
|
z_streamp strm;
|
695
698
|
uLong sourceLen;
|
696
699
|
{
|
697
700
|
deflate_state *s;
|
698
|
-
uLong
|
701
|
+
uLong fixedlen, storelen, wraplen;
|
702
|
+
|
703
|
+
/* upper bound for fixed blocks with 9-bit literals and length 255
|
704
|
+
(memLevel == 2, which is the lowest that may not use stored blocks) --
|
705
|
+
~13% overhead plus a small constant */
|
706
|
+
fixedlen = sourceLen + (sourceLen >> 3) + (sourceLen >> 8) +
|
707
|
+
(sourceLen >> 9) + 4;
|
699
708
|
|
700
|
-
/*
|
701
|
-
|
702
|
-
|
709
|
+
/* upper bound for stored blocks with length 127 (memLevel == 1) --
|
710
|
+
~4% overhead plus a small constant */
|
711
|
+
storelen = sourceLen + (sourceLen >> 5) + (sourceLen >> 7) +
|
712
|
+
(sourceLen >> 11) + 7;
|
703
713
|
|
704
|
-
/* if can't get parameters, return
|
714
|
+
/* if can't get parameters, return larger bound plus a zlib wrapper */
|
705
715
|
if (deflateStateCheck(strm))
|
706
|
-
return
|
716
|
+
return (fixedlen > storelen ? fixedlen : storelen) + 6;
|
707
717
|
|
708
718
|
/* compute wrapper length */
|
709
719
|
s = strm->state;
|
@@ -740,11 +750,12 @@ uLong ZEXPORT deflateBound(strm, sourceLen)
|
|
740
750
|
wraplen = 6;
|
741
751
|
}
|
742
752
|
|
743
|
-
/* if not default parameters, return conservative
|
753
|
+
/* if not default parameters, return one of the conservative bounds */
|
744
754
|
if (s->w_bits != 15 || s->hash_bits != 8 + 7)
|
745
|
-
return
|
755
|
+
return (s->w_bits <= s->hash_bits ? fixedlen : storelen) + wraplen;
|
746
756
|
|
747
|
-
/* default settings: return tight bound for that case
|
757
|
+
/* default settings: return tight bound for that case -- ~0.03% overhead
|
758
|
+
plus a small constant */
|
748
759
|
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
|
749
760
|
(sourceLen >> 25) + 13 - 6 + wraplen;
|
750
761
|
}
|
@@ -754,7 +765,7 @@ uLong ZEXPORT deflateBound(strm, sourceLen)
|
|
754
765
|
* IN assertion: the stream state is correct and there is enough room in
|
755
766
|
* pending_buf.
|
756
767
|
*/
|
757
|
-
local void putShortMSB
|
768
|
+
local void putShortMSB(s, b)
|
758
769
|
deflate_state *s;
|
759
770
|
uInt b;
|
760
771
|
{
|
@@ -801,7 +812,7 @@ local void flush_pending(strm)
|
|
801
812
|
} while (0)
|
802
813
|
|
803
814
|
/* ========================================================================= */
|
804
|
-
int ZEXPORT deflate
|
815
|
+
int ZEXPORT deflate(strm, flush)
|
805
816
|
z_streamp strm;
|
806
817
|
int flush;
|
807
818
|
{
|
@@ -856,7 +867,7 @@ int ZEXPORT deflate (strm, flush)
|
|
856
867
|
s->status = BUSY_STATE;
|
857
868
|
if (s->status == INIT_STATE) {
|
858
869
|
/* zlib header */
|
859
|
-
uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
|
870
|
+
uInt header = (Z_DEFLATED + ((s->w_bits - 8) << 4)) << 8;
|
860
871
|
uInt level_flags;
|
861
872
|
|
862
873
|
if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
|
@@ -1116,7 +1127,7 @@ int ZEXPORT deflate (strm, flush)
|
|
1116
1127
|
}
|
1117
1128
|
|
1118
1129
|
/* ========================================================================= */
|
1119
|
-
int ZEXPORT deflateEnd
|
1130
|
+
int ZEXPORT deflateEnd(strm)
|
1120
1131
|
z_streamp strm;
|
1121
1132
|
{
|
1122
1133
|
int status;
|
@@ -1142,7 +1153,7 @@ int ZEXPORT deflateEnd (strm)
|
|
1142
1153
|
* To simplify the source, this is not supported for 16-bit MSDOS (which
|
1143
1154
|
* doesn't have enough memory anyway to duplicate compression states).
|
1144
1155
|
*/
|
1145
|
-
int ZEXPORT deflateCopy
|
1156
|
+
int ZEXPORT deflateCopy(dest, source)
|
1146
1157
|
z_streamp dest;
|
1147
1158
|
z_streamp source;
|
1148
1159
|
{
|
@@ -1231,7 +1242,7 @@ local unsigned read_buf(strm, buf, size)
|
|
1231
1242
|
/* ===========================================================================
|
1232
1243
|
* Initialize the "longest match" routines for a new zlib stream
|
1233
1244
|
*/
|
1234
|
-
local void lm_init
|
1245
|
+
local void lm_init(s)
|
1235
1246
|
deflate_state *s;
|
1236
1247
|
{
|
1237
1248
|
s->window_size = (ulg)2L*s->w_size;
|
@@ -1252,11 +1263,6 @@ local void lm_init (s)
|
|
1252
1263
|
s->match_length = s->prev_length = MIN_MATCH-1;
|
1253
1264
|
s->match_available = 0;
|
1254
1265
|
s->ins_h = 0;
|
1255
|
-
#ifndef FASTEST
|
1256
|
-
#ifdef ASMV
|
1257
|
-
match_init(); /* initialize the asm code */
|
1258
|
-
#endif
|
1259
|
-
#endif
|
1260
1266
|
}
|
1261
1267
|
|
1262
1268
|
#ifndef FASTEST
|
@@ -1269,10 +1275,6 @@ local void lm_init (s)
|
|
1269
1275
|
* string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
|
1270
1276
|
* OUT assertion: the match length is not greater than s->lookahead.
|
1271
1277
|
*/
|
1272
|
-
#ifndef ASMV
|
1273
|
-
/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
|
1274
|
-
* match.S. The code will be functionally equivalent.
|
1275
|
-
*/
|
1276
1278
|
local uInt longest_match(s, cur_match)
|
1277
1279
|
deflate_state *s;
|
1278
1280
|
IPos cur_match; /* current match */
|
@@ -1297,10 +1299,10 @@ local uInt longest_match(s, cur_match)
|
|
1297
1299
|
*/
|
1298
1300
|
register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
|
1299
1301
|
register ush scan_start = *(ushf*)scan;
|
1300
|
-
register ush scan_end = *(ushf*)(scan+best_len-1);
|
1302
|
+
register ush scan_end = *(ushf*)(scan + best_len - 1);
|
1301
1303
|
#else
|
1302
1304
|
register Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
1303
|
-
register Byte scan_end1 = scan[best_len-1];
|
1305
|
+
register Byte scan_end1 = scan[best_len - 1];
|
1304
1306
|
register Byte scan_end = scan[best_len];
|
1305
1307
|
#endif
|
1306
1308
|
|
@@ -1318,7 +1320,8 @@ local uInt longest_match(s, cur_match)
|
|
1318
1320
|
*/
|
1319
1321
|
if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
|
1320
1322
|
|
1321
|
-
Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD,
|
1323
|
+
Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
|
1324
|
+
"need lookahead");
|
1322
1325
|
|
1323
1326
|
do {
|
1324
1327
|
Assert(cur_match < s->strstart, "no future");
|
@@ -1336,43 +1339,44 @@ local uInt longest_match(s, cur_match)
|
|
1336
1339
|
/* This code assumes sizeof(unsigned short) == 2. Do not use
|
1337
1340
|
* UNALIGNED_OK if your compiler uses a different size.
|
1338
1341
|
*/
|
1339
|
-
if (*(ushf*)(match+best_len-1) != scan_end ||
|
1342
|
+
if (*(ushf*)(match + best_len - 1) != scan_end ||
|
1340
1343
|
*(ushf*)match != scan_start) continue;
|
1341
1344
|
|
1342
1345
|
/* It is not necessary to compare scan[2] and match[2] since they are
|
1343
1346
|
* always equal when the other bytes match, given that the hash keys
|
1344
1347
|
* are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
|
1345
|
-
* strstart+3, +5,
|
1348
|
+
* strstart + 3, + 5, up to strstart + 257. We check for insufficient
|
1346
1349
|
* lookahead only every 4th comparison; the 128th check will be made
|
1347
|
-
* at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
|
1350
|
+
* at strstart + 257. If MAX_MATCH-2 is not a multiple of 8, it is
|
1348
1351
|
* necessary to put more guard bytes at the end of the window, or
|
1349
1352
|
* to check more often for insufficient lookahead.
|
1350
1353
|
*/
|
1351
1354
|
Assert(scan[2] == match[2], "scan[2]?");
|
1352
1355
|
scan++, match++;
|
1353
1356
|
do {
|
1354
|
-
} while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
|
1355
|
-
*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
|
1356
|
-
*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
|
1357
|
-
*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
|
1357
|
+
} while (*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
|
1358
|
+
*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
|
1359
|
+
*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
|
1360
|
+
*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
|
1358
1361
|
scan < strend);
|
1359
1362
|
/* The funny "do {}" generates better code on most compilers */
|
1360
1363
|
|
1361
|
-
/* Here, scan <= window+strstart+257 */
|
1362
|
-
Assert(scan <= s->window+(unsigned)(s->window_size-1),
|
1364
|
+
/* Here, scan <= window + strstart + 257 */
|
1365
|
+
Assert(scan <= s->window + (unsigned)(s->window_size - 1),
|
1366
|
+
"wild scan");
|
1363
1367
|
if (*scan == *match) scan++;
|
1364
1368
|
|
1365
|
-
len = (MAX_MATCH - 1) - (int)(strend-scan);
|
1369
|
+
len = (MAX_MATCH - 1) - (int)(strend - scan);
|
1366
1370
|
scan = strend - (MAX_MATCH-1);
|
1367
1371
|
|
1368
1372
|
#else /* UNALIGNED_OK */
|
1369
1373
|
|
1370
|
-
if (match[best_len]
|
1371
|
-
match[best_len-1] != scan_end1 ||
|
1372
|
-
*match
|
1373
|
-
*++match
|
1374
|
+
if (match[best_len] != scan_end ||
|
1375
|
+
match[best_len - 1] != scan_end1 ||
|
1376
|
+
*match != *scan ||
|
1377
|
+
*++match != scan[1]) continue;
|
1374
1378
|
|
1375
|
-
/* The check at best_len-1 can be removed because it will be made
|
1379
|
+
/* The check at best_len - 1 can be removed because it will be made
|
1376
1380
|
* again later. (This heuristic is not always a win.)
|
1377
1381
|
* It is not necessary to compare scan[2] and match[2] since they
|
1378
1382
|
* are always equal when the other bytes match, given that
|
@@ -1382,7 +1386,7 @@ local uInt longest_match(s, cur_match)
|
|
1382
1386
|
Assert(*scan == *match, "match[2]?");
|
1383
1387
|
|
1384
1388
|
/* We check for insufficient lookahead only every 8th comparison;
|
1385
|
-
* the 256th check will be made at strstart+258.
|
1389
|
+
* the 256th check will be made at strstart + 258.
|
1386
1390
|
*/
|
1387
1391
|
do {
|
1388
1392
|
} while (*++scan == *++match && *++scan == *++match &&
|
@@ -1391,7 +1395,8 @@ local uInt longest_match(s, cur_match)
|
|
1391
1395
|
*++scan == *++match && *++scan == *++match &&
|
1392
1396
|
scan < strend);
|
1393
1397
|
|
1394
|
-
Assert(scan <= s->window+(unsigned)(s->window_size-1),
|
1398
|
+
Assert(scan <= s->window + (unsigned)(s->window_size - 1),
|
1399
|
+
"wild scan");
|
1395
1400
|
|
1396
1401
|
len = MAX_MATCH - (int)(strend - scan);
|
1397
1402
|
scan = strend - MAX_MATCH;
|
@@ -1403,9 +1408,9 @@ local uInt longest_match(s, cur_match)
|
|
1403
1408
|
best_len = len;
|
1404
1409
|
if (len >= nice_match) break;
|
1405
1410
|
#ifdef UNALIGNED_OK
|
1406
|
-
scan_end = *(ushf*)(scan+best_len-1);
|
1411
|
+
scan_end = *(ushf*)(scan + best_len - 1);
|
1407
1412
|
#else
|
1408
|
-
scan_end1 = scan[best_len-1];
|
1413
|
+
scan_end1 = scan[best_len - 1];
|
1409
1414
|
scan_end = scan[best_len];
|
1410
1415
|
#endif
|
1411
1416
|
}
|
@@ -1415,7 +1420,6 @@ local uInt longest_match(s, cur_match)
|
|
1415
1420
|
if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
1416
1421
|
return s->lookahead;
|
1417
1422
|
}
|
1418
|
-
#endif /* ASMV */
|
1419
1423
|
|
1420
1424
|
#else /* FASTEST */
|
1421
1425
|
|
@@ -1436,7 +1440,8 @@ local uInt longest_match(s, cur_match)
|
|
1436
1440
|
*/
|
1437
1441
|
Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
|
1438
1442
|
|
1439
|
-
Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD,
|
1443
|
+
Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
|
1444
|
+
"need lookahead");
|
1440
1445
|
|
1441
1446
|
Assert(cur_match < s->strstart, "no future");
|
1442
1447
|
|
@@ -1446,7 +1451,7 @@ local uInt longest_match(s, cur_match)
|
|
1446
1451
|
*/
|
1447
1452
|
if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
|
1448
1453
|
|
1449
|
-
/* The check at best_len-1 can be removed because it will be made
|
1454
|
+
/* The check at best_len - 1 can be removed because it will be made
|
1450
1455
|
* again later. (This heuristic is not always a win.)
|
1451
1456
|
* It is not necessary to compare scan[2] and match[2] since they
|
1452
1457
|
* are always equal when the other bytes match, given that
|
@@ -1456,7 +1461,7 @@ local uInt longest_match(s, cur_match)
|
|
1456
1461
|
Assert(*scan == *match, "match[2]?");
|
1457
1462
|
|
1458
1463
|
/* We check for insufficient lookahead only every 8th comparison;
|
1459
|
-
* the 256th check will be made at strstart+258.
|
1464
|
+
* the 256th check will be made at strstart + 258.
|
1460
1465
|
*/
|
1461
1466
|
do {
|
1462
1467
|
} while (*++scan == *++match && *++scan == *++match &&
|
@@ -1465,7 +1470,7 @@ local uInt longest_match(s, cur_match)
|
|
1465
1470
|
*++scan == *++match && *++scan == *++match &&
|
1466
1471
|
scan < strend);
|
1467
1472
|
|
1468
|
-
Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
|
1473
|
+
Assert(scan <= s->window + (unsigned)(s->window_size - 1), "wild scan");
|
1469
1474
|
|
1470
1475
|
len = MAX_MATCH - (int)(strend - scan);
|
1471
1476
|
|
@@ -1501,7 +1506,7 @@ local void check_match(s, start, match, length)
|
|
1501
1506
|
z_error("invalid match");
|
1502
1507
|
}
|
1503
1508
|
if (z_verbose > 1) {
|
1504
|
-
fprintf(stderr,"\\[%d,%d]", start-match, length);
|
1509
|
+
fprintf(stderr,"\\[%d,%d]", start - match, length);
|
1505
1510
|
do { putc(s->window[start++], stderr); } while (--length != 0);
|
1506
1511
|
}
|
1507
1512
|
}
|
@@ -1547,9 +1552,9 @@ local void fill_window(s)
|
|
1547
1552
|
/* If the window is almost full and there is insufficient lookahead,
|
1548
1553
|
* move the upper half to the lower one to make room in the upper half.
|
1549
1554
|
*/
|
1550
|
-
if (s->strstart >= wsize+MAX_DIST(s)) {
|
1555
|
+
if (s->strstart >= wsize + MAX_DIST(s)) {
|
1551
1556
|
|
1552
|
-
zmemcpy(s->window, s->window+wsize, (unsigned)wsize - more);
|
1557
|
+
zmemcpy(s->window, s->window + wsize, (unsigned)wsize - more);
|
1553
1558
|
s->match_start -= wsize;
|
1554
1559
|
s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
|
1555
1560
|
s->block_start -= (long) wsize;
|
@@ -1680,7 +1685,7 @@ local void fill_window(s)
|
|
1680
1685
|
*
|
1681
1686
|
* deflate_stored() is written to minimize the number of times an input byte is
|
1682
1687
|
* copied. It is most efficient with large input and output buffers, which
|
1683
|
-
* maximizes the
|
1688
|
+
* maximizes the opportunities to have a single copy from next_in to next_out.
|
1684
1689
|
*/
|
1685
1690
|
local block_state deflate_stored(s, flush)
|
1686
1691
|
deflate_state *s;
|
@@ -1890,7 +1895,7 @@ local block_state deflate_fast(s, flush)
|
|
1890
1895
|
if (s->lookahead == 0) break; /* flush the current block */
|
1891
1896
|
}
|
1892
1897
|
|
1893
|
-
/* Insert the string window[strstart .. strstart+2] in the
|
1898
|
+
/* Insert the string window[strstart .. strstart + 2] in the
|
1894
1899
|
* dictionary, and set hash_head to the head of the hash chain:
|
1895
1900
|
*/
|
1896
1901
|
hash_head = NIL;
|
@@ -1938,7 +1943,7 @@ local block_state deflate_fast(s, flush)
|
|
1938
1943
|
s->strstart += s->match_length;
|
1939
1944
|
s->match_length = 0;
|
1940
1945
|
s->ins_h = s->window[s->strstart];
|
1941
|
-
UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
|
1946
|
+
UPDATE_HASH(s, s->ins_h, s->window[s->strstart + 1]);
|
1942
1947
|
#if MIN_MATCH != 3
|
1943
1948
|
Call UPDATE_HASH() MIN_MATCH-3 more times
|
1944
1949
|
#endif
|
@@ -1949,7 +1954,7 @@ local block_state deflate_fast(s, flush)
|
|
1949
1954
|
} else {
|
1950
1955
|
/* No match, output a literal byte */
|
1951
1956
|
Tracevv((stderr,"%c", s->window[s->strstart]));
|
1952
|
-
_tr_tally_lit
|
1957
|
+
_tr_tally_lit(s, s->window[s->strstart], bflush);
|
1953
1958
|
s->lookahead--;
|
1954
1959
|
s->strstart++;
|
1955
1960
|
}
|
@@ -1993,7 +1998,7 @@ local block_state deflate_slow(s, flush)
|
|
1993
1998
|
if (s->lookahead == 0) break; /* flush the current block */
|
1994
1999
|
}
|
1995
2000
|
|
1996
|
-
/* Insert the string window[strstart .. strstart+2] in the
|
2001
|
+
/* Insert the string window[strstart .. strstart + 2] in the
|
1997
2002
|
* dictionary, and set hash_head to the head of the hash chain:
|
1998
2003
|
*/
|
1999
2004
|
hash_head = NIL;
|
@@ -2035,17 +2040,17 @@ local block_state deflate_slow(s, flush)
|
|
2035
2040
|
uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
|
2036
2041
|
/* Do not insert strings in hash table beyond this. */
|
2037
2042
|
|
2038
|
-
check_match(s, s->strstart-1, s->prev_match, s->prev_length);
|
2043
|
+
check_match(s, s->strstart - 1, s->prev_match, s->prev_length);
|
2039
2044
|
|
2040
|
-
_tr_tally_dist(s, s->strstart -1 - s->prev_match,
|
2045
|
+
_tr_tally_dist(s, s->strstart - 1 - s->prev_match,
|
2041
2046
|
s->prev_length - MIN_MATCH, bflush);
|
2042
2047
|
|
2043
2048
|
/* Insert in hash table all strings up to the end of the match.
|
2044
|
-
* strstart-1 and strstart are already inserted. If there is not
|
2049
|
+
* strstart - 1 and strstart are already inserted. If there is not
|
2045
2050
|
* enough lookahead, the last two strings are not inserted in
|
2046
2051
|
* the hash table.
|
2047
2052
|
*/
|
2048
|
-
s->lookahead -= s->prev_length-1;
|
2053
|
+
s->lookahead -= s->prev_length - 1;
|
2049
2054
|
s->prev_length -= 2;
|
2050
2055
|
do {
|
2051
2056
|
if (++s->strstart <= max_insert) {
|
@@ -2063,8 +2068,8 @@ local block_state deflate_slow(s, flush)
|
|
2063
2068
|
* single literal. If there was a match but the current match
|
2064
2069
|
* is longer, truncate the previous match to a single literal.
|
2065
2070
|
*/
|
2066
|
-
Tracevv((stderr,"%c", s->window[s->strstart-1]));
|
2067
|
-
_tr_tally_lit(s, s->window[s->strstart-1], bflush);
|
2071
|
+
Tracevv((stderr,"%c", s->window[s->strstart - 1]));
|
2072
|
+
_tr_tally_lit(s, s->window[s->strstart - 1], bflush);
|
2068
2073
|
if (bflush) {
|
2069
2074
|
FLUSH_BLOCK_ONLY(s, 0);
|
2070
2075
|
}
|
@@ -2082,8 +2087,8 @@ local block_state deflate_slow(s, flush)
|
|
2082
2087
|
}
|
2083
2088
|
Assert (flush != Z_NO_FLUSH, "no flush?");
|
2084
2089
|
if (s->match_available) {
|
2085
|
-
Tracevv((stderr,"%c", s->window[s->strstart-1]));
|
2086
|
-
_tr_tally_lit(s, s->window[s->strstart-1], bflush);
|
2090
|
+
Tracevv((stderr,"%c", s->window[s->strstart - 1]));
|
2091
|
+
_tr_tally_lit(s, s->window[s->strstart - 1], bflush);
|
2087
2092
|
s->match_available = 0;
|
2088
2093
|
}
|
2089
2094
|
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
|
@@ -2140,7 +2145,8 @@ local block_state deflate_rle(s, flush)
|
|
2140
2145
|
if (s->match_length > s->lookahead)
|
2141
2146
|
s->match_length = s->lookahead;
|
2142
2147
|
}
|
2143
|
-
Assert(scan <= s->window+(uInt)(s->window_size-1),
|
2148
|
+
Assert(scan <= s->window + (uInt)(s->window_size - 1),
|
2149
|
+
"wild scan");
|
2144
2150
|
}
|
2145
2151
|
|
2146
2152
|
/* Emit match if have run of MIN_MATCH or longer, else emit literal */
|
@@ -2155,7 +2161,7 @@ local block_state deflate_rle(s, flush)
|
|
2155
2161
|
} else {
|
2156
2162
|
/* No match, output a literal byte */
|
2157
2163
|
Tracevv((stderr,"%c", s->window[s->strstart]));
|
2158
|
-
_tr_tally_lit
|
2164
|
+
_tr_tally_lit(s, s->window[s->strstart], bflush);
|
2159
2165
|
s->lookahead--;
|
2160
2166
|
s->strstart++;
|
2161
2167
|
}
|
@@ -2195,7 +2201,7 @@ local block_state deflate_huff(s, flush)
|
|
2195
2201
|
/* Output a literal byte */
|
2196
2202
|
s->match_length = 0;
|
2197
2203
|
Tracevv((stderr,"%c", s->window[s->strstart]));
|
2198
|
-
_tr_tally_lit
|
2204
|
+
_tr_tally_lit(s, s->window[s->strstart], bflush);
|
2199
2205
|
s->lookahead--;
|
2200
2206
|
s->strstart++;
|
2201
2207
|
if (bflush) FLUSH_BLOCK(s, 0);
|
data/third_party/zlib/deflate.h
CHANGED
@@ -329,8 +329,8 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
|
|
329
329
|
# define _tr_tally_dist(s, distance, length, flush) \
|
330
330
|
{ uch len = (uch)(length); \
|
331
331
|
ush dist = (ush)(distance); \
|
332
|
-
s->sym_buf[s->sym_next++] = dist; \
|
333
|
-
s->sym_buf[s->sym_next++] = dist >> 8; \
|
332
|
+
s->sym_buf[s->sym_next++] = (uch)dist; \
|
333
|
+
s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
|
334
334
|
s->sym_buf[s->sym_next++] = len; \
|
335
335
|
dist--; \
|
336
336
|
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
|
data/third_party/zlib/gzlib.c
CHANGED
@@ -30,7 +30,7 @@ local gzFile gz_open OF((const void *, int, const char *));
|
|
30
30
|
|
31
31
|
The gz_strwinerror function does not change the current setting of
|
32
32
|
GetLastError. */
|
33
|
-
char ZLIB_INTERNAL *gz_strwinerror
|
33
|
+
char ZLIB_INTERNAL *gz_strwinerror(error)
|
34
34
|
DWORD error;
|
35
35
|
{
|
36
36
|
static char buf[1024];
|
data/third_party/zlib/gzread.c
CHANGED
@@ -157,11 +157,9 @@ local int gz_look(state)
|
|
157
157
|
the output buffer is larger than the input buffer, which also assures
|
158
158
|
space for gzungetc() */
|
159
159
|
state->x.next = state->out;
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
strm->avail_in = 0;
|
164
|
-
}
|
160
|
+
memcpy(state->x.next, strm->next_in, strm->avail_in);
|
161
|
+
state->x.have = strm->avail_in;
|
162
|
+
strm->avail_in = 0;
|
165
163
|
state->how = COPY;
|
166
164
|
state->direct = 1;
|
167
165
|
return 0;
|
data/third_party/zlib/gzwrite.c
CHANGED
@@ -474,7 +474,7 @@ int ZEXPORTVA gzprintf(gzFile file, const char *format, ...)
|
|
474
474
|
#else /* !STDC && !Z_HAVE_STDARG_H */
|
475
475
|
|
476
476
|
/* -- see zlib.h -- */
|
477
|
-
int ZEXPORTVA gzprintf
|
477
|
+
int ZEXPORTVA gzprintf(file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
|
478
478
|
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
|
479
479
|
gzFile file;
|
480
480
|
const char *format;
|