Messages in this thread | | | Subject | Re: [PATCH] lib: string: reduce unnecessary loop in strncpy | From | Rasmus Villemoes <> | Date | Wed, 30 Oct 2019 15:59:58 +0100 |
| |
On 30/10/2019 15.14, Liu Xiang wrote: > Now in strncpy, even src[0] is 0, loop will execute count times until > count is 0. It is better to exit the loop immediately when *src is 0.
Please read "man strncpy".
There's a reason the loop is written in that somewhat convoluted way: The behavior of strncpy is mandated by the C standard, and if the src string is shorter than the destination buffer, the rest must be 0-filled. So if we hit a nul byte before running out of count, we keep copying that nul byte to the rest of the destination.
Rasmus
| |