|
|
1.1 ! root 1: /* place holders */ ! 2: #include "cbt.h" ! 3: extern long time(); ! 4: long tranid; ! 5: ! 6: long getlpid() ! 7: { ! 8: return(time((long *)0) ^ 077777 + getpid()); ! 9: } ! 10: extern bfile *curbf; ! 11: bfile *newtran(bf) bfile *bf; ! 12: { ! 13: tranid = getlpid(); ! 14: return(bf); ! 15: } ! 16: ! 17: notran(bf) bfile *bf; ! 18: { ! 19: curbf = bf; ! 20: if(bf->fatal) { ! 21: if(bf->fatal++ < 2) { ! 22: errno = BFATAL; ! 23: return(EOF); ! 24: } ! 25: perror("btree repeatedly accessed after fatal error"); ! 26: abort(); ! 27: } ! 28: return(0); ! 29: } ! 30: ! 31: trabort() ! 32: { ! 33: errno = BUTRAN; ! 34: tranid = 0; ! 35: } ! 36: ! 37: intran() ! 38: { ! 39: return(0); ! 40: } ! 41: ! 42: rmtran(bf) bfile *bf; ! 43: { ! 44: } ! 45: static struct D { struct D *a; char *b;} VER = {&VER,"\n81/8/9:tran.c\n"}; ! 46: /*0001010110001011*/
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.