-/* $Id$ */
-
/* remove( const char * )
This file is part of the Public Domain C Library (PDCLib).
#ifndef REGTEST
+#include <string.h>
+
#include "/usr/include/errno.h"
+extern struct _PDCLIB_file_t * _PDCLIB_filelist;
+
extern int unlink( const char * pathname );
int remove( const char * pathname )
{
int rc;
+ struct _PDCLIB_file_t * current = _PDCLIB_filelist;
+ while ( current != NULL )
+ {
+ if ( ( current->filename != NULL ) && ( strcmp( current->filename, pathname ) == 0 ) )
+ {
+ return EOF;
+ }
+ current = current->next;
+ }
if ( ( rc = unlink( pathname ) ) == -1 )
{
switch ( errno )
{
- /* These are the values possible on a Linux machine. Adapt the
- values and their mapping to PDCLib errno values at will. (This
- is an example implementation, so we keep it very simple.)
+ /* See the comments on implementation-defined errno values in
+ <_PDCLIB_config.h>.
*/
case EACCES:
case EFAULT:
case ENOTDIR:
case EPERM:
case EROFS:
- _PDCLIB_errno = _PDCLIB_EIO;
+ _PDCLIB_errno = _PDCLIB_ERROR;
break;
default:
- _PDCLIB_errno = _PDCLIB_EUNKNOWN;
+ /* This should be something like EUNKNOWN. */
+ _PDCLIB_errno = _PDCLIB_ERROR;
break;
}
}