1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A* David Korn <dgk@research.att.com> * 1N/A* Phong Vo <kpv@research.att.com> * 1N/A***********************************************************************/ 1N/A/* Put out a null-terminated string 1N/A** Written by Kiem-Phong Vo. 1N/Achar* s;
/* string to write */ 1N/Aint rc;
/* record separator. */ 1N/A for(w = 0; (*s ||
rc >= 0); )
1N/A if(p >= (n + (
rc < 0 ? 0 :
1)) )
1N/A {
/* buffer can hold everything */ 1N/A {
/* create a reserve buffer to hold data */ 1N/A p = n + (
rc >= 0 ?
1 : 0);
1N/A for(; p > 0; --p, ++
ps, ++s)
1N/A /* sync unseekable shared streams */ 1N/A /* check for line buffering */