~ubuntu-branches/ubuntu/lucid/libevent/lucid

« back to all changes in this revision

Viewing changes to err.c

  • Committer: Bazaar Package Importer
  • Author(s): Simon Law
  • Date: 2005-06-27 21:05:46 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050627210546-ltxijf9i7ttholzh
Tags: 1.1a-1
* New upstream release.
* Acknowledge NMUs.  (Closes: Bug#288282, Bug#288404, Bug#290385, Bug#291096)
* Update README.Debian.  (Closes: Bug#310634)
* libevent.so uses a different library naming scheme now.  We will
  preserve backwards compatiblity with Debian's, but also provide symlinks
  for the official libevent-1.1a.so name.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*      $OpenBSD: err.c,v 1.2 2002/06/25 15:50:15 mickey Exp $  */
2
 
 
3
 
/*
4
 
 * err.c
5
 
 *
6
 
 * Adapted from OpenBSD libc *err* *warn* code.
7
 
 *
8
 
 * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
9
 
 *
10
 
 * Copyright (c) 1993
11
 
 *      The Regents of the University of California.  All rights reserved.
12
 
 *
13
 
 * Redistribution and use in source and binary forms, with or without
14
 
 * modification, are permitted provided that the following conditions
15
 
 * are met:
16
 
 * 1. Redistributions of source code must retain the above copyright
17
 
 *    notice, this list of conditions and the following disclaimer.
18
 
 * 2. Redistributions in binary form must reproduce the above copyright
19
 
 *    notice, this list of conditions and the following disclaimer in the
20
 
 *    documentation and/or other materials provided with the distribution.
21
 
 * 3. Neither the name of the University nor the names of its contributors
22
 
 *    may be used to endorse or promote products derived from this software
23
 
 *    without specific prior written permission.
24
 
 *
25
 
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26
 
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
 
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29
 
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
 
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31
 
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32
 
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33
 
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34
 
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35
 
 * SUCH DAMAGE.
36
 
 */
37
 
 
38
 
#include <stdio.h>
39
 
#include <stdlib.h>
40
 
#include <stdarg.h>
41
 
#include <string.h>
42
 
#include <errno.h>
43
 
 
44
 
void
45
 
err(int eval, const char *fmt, ...)
46
 
{
47
 
        va_list ap;
48
 
        
49
 
        va_start(ap, fmt);
50
 
        if (fmt != NULL) {
51
 
                (void)vfprintf(stderr, fmt, ap);
52
 
                (void)fprintf(stderr, ": ");
53
 
        }
54
 
        va_end(ap);
55
 
        (void)fprintf(stderr, "%s\n", strerror(errno));
56
 
        exit(eval);
57
 
}
58
 
 
59
 
void
60
 
warn(const char *fmt, ...)
61
 
{
62
 
        va_list ap;
63
 
        
64
 
        va_start(ap, fmt);
65
 
        if (fmt != NULL) {
66
 
                (void)vfprintf(stderr, fmt, ap);
67
 
                (void)fprintf(stderr, ": ");
68
 
        }
69
 
        va_end(ap);
70
 
        (void)fprintf(stderr, "%s\n", strerror(errno));
71
 
}
72
 
 
73
 
void
74
 
errx(int eval, const char *fmt, ...)
75
 
{
76
 
        va_list ap;
77
 
        
78
 
        va_start(ap, fmt);
79
 
        if (fmt != NULL)
80
 
                (void)vfprintf(stderr, fmt, ap);
81
 
        (void)fprintf(stderr, "\n");
82
 
        va_end(ap);
83
 
        exit(eval);
84
 
}
85
 
 
86
 
void
87
 
warnx(const char *fmt, ...)
88
 
{
89
 
        va_list ap;
90
 
        
91
 
        va_start(ap, fmt);
92
 
        if (fmt != NULL)
93
 
                (void)vfprintf(stderr, fmt, ap);
94
 
        (void)fprintf(stderr, "\n");
95
 
        va_end(ap);
96
 
}
97