1
0
Files
irix-657m-src/eoe/cmd/sccs/lib/mpwlib/xopen.c
2022-09-29 17:59:04 +03:00

47 lines
1.2 KiB
C

/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
/* #ident "@(#)sccs:lib/mpwlib/xopen.c 6.4" */
#ident "$Header: /proj/irix6.5.7m/isms/eoe/cmd/sccs/lib/mpwlib/RCS/xopen.c,v 1.2 1995/12/30 02:19:22 ack Exp $"
/*
Interface to open(II) which differentiates among the various
open errors.
Returns file descriptor on success,
fatal() on failure.
*/
# include "errno.h"
# include <sys/types.h>
xopen(name,mode)
char name[];
mode_t mode;
{
register int fd;
extern int errno;
extern char Error[];
int open(), sprintf(), fatal(), xmsg();
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);
}