1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-20 17:47:48 +00:00
Interlisp.maiko/src/perrno.c

86 lines
2.1 KiB
C
Executable File

/* $Id: perrno.c,v 1.4 2001/12/26 22:17:04 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
static char *id = "$Id: perrno.c,v 1.4 2001/12/26 22:17:04 sybalsky Exp $ Copyright (C) Venue";
/************************************************************************/
/* */
/* (C) Copyright 1989-95 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/* The contents of this file are proprietary information */
/* belonging to Venue, and are provided to you under license. */
/* They may not be further distributed or disclosed to third */
/* parties without the specific permission of Venue. */
/* */
/************************************************************************/
#include "version.h"
#include <stdio.h>
#include <errno.h>
#include "osmsg.h"
/************************************************************************/
/* */
/* p e r r o r n */
/* */
/* Print the error message to go with a given error number. */
/* */
/************************************************************************/
extern int errno;
#if defined(MACOSX) || defined(FREEBSD)
extern const char * const sys_errlist[];
extern const int sys_nerr;
#else
int sys_nerr;
#ifndef LINUX
extern char *sys_errlist[];
#endif /* LINUX */
#endif
perrorn(char *s, int n)
{
if ( s != NULL && *s != '\0' ) {
fprintf(stderr, "%s: ",s);
}
if (n > 0 && n < sys_nerr) {
fprintf(stderr, "%s\n", sys_errlist[n]);
} else {
fprintf(stderr, "???\n");
}
}
/************************************************************************/
/* */
/* e r r _ m e s s */
/* */
/* Print an error message and call 'perror' to get the */
/* canonical error explanation. Called by emulator I/O code. */
/* */
/************************************************************************/
err_mess(char *from, int no)
{
int save_errno=errno; /* Save errno around OSMESSAGE_PRINT */
OSMESSAGE_PRINT({fprintf(stderr,
"System call error: %s errno=%d ",
from, no); perror("");});
errno=save_errno;
}