3
/* Write out a character n times
5
** Written by Kiem-Phong Vo.
9
ssize_t sfnputc(reg Sfio_t* f, reg int c, reg size_t n)
11
ssize_t sfnputc(f,c,n)
12
reg Sfio_t* f; /* file to write */
13
reg int c; /* char to be written */
14
reg size_t n; /* number of time to repeat */
25
if(SFMODE(f,local) != SF_WRITE && _sfmode(f,SF_WRITE,local) < 0)
30
/* write into a suitable buffer */
31
if((size_t)(p = (f->endb-(ps = f->next))) < n)
32
{ ps = buf; p = sizeof(buf); }
40
{ /* simple sfwrite */
48
{ /* hard write of data */
49
if((p = SFWRITE(f,(Void_t*)ps,p)) <= 0 || (n -= p) <= 0)