static char Sccsid[]="@(#)xopen 3.1"; /* Interface to open(II) which differentiates among the various open errors. Returns file descriptor on success, fatal() on failure. */ # include "errno.h" xopen(name,mode) char name[]; int mode; { register int fd; extern int errno; extern char Error[]; if ((fd = open(name,mode)) < 0) { if(errno == EACCES) { if(mode == 0) sprintf(Error,"`%s' unreadable (ut5)",name); else if(mode == 1) sprintf(Error,"`%s' unwritable (ut6)",name); else sprintf(Error,"`%s' unreadable or unwritable (ut7)",name); fd = fatal(Error); } else fd = xmsg(name,"xopen"); } return(fd); }