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