Contributes to: #30978
According to posix, memccpy should return pointer past found char, not at find char. Also, it can return null.
Added tests to match man and added fix to function.
Interesting note: memccpy has no tests in libc-test except for argument match
Not interesting note: Function does 2 linear passes - to find char and to copy to dst. Should it do all the stuff in one pass (as explicit loop?)
Contributes to: [#30978](https://codeberg.org/ziglang/zig/issues/30978)
According to [posix](https://pubs.opengroup.org/onlinepubs/9799919799/functions/memccpy.html), `memccpy` should return pointer past found char, not at find char. Also, it can return null.
Added tests to match man and added fix to function.
Interesting note: `memccpy` has no tests in libc-test except for argument match
Not interesting note: Function does 2 linear passes - to find char and to copy to `dst`. Should it do all the stuff in one pass (as explicit loop?)