if (stat (filename, &buf) == 0 && S_ISREG(buf.st_mode) && (((S_IRUSR & buf.st_mode) && (getuid() == buf.st_uid || getuid() == 0) || ((S_IRGRP & buf.st_mode) && group_member(buf.st_gid)) || (S_IROTH & buf.st_mode))) {