~ubuntu-branches/debian/squeeze/ntp/squeeze-201010051545

« back to all changes in this revision

Viewing changes to libisc/lib.c

  • Committer: Bazaar Package Importer
  • Author(s): Matt Zimmerman
  • Date: 2004-10-11 16:10:27 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20041011161027-icyjbji8ujym633o
Tags: 1:4.2.0a-10ubuntu2
Use ntp.ubuntulinux.org instead of pool.ntp.org

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 1999-2001  Internet Software Consortium.
 
3
 *
 
4
 * Permission to use, copy, modify, and distribute this software for any
 
5
 * purpose with or without fee is hereby granted, provided that the above
 
6
 * copyright notice and this permission notice appear in all copies.
 
7
 *
 
8
 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
 
9
 * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
 
10
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
 
11
 * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
 
12
 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
 
13
 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
 
14
 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
 
15
 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
16
 */
 
17
 
 
18
/* $Id: lib.c,v 1.9 2001/11/19 03:08:23 mayer Exp $ */
 
19
 
 
20
#include <config.h>
 
21
 
 
22
#include <stdio.h>
 
23
#include <stdlib.h>
 
24
 
 
25
#include <isc/once.h>
 
26
#include <isc/msgs.h>
 
27
#include <isc/lib.h>
 
28
 
 
29
/***
 
30
 *** Globals
 
31
 ***/
 
32
 
 
33
LIBISC_EXTERNAL_DATA isc_msgcat_t *             isc_msgcat = NULL;
 
34
 
 
35
 
 
36
/***
 
37
 *** Private
 
38
 ***/
 
39
 
 
40
static isc_once_t               msgcat_once = ISC_ONCE_INIT;
 
41
 
 
42
 
 
43
/***
 
44
 *** Functions
 
45
 ***/
 
46
 
 
47
static void
 
48
open_msgcat(void) {
 
49
        isc_msgcat_open("libisc.cat", &isc_msgcat);
 
50
}
 
51
 
 
52
void
 
53
isc_lib_initmsgcat(void) {
 
54
        isc_result_t result;
 
55
 
 
56
        /*
 
57
         * Initialize the ISC library's message catalog, isc_msgcat, if it
 
58
         * has not already been initialized.
 
59
         */
 
60
 
 
61
        result = isc_once_do(&msgcat_once, open_msgcat);
 
62
        if (result != ISC_R_SUCCESS) {
 
63
                /*
 
64
                 * Normally we'd use RUNTIME_CHECK() or FATAL_ERROR(), but
 
65
                 * we can't do that here, since they might call us!
 
66
                 * (Note that the catalog might be open anyway, so we might
 
67
                 * as well try to  provide an internationalized message.)
 
68
                 */
 
69
                fprintf(stderr, "%s:%d: %s: isc_once_do() %s.\n",
 
70
                        __FILE__, __LINE__,
 
71
                        isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
 
72
                                       ISC_MSG_FATALERROR, "fatal error"),
 
73
                        isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
 
74
                                       ISC_MSG_FAILED, "failed"));
 
75
                abort();
 
76
        }
 
77
}