home *** CD-ROM | disk | FTP | other *** search
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdarg.h>
- #include <errno.h>
- #include <mach/mach.h>
- #include <mach/mach_error.h>
-
- #include "stuff/errors.h"
-
- __private_extern__ unsigned long errors = 0; /* number of calls to error() */
-
- /*
- * Just print the message in the standard format without setting an error.
- */
- __private_extern__
- void
- warning(
- const char *format,
- ...)
- {
- va_list ap;
-
- va_start(ap, format);
- fprintf(stderr, "%s: ", progname);
- vfprintf(stderr, format, ap);
- fprintf(stderr, "\n");
- va_end(ap);
- }
-
- /*
- * Print the error message and return to the caller after setting the error
- * indication.
- */
- __private_extern__
- void
- error(
- const char *format,
- ...)
- {
- va_list ap;
-
- va_start(ap, format);
- fprintf(stderr, "%s: ", progname);
- vfprintf(stderr, format, ap);
- fprintf(stderr, "\n");
- va_end(ap);
- errors++;
- }
-
- /*
- * Print the error message, the architecture if not NULL and return to the
- * caller after setting the error indication.
- */
- __private_extern__
- void
- error_with_arch(
- const char *arch_name,
- const char *format,
- ...)
- {
- va_list ap;
-
- va_start(ap, format);
- fprintf(stderr, "%s: ", progname);
- if(arch_name != NULL)
- fprintf(stderr, "for architecture: %s ", arch_name);
- vfprintf(stderr, format, ap);
- fprintf(stderr, "\n");
- va_end(ap);
- errors++;
- }
-
- /*
- * Print the error message along with the system error message and return to
- * the caller after setting the error indication.
- */
- __private_extern__
- void
- system_error(
- const char *format,
- ...)
- {
- va_list ap;
-
- va_start(ap, format);
- fprintf(stderr, "%s: ", progname);
- vfprintf(stderr, format, ap);
- fprintf(stderr, " (%s)\n", strerror(errno));
- va_end(ap);
- errors++;
- }
-
- /*
- * Print the error message along with the mach error string.
- */
- __private_extern__
- void
- my_mach_error(
- kern_return_t r,
- char *format,
- ...)
- {
- va_list ap;
-
- va_start(ap, format);
- fprintf(stderr, "%s: ", progname);
- vfprintf(stderr, format, ap);
- fprintf(stderr, " (%s)\n", mach_error_string(r));
- va_end(ap);
- errors++;
- }
-