[llvm-commits] CVS: llvm/runtime/GCCLibraries/libc/remove.c

John Criswell criswell at cs.uiuc.edu
Mon Nov 28 07:49:40 PST 2005



Changes in directory llvm/runtime/GCCLibraries/libc:

remove.c added (r1.1)
---
Log message:

Add the remove() function from the C library.


---
Diffs of the changes:  (+46 -0)

 remove.c |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+)


Index: llvm/runtime/GCCLibraries/libc/remove.c
diff -c /dev/null llvm/runtime/GCCLibraries/libc/remove.c:1.1
*** /dev/null	Mon Nov 28 09:49:26 2005
--- llvm/runtime/GCCLibraries/libc/remove.c	Mon Nov 28 09:49:15 2005
***************
*** 0 ****
--- 1,46 ----
+ //===-- remove.c - The remove function for the LLVM libc Library --*- C -*-===//
+ // 
+ // A lot of this code is ripped gratuitously from glibc and libiberty.
+ //
+ //===----------------------------------------------------------------------===//
+ 
+ /* ANSI C `remove' function to delete a file or directory.  POSIX.1 version.
+    Copyright (C) 1995,96,97,2002 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #include <errno.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ 
+ int
+ remove (const char * file)
+ {
+   int save;
+ 
+   save = errno;
+   if (rmdir (file) == 0)
+     return 0;
+   else if (errno == ENOTDIR && unlink (file) == 0)
+     {
+       errno = (save);
+       return 0;
+     }
+ 
+   return -1;
+ }
+ 






More information about the llvm-commits mailing list