Annotation of 43BSDTahoe/usr.lib/libI77/util.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:  *     @(#)util.c      5.1     6/7/85
                      7:  */
                      8: 
                      9: /*
                     10:  * utility routines
                     11:  */
                     12: 
                     13: #include "fio.h"
                     14: 
                     15: extern short   ccntrl_, blzero_;
                     16: 
                     17: nowreading(x) unit *x;
                     18: {
                     19:        return(now_acc(x,"r"));
                     20: }
                     21: 
                     22: nowwriting(x) unit *x;
                     23: {
                     24:        return(now_acc(x,"a"));
                     25: }
                     26: 
                     27: LOCAL now_acc(x,mode)
                     28: unit *x; char *mode;
                     29: {
                     30:        long loc;
                     31: 
                     32:        if (!x->ufnm)
                     33:        {
                     34:                errno = EBADF;
                     35:                return(NO);
                     36:        }
                     37:        if (x->useek)
                     38:                loc=ftell(x->ufd);
                     39:        if (freopen(x->ufnm,mode,x->ufd))
                     40:        {
                     41:                if (x->useek)
                     42:                        fseek(x->ufd,loc,0);
                     43:                x->uwrt = (*mode=='a');
                     44:                return(YES);
                     45:        }
                     46:        if (x->ufd = fopen(x->ufnm, (*mode=='a')? "r":"a"))
                     47:                if (x->useek)
                     48:                        fseek(x->ufd,loc,0);
                     49:        return(NO);
                     50: }
                     51: 
                     52: g_char(a,alen,b) char *a,*b; ftnlen alen;
                     53: {      char *x=a+alen-1, *y=b+alen-1;
                     54:        while (x >= a  &&  *x == ' ') {x--; y--;}
                     55:        *(y+1) = '\0';
                     56:        while (x >= a) *y-- = *x--;
                     57: }
                     58: 
                     59: b_char(from, to, tolen) char *from, *to; ftnlen tolen;
                     60: {      int i=0;
                     61:        while (*from && i < tolen) {
                     62:                *to++ = *from++;
                     63:                i++;
                     64:        }
                     65:        while (i++ < tolen)
                     66:                *to++ = ' ';
                     67: }
                     68: 
                     69: char
                     70: last_char(f) FILE *f;
                     71: {
                     72:        fseek(f,-2L,1);
                     73:        if(ftell(f)) return(getc(f));
                     74:        else return('\n');
                     75: }

unix.superglobalmegacorp.com

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