From 1f44a86acd3a30c17b6fae4f5d7f2a1e9209434f Mon Sep 17 00:00:00 2001 From: "M.Amin Rayej" Date: Fri, 17 May 2024 01:07:10 +0330 Subject: [PATCH] make path_create_directory return error if no dir was created --- lib/wasix/src/syscalls/wasi/path_create_directory.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/wasix/src/syscalls/wasi/path_create_directory.rs b/lib/wasix/src/syscalls/wasi/path_create_directory.rs index b7263ff21c5..bf20379e261 100644 --- a/lib/wasix/src/syscalls/wasi/path_create_directory.rs +++ b/lib/wasix/src/syscalls/wasi/path_create_directory.rs @@ -84,6 +84,7 @@ pub(crate) fn path_create_directory_internal( return Err(Errno::Inval); } + let mut created_dir = false; let mut cur_dir_inode = working_dir.inode; for comp in &path_vec { let processing_cur_dir_inode = cur_dir_inode.clone(); @@ -125,6 +126,7 @@ pub(crate) fn path_create_directory_internal( return Err(Errno::Notdir); } } else { + created_dir = true; state.fs_create_dir(&adjusted_path)?; } let kind = Kind::Dir { @@ -160,5 +162,9 @@ pub(crate) fn path_create_directory_internal( } } - Ok(()) + if created_dir { + Ok(()) + } else { + Err(Errno::Exist) + } }