#include <stdio.h>

extern char *_stdin,*_stdout,*_stderr;
extern FILE *_firstfile,*_lastfile;

/*  schliesst Dateien   */
/*  noch sehr einfach   */
int fclose(FILE *f)
{
    if(!f) return(EOF);
    if(!f->filehandle) return(EOF);
    fflush(f);
    if(f->filehandle!=_stdin&&f->filehandle!=_stdout&&f->filehandle!=_stderr)
        Close(f->filehandle);   /*  hier returncode auswerten   */
    if(f->prev) f->prev->next=f->next; else _firstfile=f->next;
    if(f->next) f->next->prev=f->prev; else _lastfile=f->prev;
    if(f->base&&!(f->flags&_NOTMYBUF)) free(f->base-1);
    free(f);
    return(0);
}
