Yes, that's true, because memcmp returns the sign based on the first byte, and this compares four bytes, on little endian architectures it may return the sign differently from the built-in memcmp(). That should be mentioned along with the caveats, that it's not a suitable drop-in replacement when people are not simply testing that the result is 0 (which I imagine to be the majority of cases).