Blame
Date:
Fri Jul 1 20:05:34 2022 UTC
Message:
include config.h in all compats
001
2022-07-01
op
/*
002
2022-07-01
op
* Copyright (c) 1993
003
2022-07-01
op
* The Regents of the University of California. All rights reserved.
004
2022-07-01
op
*
005
2022-07-01
op
* Redistribution and use in source and binary forms, with or without
006
2022-07-01
op
* modification, are permitted provided that the following conditions
007
2022-07-01
op
* are met:
008
2022-07-01
op
* 1. Redistributions of source code must retain the above copyright
009
2022-07-01
op
* notice, this list of conditions and the following disclaimer.
010
2022-07-01
op
* 2. Redistributions in binary form must reproduce the above copyright
011
2022-07-01
op
* notice, this list of conditions and the following disclaimer in the
012
2022-07-01
op
* documentation and/or other materials provided with the distribution.
013
2022-07-01
op
* 3. Neither the name of the University nor the names of its contributors
014
2022-07-01
op
* may be used to endorse or promote products derived from this software
015
2022-07-01
op
* without specific prior written permission.
016
2022-07-01
op
*
017
2022-07-01
op
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
018
2022-07-01
op
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
019
2022-07-01
op
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
020
2022-07-01
op
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
021
2022-07-01
op
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
022
2022-07-01
op
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
023
2022-07-01
op
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
024
2022-07-01
op
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
025
2022-07-01
op
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
026
2022-07-01
op
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
027
2022-07-01
op
* SUCH DAMAGE.
028
2022-07-01
op
*/
029
2022-07-01
op
030
2022-07-01
op
#include "config.h"
031
2022-07-01
op
032
2022-07-01
op
#include <errno.h>
033
2022-07-01
op
#include <stdarg.h>
034
2022-07-01
op
#include <stdio.h>
035
2022-07-01
op
#include <stdlib.h>
036
2022-07-01
op
#include <string.h>
037
2022-07-01
op
038
2022-07-01
op
void
039
2022-07-01
op
vwarnx(const char *fmt, va_list ap)
040
2022-07-01
op
{
041
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
042
2022-07-01
op
if (fmt != NULL)
043
2022-07-01
op
vfprintf(stderr, fmt, ap);
044
2022-07-01
op
fprintf(stderr, "\n");
045
2022-07-01
op
}
046
2022-07-01
op
047
2022-07-01
op
void
048
2022-07-01
op
vwarnc(int code, const char *fmt, va_list ap)
049
2022-07-01
op
{
050
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
051
2022-07-01
op
if (fmt != NULL) {
052
2022-07-01
op
vfprintf(stderr, fmt, ap);
053
2022-07-01
op
fprintf(stderr, ": ");
054
2022-07-01
op
}
055
2022-07-01
op
fprintf(stderr, "%s\n", strerror(code));
056
2022-07-01
op
}
057
2022-07-01
op
058
2022-07-01
op
void
059
2022-07-01
op
vwarn(const char *fmt, va_list ap)
060
2022-07-01
op
{
061
2022-07-01
op
int sverrno;
062
2022-07-01
op
063
2022-07-01
op
sverrno = errno;
064
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
065
2022-07-01
op
if (fmt != NULL) {
066
2022-07-01
op
vfprintf(stderr, fmt, ap);
067
2022-07-01
op
fprintf(stderr, ": ");
068
2022-07-01
op
}
069
2022-07-01
op
fprintf(stderr, "%s\n", strerror(sverrno));
070
2022-07-01
op
}
071
2022-07-01
op
072
2022-07-01
op
void
073
2022-07-01
op
verrc(int eval, int code, const char *fmt, va_list ap)
074
2022-07-01
op
{
075
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
076
2022-07-01
op
if (fmt != NULL) {
077
2022-07-01
op
vfprintf(stderr, fmt, ap);
078
2022-07-01
op
fprintf(stderr, ": ");
079
2022-07-01
op
}
080
2022-07-01
op
fprintf(stderr, "%s\n", strerror(code));
081
2022-07-01
op
exit(eval);
082
2022-07-01
op
}
083
2022-07-01
op
084
2022-07-01
op
void
085
2022-07-01
op
verrx(int eval, const char *fmt, va_list ap)
086
2022-07-01
op
{
087
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
088
2022-07-01
op
if (fmt != NULL)
089
2022-07-01
op
vfprintf(stderr, fmt, ap);
090
2022-07-01
op
fprintf(stderr, "\n");
091
2022-07-01
op
exit(eval);
092
2022-07-01
op
}
093
2022-07-01
op
094
2022-07-01
op
void
095
2022-07-01
op
verr(int eval, const char *fmt, va_list ap)
096
2022-07-01
op
{
097
2022-07-01
op
int sverrno;
098
2022-07-01
op
099
2022-07-01
op
sverrno = errno;
100
2022-07-01
op
fprintf(stderr, "%s: ", getprogname());
101
2022-07-01
op
if (fmt != NULL) {
102
2022-07-01
op
vfprintf(stderr, fmt, ap);
103
2022-07-01
op
fprintf(stderr, ": ");
104
2022-07-01
op
}
105
2022-07-01
op
fprintf(stderr, "%s\n", strerror(sverrno));
106
2022-07-01
op
exit(eval);
107
2022-07-01
op
}
108
2022-07-01
op
109
2022-07-01
op
void
110
2022-07-01
op
err(int eval, const char *fmt, ...)
111
2022-07-01
op
{
112
2022-07-01
op
va_list ap;
113
2022-07-01
op
114
2022-07-01
op
va_start(ap, fmt);
115
2022-07-01
op
verr(eval, fmt, ap);
116
2022-07-01
op
va_end(ap);
117
2022-07-01
op
}
118
2022-07-01
op
119
2022-07-01
op
void
120
2022-07-01
op
errc(int eval, int code, const char *fmt, ...)
121
2022-07-01
op
{
122
2022-07-01
op
va_list ap;
123
2022-07-01
op
124
2022-07-01
op
va_start(ap, fmt);
125
2022-07-01
op
verrc(eval, code, fmt, ap);
126
2022-07-01
op
va_end(ap);
127
2022-07-01
op
}
128
2022-07-01
op
129
2022-07-01
op
void
130
2022-07-01
op
errx(int eval, const char *fmt, ...)
131
2022-07-01
op
{
132
2022-07-01
op
va_list ap;
133
2022-07-01
op
134
2022-07-01
op
va_start(ap, fmt);
135
2022-07-01
op
verrx(eval, fmt, ap);
136
2022-07-01
op
va_end(ap);
137
2022-07-01
op
}
138
2022-07-01
op
139
2022-07-01
op
void
140
2022-07-01
op
warn(const char *fmt, ...)
141
2022-07-01
op
{
142
2022-07-01
op
va_list ap;
143
2022-07-01
op
144
2022-07-01
op
va_start(ap, fmt);
145
2022-07-01
op
vwarn(fmt, ap);
146
2022-07-01
op
va_end(ap);
147
2022-07-01
op
}
148
2022-07-01
op
149
2022-07-01
op
void
150
2022-07-01
op
warnc(int code, const char *fmt, ...)
151
2022-07-01
op
{
152
2022-07-01
op
va_list ap;
153
2022-07-01
op
154
2022-07-01
op
va_start(ap, fmt);
155
2022-07-01
op
vwarnc(code, fmt, ap);
156
2022-07-01
op
va_end(ap);
157
2022-07-01
op
}
158
2022-07-01
op
159
2022-07-01
op
void
160
2022-07-01
op
warnx(const char *fmt, ...)
161
2022-07-01
op
{
162
2022-07-01
op
va_list ap;
163
2022-07-01
op
164
2022-07-01
op
va_start(ap, fmt);
165
2022-07-01
op
vwarnx(fmt, ap);
166
2022-07-01
op
va_end(ap);
167
2022-07-01
op
}
Omar Polo