This function returns the loginuid value if it was set. It will return a -1 if loginuid was unset. However, since uid_t is an unsigned type, you will see the converted value instead of -1.
This function returns -1 on failure. However, in the event of a real error, errno would be set. The function can set errno based on failures of open, read, or strtoul.