Annotation of embedaddon/sudo/include/gettext.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (c) 2011 Todd C. Miller <Todd.Miller@courtesan.com>
! 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 THE AUTHOR DISCLAIMS ALL WARRANTIES
! 9: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 10: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 11: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 12: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 13: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 14: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 15: */
! 16:
! 17: #ifndef _SUDO_GETTEXT_H
! 18: #define _SUDO_GETTEXT_H
! 19:
! 20: /*
! 21: * Solaris locale.h includes libintl.h which causes problems when we
! 22: * redefine the gettext functions. We include it first to avoid this.
! 23: */
! 24: #if defined(HAVE_LOCALE_H) && defined(__sun__) && defined(__svr4__)
! 25: # include <locale.h>
! 26: #endif
! 27:
! 28: #ifdef HAVE_LIBINTL_H
! 29:
! 30: # include <libintl.h>
! 31:
! 32: /*
! 33: * If DEFAULT_TEXT_DOMAIN is defined, use its value as the domain for
! 34: * gettext() and ngettext() instead of the value set by textdomain().
! 35: * This is used by the sudoers plugin as well as the convenience libraries.
! 36: */
! 37: # ifdef DEFAULT_TEXT_DOMAIN
! 38: # undef gettext
! 39: # define gettext(String) \
! 40: dgettext(DEFAULT_TEXT_DOMAIN, String)
! 41: # undef ngettext
! 42: # define ngettext(String, String_Plural, N) \
! 43: dngettext(DEFAULT_TEXT_DOMAIN, String, String_Plural, N)
! 44: # endif
! 45:
! 46: /* Gettext convenience macros */
! 47: # define _(String) gettext(String)
! 48: # define gettext_noop(String) String
! 49: # define N_(String) gettext_noop(String)
! 50:
! 51: #else /* !HAVE_LIBINTL_H */
! 52:
! 53: /*
! 54: * Internationalization is either unavailable or has been disabled.
! 55: * Define away the gettext functions used by sudo.
! 56: */
! 57: # define _(String) String
! 58: # define N_(String) String
! 59: # define textdomain(Domain)
! 60: # define bindtextdomain(Package, Directory)
! 61: # define ngettext(String, String_Plural, N) \
! 62: ((N) == 1 ? (String) : (String_Plural))
! 63:
! 64: #endif /* HAVE_LIBINTL_H */
! 65:
! 66: #endif /* _SUDO_GETTEXT_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>