1*22133Smckusick /* 2*22133Smckusick * Copyright (c) 1984 Regents of the University of California. 3*22133Smckusick * All rights reserved. The Berkeley software License Agreement 4*22133Smckusick * specifies the terms and conditions for redistribution. 5*22133Smckusick */ 6*22133Smckusick 7*22133Smckusick #ifndef lint 8*22133Smckusick static char sccsid[] = "@(#)fputs.c 5.1 (Berkeley) 06/05/85"; 9*22133Smckusick #endif not lint 10*22133Smckusick 112007Swnj #include <stdio.h> 122007Swnj 132007Swnj fputs(s, iop) 142007Swnj register char *s; 152007Swnj register FILE *iop; 162007Swnj { 1717201Slepreau register r = 0; 182007Swnj register c; 1917951Sserge int unbuffered; 2017951Sserge char localbuf[BUFSIZ]; 212007Swnj 2217951Sserge unbuffered = iop->_flag & _IONBF; 2317951Sserge if (unbuffered) { 2417951Sserge iop->_flag &= ~_IONBF; 2517951Sserge iop->_ptr = iop->_base = localbuf; 2617951Sserge iop->_bufsiz = BUFSIZ; 2717951Sserge } 2817951Sserge 292007Swnj while (c = *s++) 302007Swnj r = putc(c, iop); 3117951Sserge 3217951Sserge if (unbuffered) { 3317951Sserge fflush(iop); 3417951Sserge iop->_flag |= _IONBF; 3517951Sserge iop->_base = NULL; 3617951Sserge iop->_bufsiz = NULL; 3717951Sserge iop->_cnt = 0; 3817951Sserge } 3917951Sserge 402007Swnj return(r); 412007Swnj } 42