|
|
1.1 ! root 1: /* Copyright Bell Telephone Laboratories Whippany, N.J. ! 2: ! 3: * ///////////////////////////////////// ! 4: * ///////////////////////////////////// ! 5: * ////////////// copen.c ////////////// ! 6: * /// J. P. Hawkins WH X4610 8C-001 /// ! 7: * ///// Fri Aug 24 17:35:10 1979 ////// ! 8: * ///////////////////////////////////// ! 9: * ///////////////////////////////////// ! 10: ! 11: * FILE OPEN ROUTINES FOR BITE ! 12: * if LSX not defined, compiles for TS system calls ! 13: * call format: fd = copen(filename,mode) ! 14: * ! 15: * where: fd is returned file descriptor ! 16: * filename is string pointer to filename ! 17: * mode = 0 for input, 1 for output and 2 for append ! 18: */ ! 19: /* "@(#) copen.c: V 1.1 12/21/80" */ ! 20: #include "bas.h" ! 21: ! 22: copen(s,mode) ! 23: char s[]; ! 24: int mode; ! 25: { ! 26: int fd; ! 27: switch(mode) ! 28: { ! 29: case 0: /* OPEN FOR INPUT */ ! 30: fd = open(s, 0); ! 31: break; ! 32: case 1: /* OPEN FOR OUTPUT */ ! 33: fd = creat(s, 0666); ! 34: break; ! 35: case 2: /* OPEN FOR APPEND */ ! 36: if((fd = open(s, 1)) < 0) /* try to open */ ! 37: fd = creat(s, 0666); /* create new file ! 38: if one doesn't exist */ ! 39: else ! 40: { ! 41: /* ! 42: * SEEK TO END OF FILE FOR APPEND ! 43: */ ! 44: lseek(fd, 0L, 2); ! 45: } ! 46: default: ! 47: break; ! 48: } ! 49: return(fd); ! 50: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.