VirtualBox

source: kBuild/trunk/src/kmk/kmkbuiltin/err.c@ 2019

Last change on this file since 2019 was 2019, checked in by bird, 16 years ago

GPLv2 -> GPLv3. See Ticket #44 for clarifications. Fixes #44.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/* $Id: err.c 2019 2008-11-02 00:21:05Z bird $ */
2/** @file
3 * Override err.h so we get the program name right.
4 */
5
6/*
7 * Copyright (c) 2005-2008 knut st. osmundsen <bird-src-spam@anduin.net>
8 *
9 * This file is part of kBuild.
10 *
11 * kBuild is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * kBuild is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with kBuild. If not, see <http://www.gnu.org/licenses/>
23 *
24 */
25
26/*******************************************************************************
27* Header Files *
28*******************************************************************************/
29#include <stdio.h>
30#include <stdarg.h>
31#include <string.h>
32#include <errno.h>
33#include "err.h"
34
35
36/** The current program name. */
37const char *g_progname = "kmk";
38
39
40int err(int eval, const char *fmt, ...)
41{
42 va_list args;
43 int error = errno;
44 fprintf(stderr, "%s: ", g_progname);
45 va_start(args, fmt);
46 vfprintf(stderr, fmt, args);
47 va_end(args);
48 fprintf(stderr, ": %s\n", strerror(error));
49
50 return eval;
51}
52
53
54int errx(int eval, const char *fmt, ...)
55{
56 va_list args;
57 fprintf(stderr, "%s: ", g_progname);
58 va_start(args, fmt);
59 vfprintf(stderr, fmt, args);
60 va_end(args);
61 fprintf(stderr, "\n");
62
63 return eval;
64}
65
66void warn(const char *fmt, ...)
67{
68 int error = errno;
69 va_list args;
70 fprintf(stderr, "%s: ", g_progname);
71 va_start(args, fmt);
72 vfprintf(stderr, fmt, args);
73 va_end(args);
74 fprintf(stderr, ": %s\n", strerror(error));
75}
76
77void warnx(const char *fmt, ...)
78{
79 va_list args;
80 fprintf(stderr, "%s: ", g_progname);
81 va_start(args, fmt);
82 vfprintf(stderr, fmt, args);
83 va_end(args);
84 fprintf(stderr, "\n");
85}
86
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette