diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 436f853a2..f26544b17 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2003-08-23 Christopher Faylor + + * syscalls.cc (_remove_r): Define. + 2003-08-22 Corinna Vinschen * cygheap.h (enum cygheap_types): Add HEAP_MMAP. diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index dedab012e..8dd659ab4 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -231,6 +231,21 @@ unlink (const char *ourname) return res; } +extern "C" int +_remove_r (struct _reent *, const char *ourname) +{ + path_conv win32_name (ourname, PC_SYM_NOFOLLOW | PC_FULL); + + if (win32_name.error) + { + set_errno (win32_name.error); + syscall_printf ("-1 = remove (%s)", ourname); + return -1; + } + + return win32_name.isdir () ? rmdir (ourname) : unlink (ourname); +} + extern "C" int remove (const char *ourname) {