Hacker News new | ask | show | jobs
by xyzzy4 3341 days ago
It doesn't copy the null terminator because it's using memcpy. It's only copying the string without the null byte.
1 comments

I think you are missing the +1 behind the call to strlen. strlen reports the number of chars before the zero-byte, adding one includes it.
I go back and forth between putting the +1 on the first line, or repeating it in the other lines. Putting it on the first line is harder to screw up, but harder to read.

For real programs you basically have to put it in the initial computation, or it will be forgotten somewhere later (maybe in a later commit).

> Putting it on the first line is harder to screw up, but harder to read.

Mayhaps "len" should be renamed to something clearer?