| ... | ... | @@ -1052,6 +1052,7 @@ pub const TruncateError = error{ |
| 1052 | 1052 | FileBusy, |
| 1053 | 1053 | AccessDenied, |
| 1054 | 1054 | PermissionDenied, |
| 1055 | NonResizable, |
| 1055 | 1056 | } || UnexpectedError; |
| 1056 | 1057 | |
| 1057 | 1058 | /// Length must be positive when treated as an i64. |
| ... | ... | @@ -1091,7 +1092,7 @@ pub fn ftruncate(fd: fd_t, length: u64) TruncateError!void { |
| 1091 | 1092 | .PERM => return error.PermissionDenied, |
| 1092 | 1093 | .TXTBSY => return error.FileBusy, |
| 1093 | 1094 | .BADF => unreachable, // Handle not open for writing |
| 1094 | | .INVAL => unreachable, // Handle not open for writing, negative length, or non-resizable handle |
| 1095 | .INVAL => return error.NonResizable, |
| 1095 | 1096 | .NOTCAPABLE => return error.AccessDenied, |
| 1096 | 1097 | else => |err| return unexpectedErrno(err), |
| 1097 | 1098 | } |
| ... | ... | @@ -1107,7 +1108,7 @@ pub fn ftruncate(fd: fd_t, length: u64) TruncateError!void { |
| 1107 | 1108 | .PERM => return error.PermissionDenied, |
| 1108 | 1109 | .TXTBSY => return error.FileBusy, |
| 1109 | 1110 | .BADF => unreachable, // Handle not open for writing |
| 1110 | | .INVAL => unreachable, // Handle not open for writing, negative length, or non-resizable handle |
| 1111 | .INVAL => return error.NonResizable, // This is returned for /dev/null for example. |
| 1111 | 1112 | else => |err| return unexpectedErrno(err), |
| 1112 | 1113 | } |
| 1113 | 1114 | } |