version 1.5, 1997/08/24 18:33:12 |
version 1.6, 1998/07/10 15:05:25 |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <unistd.h> |
#include <unistd.h> |
#include <time.h> |
#include <time.h> |
|
#include <err.h> |
#include "file.h" |
#include "file.h" |
|
|
#ifndef lint |
#ifndef lint |
|
|
FILE *fil; |
FILE *fil; |
{ |
{ |
if (fputs(str,fil) == EOF) |
if (fputs(str,fil) == EOF) |
error("write failed.\n"); |
err(1, "write failed"); |
} |
} |
|
|
/*VARARGS*/ |
/*VARARGS*/ |
|
|
#endif |
#endif |
(void) vfprintf(f, fmt, va); |
(void) vfprintf(f, fmt, va); |
if (ferror(f)) |
if (ferror(f)) |
error("write failed.\n"); |
err(1, "write failed"); |
va_end(va); |
va_end(va); |
} |
|
|
|
/* |
|
* error - print best error message possible and exit |
|
*/ |
|
/*VARARGS*/ |
|
void |
|
#ifdef __STDC__ |
|
error(const char *f, ...) |
|
#else |
|
error(va_alist) |
|
va_dcl |
|
#endif |
|
{ |
|
va_list va; |
|
#ifdef __STDC__ |
|
va_start(va, f); |
|
#else |
|
const char *f; |
|
va_start(va); |
|
f = va_arg(va, const char *); |
|
#endif |
|
/* cuz we use stdout for most, stderr here */ |
|
(void) fflush(stdout); |
|
|
|
if (progname != NULL) |
|
(void) fprintf(stderr, "%s: ", progname); |
|
(void) vfprintf(stderr, f, va); |
|
va_end(va); |
|
exit(1); |
|
} |
|
|
|
/*VARARGS*/ |
|
void |
|
#ifdef __STDC__ |
|
magwarn(const char *f, ...) |
|
#else |
|
magwarn(va_alist) |
|
va_dcl |
|
#endif |
|
{ |
|
va_list va; |
|
#ifdef __STDC__ |
|
va_start(va, f); |
|
#else |
|
const char *f; |
|
va_start(va); |
|
f = va_arg(va, const char *); |
|
#endif |
|
/* cuz we use stdout for most, stderr here */ |
|
(void) fflush(stdout); |
|
|
|
if (progname != NULL) |
|
(void) fprintf(stderr, "%s: %s, %d: ", |
|
progname, magicfile, lineno); |
|
(void) vfprintf(stderr, f, va); |
|
va_end(va); |
|
fputc('\n', stderr); |
|
} |
} |