DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

bind_textdomain_codeset(3)





NAME

       bind_textdomain_codeset - set encoding of message transla-
       tions


SYNOPSIS

       #include <libintl.h>

       char * bind_textdomain_codeset (const char * domainname,
                                       const char * codeset);


DESCRIPTION

       The bind_textdomain_codeset function sets the output code-
       set for message catalogs for domain domainname.

       A  message domain is a set of translatable msgid messages.
       Usually,  every  software  package  has  its  own  message
       domain.

       By default, the gettext family of functions returns trans-
       lated messages in the locale's character  encoding,  which
       can  be  retrieved  as  nl_langinfo(CODESET). The need for
       calling bind_textdomain_codeset arises for programs  which
       store  strings  in  a locale independent way (e.g.  UTF-8)
       and want to avoid an extra character set conversion on the
       returned translated messages.

       domainname must be a non-empty string.

       If  codeset  is not NULL, it must be a valid encoding name
       which  can  be  used  for  the  iconv_open  function.  The
       bind_textdomain_codeset  function  sets the output codeset
       for message catalogs belonging  to  domain  domainname  to
       codeset. The function makes copies of the argument strings
       as needed.

       If codeset is NULL, the function  returns  the  previously
       set  codeset  for  domain domainname. The default is NULL,
       denoting the locale's character encoding.


RETURN VALUE

       If  successful,   the   bind_textdomain_codeset   function
       returns  the  current codeset for domain domainname, after
       possibly changing it. The resulting string is valid  until
       the next bind_textdomain_codeset call for the same domain-
       name and must not be modified or freed. If a memory  allo-
       cation failure occurs, it sets errno to ENOMEM and returns
       NULL. If no codeset has been set for domain domainname, it
       returns NULL.


ERRORS

       The following error can occur, among others:

       ENOMEM Not enough memory available.


BUGS

       The return type ought to be const char *, but is char * to
       avoid warnings in C code predating ANSI C.


SEE ALSO

       gettext(3), dgettext(3), dcgettext(3), ngettext(3), dnget-
       text(3),   dcngettext(3),  textdomain(3),  nl_langinfo(3),
       iconv_open(3)


Man(1) output converted with man2html