Repository navigation
Conversation
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed the full diff against current main. strsep preserves empty fields and advances the cursor correctly; memccpy compares the stop value as an unsigned byte and returns the first byte after the copied delimiter. The added cases cover the key boundary behavior. I built and ran the exact head on Linux with GCC 12: guest_strings passed (1/1); conventions and diff checks pass. #1848 and #1972 add different functions in the same source file (#1972 depends on #1848), so there is no duplicate implementation. Note that open PR #2001 deletes GuestStrings.cpp; if that PR proceeds, it needs to preserve these and existing regression checks. Upstream Build/Conventions checks still have no results for this head.
|
Closing: no title is shown to reach |
|
First Windows run, since the description says it wasn't tested on Windows. Setup: Windows 10 (19045), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release. Merged onto
🤖 Addressed by Claude Code |
What
strsepandmemccpywere not exported.strsepfollows BSD: it returns the token up to the first delimiter, overwrites the delimiter with NUL and advances the cursor past it, returns empty tokens, and sets the cursor to null after the last token. A null cursor returns null.memccpycopies up to and including the first byte equal to(unsigned char)c, returns the address after it in the destination, and returns null after copying allnbytes when the byte is absent.core/libs/prx/libc/src/StringExtensions.cpp: both functions.guest_stringstest: empty tokens, last token, null cursor, found and missing byte, a stop value above 255 and a zero count.Tested
Linux (CachyOS), GCC 16.2.1, Release.
guest_stringspasses.tools/check_conventions.py --base upstream/mainpasses.Not tested on Windows or macOS.
Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)