/contrib/bind9/lib/dns/dst_lib.c

https://bitbucket.org/freebsd/freebsd-head/ · C · 67 lines · 16 code · 17 blank · 34 comment · 1 complexity · 276cf45f256a49850e250f8714204aa1 MD5 · raw file

  1. /*
  2. * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
  3. * Copyright (C) 1999-2001 Internet Software Consortium.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for any
  6. * purpose with or without fee is hereby granted, provided that the above
  7. * copyright notice and this permission notice appear in all copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
  10. * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  11. * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
  12. * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  13. * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  14. * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. * PERFORMANCE OF THIS SOFTWARE.
  16. */
  17. /*
  18. * Principal Author: Brian Wellington
  19. * $Id: dst_lib.c,v 1.5 2007/06/19 23:47:16 tbox Exp $
  20. */
  21. /*! \file */
  22. #include <config.h>
  23. #include <stddef.h>
  24. #include <isc/once.h>
  25. #include <isc/msgcat.h>
  26. #include <isc/util.h>
  27. #include <dst/lib.h>
  28. /***
  29. *** Globals
  30. ***/
  31. LIBDNS_EXTERNAL_DATA isc_msgcat_t * dst_msgcat = NULL;
  32. /***
  33. *** Private
  34. ***/
  35. static isc_once_t msgcat_once = ISC_ONCE_INIT;
  36. /***
  37. *** Functions
  38. ***/
  39. static void
  40. open_msgcat(void) {
  41. isc_msgcat_open("libdst.cat", &dst_msgcat);
  42. }
  43. void
  44. dst_lib_initmsgcat(void) {
  45. /*
  46. * Initialize the DST library's message catalog, dst_msgcat, if it
  47. * has not already been initialized.
  48. */
  49. RUNTIME_CHECK(isc_once_do(&msgcat_once, open_msgcat) == ISC_R_SUCCESS);
  50. }