File tree 3 files changed +8
-4
lines changed
examples/emscripten-tests
3 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -80,6 +80,7 @@ void test() {
80
80
assert (err == -1 );
81
81
assert (errno == ENOTDIR);
82
82
83
+ #ifndef PTHREADFS_NO_DIR_RENAME
83
84
// can't overwrite a non-empty folder
84
85
err = rename (" persistent/dir" , " persistent/dir-nonempty" );
85
86
assert (err == -1 );
@@ -99,6 +100,7 @@ void test() {
99
100
err = rename (" persistent/dir/subdir" , " persistent/dir" );
100
101
assert (err == -1 );
101
102
assert (errno == ENOTEMPTY);
103
+ #endif // PTHREADFS_NO_DIR_RENAME
102
104
103
105
// do some valid renaming
104
106
err = rename (" persistent/dir/file" , " persistent/dir/file1" );
Original file line number Diff line number Diff line change @@ -3187,8 +3187,9 @@ mergeInto(LibraryManager.library, {
3187
3187
3188
3188
rename : async function ( oldNode , newParentNode , newName ) {
3189
3189
FSAFS . debug ( 'rename' , arguments ) ;
3190
- if ( oldNode . contents && Object . keys ( oldNode . contents ) . length > 0 ) {
3191
- throw new PThreadFS . ErrnoError ( { { { cDefine ( 'ENOTEMPTY' ) } } } ) ;
3190
+ if ( PThreadFS . isDir ( oldNode . mode ) ) {
3191
+ console . log ( 'Rename error: File System Access does not support renaming directories' ) ;
3192
+ throw new PThreadFS . ErrnoError ( { { { cDefine ( 'EXDEV' ) } } } ) ;
3192
3193
}
3193
3194
try {
3194
3195
await oldNode . localReference . move ( newParentNode . localReference , newName ) ;
Original file line number Diff line number Diff line change @@ -189,8 +189,9 @@ mergeInto(LibraryManager.library, {
189
189
190
190
rename : async function ( oldNode , newParentNode , newName ) {
191
191
FSAFS . debug ( 'rename' , arguments ) ;
192
- if ( oldNode . contents && Object . keys ( oldNode . contents ) . length > 0 ) {
193
- throw new PThreadFS . ErrnoError ( { { { cDefine ( 'ENOTEMPTY' ) } } } ) ;
192
+ if ( PThreadFS . isDir ( oldNode . mode ) ) {
193
+ console . log ( 'Rename error: File System Access does not support renaming directories' ) ;
194
+ throw new PThreadFS . ErrnoError ( { { { cDefine ( 'EXDEV' ) } } } ) ;
194
195
}
195
196
try {
196
197
await oldNode . localReference . move ( newParentNode . localReference , newName ) ;
You can’t perform that action at this time.
0 commit comments