Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4921 Serge 1
/* close.c -- close a file descriptor.
2
 *
3
 * Copyright (c) 1995 Cygnus Support
4
 *
5
 * The authors hereby grant permission to use, copy, modify, distribute,
6
 * and license this software and its documentation for any purpose, provided
7
 * that existing copyright notices are retained in all copies and that this
8
 * notice is included verbatim in any distributions. No written agreement,
9
 * license, or royalty fee is required for any of the authorized uses.
10
 * Modifications to this software may be copyrighted by their authors
11
 * and need not follow the licensing terms described here, provided that
12
 * the new terms are clearly indicated on the first page of each file where
13
 * they apply.
14
 */
15
#include 
16
#include 
17
#include 
18
#include 
19
#include "glue.h"
20
#include "io.h"
21
 
22
int
23
_DEFUN (close ,(fd),
24
       int fd)
25
{
26
    __io_handle *ioh;
27
 
28
    if( (fd < 0) || (fd >=64) )
29
    {
30
        errno = EBADF;
31
        return (-1);
32
    };
33
 
34
    ioh = &__io_tab[fd];
35
 
36
    if( fd > STDERR_FILENO )
37
    {
38
        free(ioh->name);
39
        __io_free(fd);
40
    }
41
 
42
    return (0);
43
}