version 1.16, 2002/02/16 21:27:50 |
version 1.17, 2002/02/19 19:39:38 |
|
|
#endif /* not lint */ |
#endif /* not lint */ |
|
|
#include <sys/wait.h> |
#include <sys/wait.h> |
|
#include <stdarg.h> |
#include "defs.h" |
#include "defs.h" |
|
|
#define ack() (void) write(rem, "\0\n", 2) |
#define ack() (void) write(rem, "\0\n", 2) |
|
|
ack(); |
ack(); |
} |
} |
|
|
#ifdef __STDC__ |
|
#include <stdarg.h> |
|
#else |
|
#include <varargs.h> |
|
#endif |
|
|
|
void |
void |
#ifdef __STDC__ |
|
log(FILE *fp, const char *fmt, ...) |
log(FILE *fp, const char *fmt, ...) |
#else |
|
log(fp, fmt, va_alist) |
|
FILE *fp; |
|
char *fmt; |
|
va_dcl |
|
#endif |
|
{ |
{ |
va_list ap; |
va_list ap; |
#ifdef __STDC__ |
|
va_start(ap, fmt); |
va_start(ap, fmt); |
#else |
|
va_start(ap); |
|
#endif |
|
/* Print changes locally if not quiet mode */ |
/* Print changes locally if not quiet mode */ |
if (!qflag) |
if (!qflag) |
(void) vprintf(fmt, ap); |
(void) vprintf(fmt, ap); |
|
|
} |
} |
|
|
void |
void |
#ifdef __STDC__ |
|
error(const char *fmt, ...) |
error(const char *fmt, ...) |
#else |
|
error(fmt, va_alist) |
|
char *fmt; |
|
va_dcl |
|
#endif |
|
{ |
{ |
static FILE *fp; |
static FILE *fp; |
va_list ap; |
va_list ap; |
#ifdef __STDC__ |
|
va_start(ap, fmt); |
|
#else |
|
va_start(ap); |
|
#endif |
|
|
|
|
va_start(ap, fmt); |
++nerrs; |
++nerrs; |
if (iamremote) { |
if (iamremote) { |
if (!fp && (rem < 0 || !(fp = fdopen(rem, "w")))) |
if (!fp && (rem < 0 || !(fp = fdopen(rem, "w")))) |
|
|
} |
} |
|
|
void |
void |
#ifdef __STDC__ |
|
fatal(const char *fmt, ...) |
fatal(const char *fmt, ...) |
#else |
|
fatal(fmt, va_alist) |
|
char *fmt; |
|
va_dcl |
|
#endif |
|
{ |
{ |
static FILE *fp; |
static FILE *fp; |
va_list ap; |
va_list ap; |
#ifdef __STDC__ |
|
va_start(ap, fmt); |
|
#else |
|
va_start(ap); |
|
#endif |
|
|
|
|
va_start(ap, fmt); |
++nerrs; |
++nerrs; |
if (!fp && !(fp = fdopen(rem, "w"))) |
if (!fp && !(fp = fdopen(rem, "w"))) |
return; |
return; |
|
|
} |
} |
|
|
static void |
static void |
#ifdef __STDC__ |
|
note(const char *fmt, ...) |
note(const char *fmt, ...) |
#else |
|
note(fmt, va_alist) |
|
char *fmt; |
|
va_dcl |
|
#endif |
|
{ |
{ |
static char buf[BUFSIZ]; |
static char buf[BUFSIZ]; |
va_list ap; |
va_list ap; |
#ifdef __STDC__ |
|
va_start(ap, fmt); |
va_start(ap, fmt); |
#else |
|
va_start(ap); |
|
#endif |
|
(void) vsnprintf(buf, sizeof(buf), fmt, ap); |
(void) vsnprintf(buf, sizeof(buf), fmt, ap); |
va_end(ap); |
va_end(ap); |
comment(buf); |
comment(buf); |