Browse Source

Report invalid whence & offset on `os2` Windows

Feoramund 11 months ago
parent
commit
56f232e5fc
2 changed files with 5 additions and 0 deletions
  1. 3 0
      core/os/os2/errors_windows.odin
  2. 2 0
      core/os/os2/file_windows.odin

+ 3 - 0
core/os/os2/errors_windows.odin

@@ -52,6 +52,9 @@ _get_platform_error :: proc() -> Error {
 	case win32.ERROR_INVALID_HANDLE:
 		return .Invalid_File
 
+	case win32.ERROR_NEGATIVE_SEEK:
+		return .Invalid_Offset
+
 	case
 		win32.ERROR_BAD_ARGUMENTS,
 		win32.ERROR_INVALID_PARAMETER,

+ 2 - 0
core/os/os2/file_windows.odin

@@ -248,6 +248,8 @@ _seek :: proc(f: ^File_Impl, offset: i64, whence: io.Seek_From) -> (ret: i64, er
 	case .Start:   w = win32.FILE_BEGIN
 	case .Current: w = win32.FILE_CURRENT
 	case .End:     w = win32.FILE_END
+	case:
+		return 0, .Invalid_Whence
 	}
 	hi := i32(offset>>32)
 	lo := i32(offset)