home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- #include <proto/dos.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((BPTR)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);
- }
-