Repository navigation
Fixed the HTTP client build without packet chaining - #489
Merged
Merged
Conversation
The fragmented-header parsing added for #316 walks packet chains through nx_packet_next and nx_packet_last, which NX_PACKET does not have under NX_DISABLE_PACKET_CHAIN. nx_web_http_client.c stopped compiling in v4_no_chain_build and v6_no_chain_build, and with it the whole netxduo library in those two configurations. The three chain walks are now guarded the way the rest of the file guards them. Without chaining a packet is a single buffer, so the header trim only advances the prepend pointer, and the status-prefix copy and the header cursor stop at the end of the first buffer. With chaining the preprocessed source is byte-identical to before. Both no-chain configurations build again and their full suites pass, and every web configuration's suite passes. No web client test runs without packet chaining in any suite, so the no-chain path is compiled, not exercised. Assisted-by: Claude Code (Opus 5.5) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The fragmented-header parsing added for #316 (d4ffe44) walks packet chains through
nx_packet_nextandnx_packet_last.NX_PACKEThas neither member underNX_DISABLE_PACKET_CHAIN, soaddons/web/nx_web_http_client.cstopped compiling inv4_no_chain_buildandv6_no_chain_build. That took the whole netxduo library down in those twoconfigurations. CI dev has been red on
devsince, for example run 38969654639 at2cd5aa4e.Change
The three chain walks are now guarded with
#ifndef NX_DISABLE_PACKET_CHAIN, the way the rest ofthe file already guards them. Without chaining, a packet is a single buffer:
_nx_web_http_client_response_header_trimonly advances the prepend pointer.With chaining, the preprocessed source is byte-identical to before. This was checked in all three
web configurations.
Verification
No web client test runs without packet chaining in any suite: the web suite has no no-chain
configuration, and the netxduo suite runs no web tests. So the no-chain path is compiled, not
exercised.