From be1ea8cde73ce3455e75f203f74e4c08ac83199e Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 23 Aug 2003 18:03:16 +0000 Subject: * syscalls.cc (_remove_r): Define. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/syscalls.cc | 15 +++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'winsup/cygwin') 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) { -- cgit v1.2.3