summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-08-23 18:03:16 +0000
committerChristopher Faylor <me@cgf.cx>2003-08-23 18:03:16 +0000
commitbe1ea8cde73ce3455e75f203f74e4c08ac83199e (patch)
tree68af8f67b19afb550dc6be9250838a59a293da21 /winsup/cygwin/syscalls.cc
parent9d4aef1930b3db3c2850ccfad9fba95e542857d2 (diff)
downloadcygnal-be1ea8cde73ce3455e75f203f74e4c08ac83199e.tar.gz
cygnal-be1ea8cde73ce3455e75f203f74e4c08ac83199e.tar.bz2
cygnal-be1ea8cde73ce3455e75f203f74e4c08ac83199e.zip
* syscalls.cc (_remove_r): Define.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc15
1 files changed, 15 insertions, 0 deletions
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
@@ -232,6 +232,21 @@ unlink (const char *ourname)
}
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)
{
path_conv win32_name (ourname, PC_SYM_NOFOLLOW | PC_FULL);