copen (filename, type) char *filename; int type; { int fn; switch (type) { case 'r': type = 0; case 0: fn = open(filename,0); break; case 'a': type = 2; case 2: if ((fn=open(filename,1))>=0) break; /* courtesy of sny */ /* append defaults to write if file missing */ case 'w': type = 1; case 1: fn = creat(filename,0666); break; default: IEH3err("copen: bad file %s",filename); } if (fn >= 0) IEH3mbuf(fn,type); return(fn); }