Annotation of 43BSDTahoe/usr.lib/libI77/wdfe.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  *
                      6:  *     @(#)wdfe.c      5.1     6/7/85
                      7:  */
                      8: 
                      9: /*
                     10:  * write direct formatted external i/o
                     11:  */
                     12: 
                     13: #include "fio.h"
                     14: 
                     15: extern int w_ed(),w_ned();
                     16: int y_putc(),y_wnew(),y_tab();
                     17: 
                     18: LOCAL char wdfe[] = "write dfe";
                     19: 
                     20: s_wdfe(a) cilist *a;
                     21: {
                     22:        int n;
                     23:        reading = NO;
                     24:        if(n=c_dfe(a,WRITE,wdfe)) return(n);
                     25:        curunit->uend = NO;
                     26:        if(!curunit->uwrt && ! nowwriting(curunit)) err(errflag, errno, wdfe)
                     27:        putn = y_putc;
                     28:        doed = w_ed;
                     29:        doned = w_ned;
                     30:        dotab = y_tab;
                     31:        dorevert = doend = donewrec = y_wnew;
                     32:        if(pars_f()) err(errflag,F_ERFMT,wdfe)
                     33:        fmt_bg();
                     34:        return(OK);
                     35: }
                     36: 
                     37: e_wdfe()
                     38: {
                     39:        en_fio();
                     40:        return(OK);
                     41: }
                     42: 
                     43: LOCAL
                     44: y_putc(c)
                     45: {
                     46:        if(curunit->url!=1 && recpos++ >= curunit->url) err(errflag,F_EREREC,wdfe)
                     47:        putc(c,cf);
                     48:        return(OK);
                     49: }
                     50: 
                     51: LOCAL
                     52: y_wnew()
                     53: {      if(curunit->url != 1)
                     54:        {       if(reclen > recpos)
                     55:                {       fseek(cf,(long)(reclen-recpos),1);
                     56:                        recpos = reclen;
                     57:                }
                     58:                while(recpos < curunit->url) (*putn)(' ');
                     59:                recnum++;
                     60:                recpos = reclen = cursor = 0;
                     61:        }
                     62:        return(OK);
                     63: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.