home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / text / hyper / ADtoHT2_0.lha / MyLib.lha / stdio / fopen.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-04  |  704 b   |  33 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <errno.h>
  4.  
  5. #include <proto/exec.h>
  6. #include <proto/dos.h>
  7.  
  8. #include "Internal.h"
  9.  
  10. /************************************************************************/
  11.  
  12. FILE *fopen(const char *Filename, const char *Mode)
  13.  
  14. {
  15.   FILE *NewFile;
  16.  
  17.   if ((NewFile=malloc(sizeof(*NewFile))))
  18.     {
  19.       NewFile->Flags.Free=1;
  20.       NewFile->Flags.Error=0;
  21.       NewFile->Flags.Eof=0;
  22.       NewFile->Flags.Close=1;
  23.       if ((NewFile->Filehandle=Open((char *)Filename,Mode[0]=='w' ? MODE_NEWFILE : MODE_OLDFILE)))
  24.     {
  25.       AddTail((struct List *)&__stdioList,(struct Node *)&NewFile->Node);
  26.       return NewFile;
  27.     }
  28.       errno=IoErr();
  29.       free(NewFile);
  30.     }
  31.   return NULL;
  32. }
  33.