Move the cctools source version number into version.mak
[striptease.git] / libstuff / errors.c
blob0a7ca533841d8c55932bae6d2e9339b48ffaa4f3
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
21 * @APPLE_LICENSE_HEADER_END@
23 #ifndef RLD
24 #include <stdlib.h>
25 #include <string.h>
26 #include <stdio.h>
27 #include <stdarg.h>
28 #include <errno.h>
29 #include <mach/mach.h>
30 #include <mach/mach_error.h>
32 #include "stuff/errors.h"
34 __private_extern__ uint32_t errors = 0; /* number of calls to error() */
37 * Just print the message in the standard format without setting an error.
39 __private_extern__
40 void
41 warning(
42 const char *format,
43 ...)
45 va_list ap;
47 va_start(ap, format);
48 fprintf(stderr, "%s: ", progname);
49 vfprintf(stderr, format, ap);
50 fprintf(stderr, "\n");
51 va_end(ap);
55 * Print the error message and return to the caller after setting the error
56 * indication.
58 __private_extern__
59 void
60 error(
61 const char *format,
62 ...)
64 va_list ap;
66 va_start(ap, format);
67 fprintf(stderr, "%s: ", progname);
68 vfprintf(stderr, format, ap);
69 fprintf(stderr, "\n");
70 va_end(ap);
71 errors++;
75 * Print the error message, the architecture if not NULL and return to the
76 * caller after setting the error indication.
78 __private_extern__
79 void
80 error_with_arch(
81 const char *arch_name,
82 const char *format,
83 ...)
85 va_list ap;
87 va_start(ap, format);
88 fprintf(stderr, "%s: ", progname);
89 if(arch_name != NULL)
90 fprintf(stderr, "for architecture: %s ", arch_name);
91 vfprintf(stderr, format, ap);
92 fprintf(stderr, "\n");
93 va_end(ap);
94 errors++;
98 * Print the error message along with the system error message and return to
99 * the caller after setting the error indication.
101 __private_extern__
102 void
103 system_error(
104 const char *format,
105 ...)
107 va_list ap;
109 va_start(ap, format);
110 fprintf(stderr, "%s: ", progname);
111 vfprintf(stderr, format, ap);
112 fprintf(stderr, " (%s)\n", strerror(errno));
113 va_end(ap);
114 errors++;
118 * Print the error message along with the mach error string.
120 __private_extern__
121 void
122 my_mach_error(
123 kern_return_t r,
124 char *format,
125 ...)
127 va_list ap;
129 va_start(ap, format);
130 fprintf(stderr, "%s: ", progname);
131 vfprintf(stderr, format, ap);
132 fprintf(stderr, " (%s)\n", mach_error_string(r));
133 va_end(ap);
134 errors++;
136 #endif /* !defined(RLD) */