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