1*2409Sdlw /* 2*2409Sdlw char id_fputc[] = @(#)fputc_.c 1.1"; 3*2409Sdlw * 4*2409Sdlw * write a character to a logical unit bypassing formatted I/O 5*2409Sdlw * 6*2409Sdlw * calling sequence: 7*2409Sdlw * integer fputc 8*2409Sdlw * ierror = fputc (unit, char) 9*2409Sdlw * where: 10*2409Sdlw * char will be sent to the logical unit 11*2409Sdlw * ierror will be 0 if successful; a system error code otherwise. 12*2409Sdlw */ 13*2409Sdlw 14*2409Sdlw #include "../libI77/fiodefs.h" 15*2409Sdlw #include "../libI77/f_errno.h" 16*2409Sdlw 17*2409Sdlw extern unit units[]; /* logical units table from iolib */ 18*2409Sdlw 19*2409Sdlw long fputc_(u, c, clen) 20*2409Sdlw long *u; char *c; long clen; 21*2409Sdlw { 22*2409Sdlw int i; 23*2409Sdlw 24*2409Sdlw if (*u < 0 || *u >= MXUNIT) 25*2409Sdlw return((long)(errno=F_ERARG)); 26*2409Sdlw if (!units[*u].ufd) 27*2409Sdlw return((long)(errno=F_ERNOPEN)); 28*2409Sdlw putc (*c, units[*u].ufd); 29*2409Sdlw if (ferror(units[*u].ufd)) 30*2409Sdlw { 31*2409Sdlw i = errno; 32*2409Sdlw clearerr(units[*u].ufd); 33*2409Sdlw return((long)i); 34*2409Sdlw } 35*2409Sdlw return(0L); 36*2409Sdlw } 37