Subversion Repositories Kolibri OS

Rev

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

  1. /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
  2. #include <stdio.h>
  3. #include <libc/file.h>
  4.  
  5. int
  6. fputs(const char *s, FILE *f)
  7. {
  8.   int r = 0;
  9.   int c;
  10.   int unbuffered;
  11.   char localbuf[BUFSIZ];
  12.  
  13.   unbuffered = f->_flag & _IONBF;
  14.   if (unbuffered)
  15.   {
  16.     f->_flag &= ~_IONBF;
  17.     f->_ptr = f->_base = localbuf;
  18.     f->_bufsiz = BUFSIZ;
  19.   }
  20.  
  21.   while ((c = *s++))
  22.     r = __putc(c, f);
  23.  
  24.   if (unbuffered)
  25.   {
  26.     fflush(f);
  27.     f->_flag |= _IONBF;
  28.     f->_base = NULL;
  29.     f->_bufsiz = NULL;
  30.     f->_cnt = 0;
  31.   }
  32.  
  33.   return(r);
  34. }
  35.