Doxygen Source Code Documentation
wsfe.c File Reference
#include "f2c.h"#include "fio.h"#include "fmt.h"Go to the source code of this file.
| Functions | |
| x_putc (int c) | |
| x_wSL (Void) | |
| xw_end (Void) | |
| xw_rev (Void) | |
| integer | s_wsfe (cilist *a) | 
| Variables | |
| int | f__hiwater | 
Function Documentation
| 
 | 
| 
 Definition at line 55 of file wsfe.c. References a, c_sfe(), err, f__hiwater, f__nowwriting(), f_init(), fmt_bg(), pars_f(), x_putc(), x_wSL(), xw_end(), and xw_rev(). Referenced by ff_(), MAIN__(), parser_(), qqqerr_(), and set_(). 
 00057 {       int n;
00058         if(!f__init) f_init();
00059         if(n=c_sfe(a)) return(n);
00060         f__reading=0;
00061         f__sequential=1;
00062         f__formatted=1;
00063         f__external=1;
00064         f__elist=a;
00065         f__hiwater = f__cursor=f__recpos=0;
00066         f__nonl = 0;
00067         f__scale=0;
00068         f__fmtbuf=a->cifmt;
00069         f__curunit = &f__units[a->ciunit];
00070         f__cf=f__curunit->ufd;
00071         if(pars_f(f__fmtbuf)<0) err(a->cierr,100,"startio");
00072         f__putn= x_putc;
00073         f__doed= w_ed;
00074         f__doned= w_ned;
00075         f__doend=xw_end;
00076         f__dorevert=xw_rev;
00077         f__donewrec=x_wSL;
00078         fmt_bg();
00079         f__cplus=0;
00080         f__cblank=f__curunit->ublnk;
00081         if(f__curunit->uwrt != 1 && f__nowwriting(f__curunit))
00082                 err(a->cierr,errno,"write start");
00083         return(0);
00084 }
 | 
| 
 | 
| 
 Definition at line 10 of file wsfe.c. References buf_end, c, and f__hiwater. Referenced by s_wsfe(). 
 00012 {
00013         /* this uses \n as an indicator of record-end */
00014         if(c == '\n' && f__recpos < f__hiwater) {       /* fseek calls fflush, a loss */
00015 #ifndef NON_UNIX_STDIO
00016                 if(f__cf->_ptr + f__hiwater - f__recpos < buf_end(f__cf))
00017                         f__cf->_ptr += f__hiwater - f__recpos;
00018                 else
00019 #endif
00020                         (void) fseek(f__cf, (long)(f__hiwater - f__recpos), SEEK_CUR);
00021         }
00022 #ifdef OMIT_BLANK_CC
00023         if (!f__recpos++ && c == ' ')
00024                 return c;
00025 #else
00026         f__recpos++;
00027 #endif
00028         return putc(c,f__cf);
00029 }
 | 
| 
 | 
| 
 Definition at line 30 of file wsfe.c. References f__hiwater. Referenced by s_wsfe(). 
 00031 {
00032         (*f__putn)('\n');
00033         f__recpos=0;
00034         f__cursor = 0;
00035         f__hiwater = 0;
00036         return(1);
00037 }
 | 
| 
 | 
| 
 Definition at line 38 of file wsfe.c. References f__hiwater. Referenced by s_wsfe(). 
 00039 {
00040         if(f__nonl == 0)
00041                 (*f__putn)('\n');
00042         f__hiwater = f__recpos = f__cursor = 0;
00043         return(0);
00044 }
 | 
| 
 | 
| 
 Definition at line 45 of file wsfe.c. References f__hiwater. Referenced by s_wsfe(). 
 00046 {
00047         if(f__workdone) (*f__putn)('\n');
00048         f__hiwater = f__recpos = f__cursor = 0;
00049         return(f__workdone=0);
00050 }
 | 
Variable Documentation
| 
 | 
| 
 Definition at line 5 of file wsfe.c. Referenced by s_wsfe(), x_putc(), x_wSL(), xw_end(), and xw_rev(). | 
 
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
 
 
 
 
       
	   
	   
	   
	  