]> pd.if.org Git - pdclib.old/blobdiff - platform/posix/functions/stdio/remove.c
Minimize the amount of internal definitions which get exposed via the user-visible...
[pdclib.old] / platform / posix / functions / stdio / remove.c
index 389df301be224d6945d6b8a250f7e31a82ca7543..d4a018442ebc70efe2f3451b1e4d0dbe180085e6 100644 (file)
 #include <stdio.h>
 
 #ifndef REGTEST
-
+#include <_PDCLIB_io.h>
 #include <string.h>
 
-#include "/usr/include/errno.h"
-
-extern struct _PDCLIB_file_t * _PDCLIB_filelist;
+extern FILE * _PDCLIB_filelist;
 
 extern int unlink( const char * pathname );
 
 int remove( const char * pathname )
 {
-    int rc;
-    struct _PDCLIB_file_t * current = _PDCLIB_filelist;
+    FILE * current = _PDCLIB_filelist;
     while ( current != NULL )
     {
         if ( ( current->filename != NULL ) && ( strcmp( current->filename, pathname ) == 0 ) )
@@ -33,33 +30,7 @@ int remove( const char * pathname )
         }
         current = current->next;
     }
-    if ( ( rc = unlink( pathname ) ) == -1 )
-    {
-        switch ( errno )
-        {
-            /* See the comments on implementation-defined errno values in
-               <_PDCLIB_config.h>.
-            */
-            case EACCES:
-            case EFAULT:
-            case EIO:
-            case EISDIR:
-            case ELOOP:
-            case ENAMETOOLONG:
-            case ENOENT:
-            case ENOMEM:
-            case ENOTDIR:
-            case EPERM:
-            case EROFS:
-                _PDCLIB_errno = _PDCLIB_ERROR;
-                break;
-            default:
-                /* This should be something like EUNKNOWN. */
-                _PDCLIB_errno = _PDCLIB_ERROR;
-                break;
-        }
-    }
-    return rc;
+    return unlink( pathname );
 }
 
 #endif