#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 ) )
}
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