BOOL’s Sharp Corners
If
g_nameis non-nil, it’s a true value, so this function will be returning a true value. It might not beYES, but truth is truth in C, isn’t it? If this function returnedbool, it would return the correct value.Unfortunately, with
BOOL, it doesn’t. If the address happens to have a zero lower byte, this function will return zero due to the same slicing behavior.