MFC r356723-r356725: diff(1) return value checks
r356723:
mkstemp returns -1
r356724:
asprintf returns -1, not an arbitrary value < 0. Also upon error the
(very sloppy specification) leaves an undefined value in *ret, so it is
wrong to inspect it, the error condition is enough.
r356725:
When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case.