home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-18.59-src.tgz / emacs-18.59-src.tar / fsf / emacs18 / amiga / unix / src / write.c < prev   
C/C++ Source or Header  |  1996-09-28  |  526b  |  30 lines

  1. #include "amiga.h"
  2. #include "files.h"
  3. #include <fcntl.h>
  4. #include <unistd.h>
  5.  
  6. #undef write
  7.  
  8. int __write(int fd, const void *buffer, unsigned int length)
  9. {
  10.   struct fileinfo *fi;
  11.  
  12.   chkabort();
  13.   if (fi = _find_fd(fd))
  14.     {
  15.       if (fi->flags & FI_WRITE)
  16.     {
  17.       if (fi->flags & O_APPEND) fi->lseek(fi->userinfo, 0, SEEK_END);
  18.       return fi->write(fi->userinfo, buffer, length);
  19.     }
  20.       errno = EACCES;
  21.     }
  22.   return -1;
  23. }
  24.  
  25. int write(int fd, const void *buffer, unsigned int length)
  26. {
  27.   return __write(fd, buffer, length);
  28. }
  29.  
  30.