curl/docs/internals
Daniel Stenberg d5c738c608
strparse: string parsing helper functions
Designed to aid converting off from sscanf parsers. sscanf is hard to
use right, easy to mess up and often makes for sloppy error checking.

The new parsers allow more exact and pedandic parsing.

This new set of functions should be possible to use (and extend) and
switch over other libcurl parser code to use going forward.

Adapts the following to use the new functions:

- altsvc.c
- hsts.c
- http_aws_sigv4.c

Bonus: fewer memory copies, fewer stack buffers.

Test: Unit test1664

Docs: docs/internals/STRPARSE.md

Closes #15692
2024-12-12 16:00:52 +01:00
..
BUFQ.md bufq: unwrite fix 2024-10-03 13:27:36 +02:00
BUFREF.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
CHECKSRC.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
CLIENT-READERS.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
CLIENT-WRITERS.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
CODE_STYLE.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
CONNECTION-FILTERS.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
DYNBUF.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
HASH.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
HYPER.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
LLIST.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
MQTT.md tidy-up: whitespace, fix CI spacecheck for docs 2024-10-30 23:15:28 +01:00
NEW-PROTOCOL.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
README.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00
SPLAY.md internals/SPLAY.md: internal API documentation 2024-08-16 17:13:37 +02:00
STRPARSE.md strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
WEBSOCKET.md docs/internals: new subdirectory 2024-08-16 08:59:25 +02:00

Internals

This directory contains documentation covering libcurl internals; APIs and concepts that are useful for contributors and maintainers.

Public APIs are documented in the public documentation, not here.