logoalt Hacker News

lioeterstoday at 2:22 PM1 replyview on HN

I thought that was a typo or the forum software removed something, but no - it's a pointer to an empty string literal. If I understand how that works, this creates a null byte (in the read-only memory section of the compiled output?) and points to it. Before this line it checks if p is NULL.

I wonder what is the advantage of doing this? Maybe to make sure that p is an actual pointer, so later code can just make that assumption.


Replies

lokartoday at 2:58 PM

Yeah, it simplifies later code, and is safer in the face of future changes.

Or put another way, it tightens the API/contract of that chunk of code to always return a valid string.

show 1 reply