{"author":"Viktor Szakats","author_email":"commit@vsz.me","author_time":1757424552,"commit_time":1758368699,"committer":"Viktor Szakats","committer_email":"commit@vsz.me","hash":"bf7375ecc50e857760b0d0a668c436e208a400bd","message":"build: avoid overriding system symbols for socket functions\n\nBefore this patch `accept4()`, `socket()`, `socketpair()`, `send()` and\n`recv()` system symbols were remapped via macros, using the same name,\nto local curl debug wrappers. This patch replaces these overrides by\nintroducing curl-namespaced macros that map either to the system symbols\nor to their curl debug wrappers in `CURLDEBUG` (TrackMemory) builds.\n\nThis follows a patch that implemented the same for `accept()`.\n\nThe old method required tricks to make these redefines work in unity\nbuilds, and avoid them interfering with system headers. These tricks\ndid not work for system symbols implemented as macros.\n\nThe new method allows to setup these mappings once, without interfering\nwith system headers, upstream macros, or unity builds. It makes builds\nmore robust.\n\nAlso:\n- checksrc: ban all mapped functions.\n- docs/examples: tidy up checksrc rules.\n\nFollow-up to 9863599d69b79d290928a89bf9160f4e4e023d4e #18502\nFollow-up to 3bb5e58c105d7be450b667858d1b8e7ae3ded555 #17827\n\nCloses #18503\n","parents":["2fe95cb0e320db0c6034d154ab175002d23b936d"],"tree_hash":"dd775ab22d9be0887b3e99a3c8dfb950fceb4f8c"}