]> pd.if.org Git - pdclib/blob - platform/example_cygwin/functions/stdio/remove.c
Comment cleanups.
[pdclib] / platform / example_cygwin / functions / stdio / remove.c
1 /* remove( const char * )
2
3    This file is part of the Public Domain C Library (PDCLib).
4    Permission is granted to use, modify, and / or redistribute at will.
5 */
6
7 /* This is an example implementation of remove() fit for use with POSIX kernels.
8 */
9
10 #include <stdio.h>
11
12 #ifndef REGTEST
13
14 #include "/usr/include/errno.h"
15
16 extern int unlink( const char * pathname );
17
18 int remove( const char * pathname )
19 {
20     int rc;
21     if ( ( rc = unlink( pathname ) ) == -1 )
22     {
23         switch ( errno )
24         {
25             /* See the comments on implementation-defined errno values in
26                <_PDCLIB_config.h>.
27             */
28             case EACCES:
29             case EFAULT:
30             case EIO:
31             case EISDIR:
32             case ELOOP:
33             case ENAMETOOLONG:
34             case ENOENT:
35             case ENOMEM:
36             case ENOTDIR:
37             case EPERM:
38             case EROFS:
39                 _PDCLIB_errno = _PDCLIB_ERROR;
40                 break;
41             default:
42                 /* This should be something like EUNKNOWN. */
43                 _PDCLIB_errno = _PDCLIB_ERROR;
44                 break;
45         }
46     }
47     return rc;
48 }
49
50 #endif
51
52 #ifdef TEST
53 #include <_PDCLIB_test.h>
54
55 int main( void )
56 {
57     /* Testing covered by ftell.c (and several others) */
58     return TEST_RESULTS;
59 }
60
61 #endif
62