int64_t omrfile_flength(struct OMRPortLibrary *portLibrary, intptr_t inFD) { struct stat st; int fd = (int)inFD; Trc_PRT_file_flength_Entry(inFD); if (0 != fstat(fd - FD_BIAS, &st)) { int32_t errorCode = portLibrary->error_set_last_error(portLibrary, errno, findError(errno)); Trc_PRT_file_flength_ExitFail(errorCode); return errorCode; } Trc_PRT_file_flength_Exit((int64_t) st.st_size); return (int64_t) st.st_size; }
int64_t omrfile_flength(struct OMRPortLibrary *portLibrary, intptr_t fd) { int32_t result = 0; LARGE_INTEGER length; Trc_PRT_file_flength_Entry(fd); result = GetFileSizeEx((HANDLE)fd, &length); if (0 == result) { int32_t error = GetLastError(); result = portLibrary->error_set_last_error(portLibrary, error, findError(error)); Trc_PRT_file_flength_ExitFail(result); } Trc_PRT_file_flength_Exit(length.QuadPart); return length.QuadPart; }