Rollup merge of #90955 - JohnTitor:os-error-123-as-invalid-input, r=m-ou-se
Rename `FilenameTooLong` to `InvalidFilename` and also use it for Windows' `ERROR_INVALID_NAME` Address https://github.com/rust-lang/rust/issues/90940#issuecomment-970157931 `ERROR_INVALID_NAME` (i.e. "The filename, directory name, or volume label syntax is incorrect") happens if we pass an invalid filename, directory name, or label syntax, so mapping as `InvalidInput` is reasonable to me.
This commit is contained in:
commit
ce4df92c8c
@ -296,12 +296,11 @@ pub enum ErrorKind {
|
||||
/// The filesystem does not support making so many hardlinks to the same file.
|
||||
#[unstable(feature = "io_error_more", issue = "86442")]
|
||||
TooManyLinks,
|
||||
/// Filename too long.
|
||||
/// A filename was invalid.
|
||||
///
|
||||
/// The limit might be from the underlying filesystem or API, or an administratively imposed
|
||||
/// resource limit.
|
||||
/// This error can also cause if it exceeded the filename length limit.
|
||||
#[unstable(feature = "io_error_more", issue = "86442")]
|
||||
FilenameTooLong,
|
||||
InvalidFilename,
|
||||
/// Program argument list too long.
|
||||
///
|
||||
/// When trying to run an external program, a system or process limit on the size of the
|
||||
@ -382,12 +381,12 @@ impl ErrorKind {
|
||||
DirectoryNotEmpty => "directory not empty",
|
||||
ExecutableFileBusy => "executable file busy",
|
||||
FileTooLarge => "file too large",
|
||||
FilenameTooLong => "filename too long",
|
||||
FilesystemLoop => "filesystem loop or indirection limit (e.g. symlink loop)",
|
||||
FilesystemQuotaExceeded => "filesystem quota exceeded",
|
||||
HostUnreachable => "host unreachable",
|
||||
Interrupted => "operation interrupted",
|
||||
InvalidData => "invalid data",
|
||||
InvalidFilename => "invalid filename",
|
||||
InvalidInput => "invalid input parameter",
|
||||
IsADirectory => "is a directory",
|
||||
NetworkDown => "network down",
|
||||
|
@ -315,7 +315,7 @@ fn kind_from_prim(ek: u32) -> Option<ErrorKind> {
|
||||
Deadlock,
|
||||
CrossesDevices,
|
||||
TooManyLinks,
|
||||
FilenameTooLong,
|
||||
InvalidFilename,
|
||||
ArgumentListTooLong,
|
||||
Interrupted,
|
||||
Other,
|
||||
|
@ -159,7 +159,7 @@ pub fn decode_error_kind(errno: i32) -> ErrorKind {
|
||||
libc::ENOSPC => StorageFull,
|
||||
libc::ENOSYS => Unsupported,
|
||||
libc::EMLINK => TooManyLinks,
|
||||
libc::ENAMETOOLONG => FilenameTooLong,
|
||||
libc::ENAMETOOLONG => InvalidFilename,
|
||||
libc::ENETDOWN => NetworkDown,
|
||||
libc::ENETUNREACH => NetworkUnreachable,
|
||||
libc::ENOTCONN => NotConnected,
|
||||
|
@ -71,6 +71,7 @@ pub fn decode_error_kind(errno: i32) -> ErrorKind {
|
||||
c::ERROR_FILE_NOT_FOUND => return NotFound,
|
||||
c::ERROR_PATH_NOT_FOUND => return NotFound,
|
||||
c::ERROR_NO_DATA => return BrokenPipe,
|
||||
c::ERROR_INVALID_NAME => return InvalidFilename,
|
||||
c::ERROR_INVALID_PARAMETER => return InvalidInput,
|
||||
c::ERROR_NOT_ENOUGH_MEMORY | c::ERROR_OUTOFMEMORY => return OutOfMemory,
|
||||
c::ERROR_SEM_TIMEOUT
|
||||
@ -104,7 +105,7 @@ pub fn decode_error_kind(errno: i32) -> ErrorKind {
|
||||
c::ERROR_POSSIBLE_DEADLOCK => return Deadlock,
|
||||
c::ERROR_NOT_SAME_DEVICE => return CrossesDevices,
|
||||
c::ERROR_TOO_MANY_LINKS => return TooManyLinks,
|
||||
c::ERROR_FILENAME_EXCED_RANGE => return FilenameTooLong,
|
||||
c::ERROR_FILENAME_EXCED_RANGE => return InvalidFilename,
|
||||
_ => {}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user