*: Updated copyright to 2009 and normalized name & email.
[kbuild-mirror.git] / src / ash / win / err.c
blobdb6febaf5e25ad55ef50869a644b9959fef7a51d
1 /* $Id$ */
2 /** @file
4 * Override err.h so we get the program name right.
6 * Copyright (c) 2005-2009 knut st. osmundsen <bird-kBuild-spamix@anduin.net>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with This program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #include <stdio.h>
28 #include <stdarg.h>
29 #include <string.h>
30 #include <errno.h>
31 #include "err.h"
34 /** The current program name. */
35 const char *g_progname = "kmk";
38 int err(int eval, const char *fmt, ...)
40 va_list args;
41 int error = errno;
42 fprintf(stderr, "%s: ", g_progname);
43 va_start(args, fmt);
44 vfprintf(stderr, fmt, args);
45 va_end(args);
46 fprintf(stderr, ": %s\n", strerror(error));
48 return eval;
52 int errx(int eval, const char *fmt, ...)
54 va_list args;
55 fprintf(stderr, "%s: ", g_progname);
56 va_start(args, fmt);
57 vfprintf(stderr, fmt, args);
58 va_end(args);
59 fprintf(stderr, "\n");
61 return eval;
64 void warn(const char *fmt, ...)
66 int error = errno;
67 va_list args;
68 fprintf(stderr, "%s: ", g_progname);
69 va_start(args, fmt);
70 vfprintf(stderr, fmt, args);
71 va_end(args);
72 fprintf(stderr, ": %s\n", strerror(error));
75 void warnx(const char *fmt, ...)
77 int err = errno;
78 va_list args;
79 fprintf(stderr, "%s: ", g_progname);
80 va_start(args, fmt);
81 vfprintf(stderr, fmt, args);
82 va_end(args);
83 fprintf(stderr, "\n");