(linenum→info "unix/slp.c:2238")

glibc/2.7/intl/tst-codeset.c

    1: /* Test of bind_textdomain_codeset.
    2:    Copyright (C) 2001 Free Software Foundation, Inc.
    3:    This file is part of the GNU C Library.
    4:    Contributed by Bruno Haible <haible@clisp.cons.org>, 2001.
    5: 
    6:    The GNU C Library is free software; you can redistribute it and/or
    7:    modify it under the terms of the GNU Lesser General Public
    8:    License as published by the Free Software Foundation; either
    9:    version 2.1 of the License, or (at your option) any later version.
   10: 
   11:    The GNU C Library is distributed in the hope that it will be useful,
   12:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   13:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   14:    Lesser General Public License for more details.
   15: 
   16:    You should have received a copy of the GNU Lesser General Public
   17:    License along with the GNU C Library; if not, write to the Free
   18:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   19:    02111-1307 USA.  */
   20: 
   21: #include <libintl.h>
   22: #include <locale.h>
   23: #include <stdio.h>
   24: #include <stdlib.h>
   25: #include <string.h>
   26: 
   27: int
   28: main (void)
   29: {
   30:   char *s;
   31:   int result = 0;
   32: 
   33:   unsetenv ("LANGUAGE");
   34:   unsetenv ("OUTPUT_CHARSET");
   35:   setlocale (LC_ALL, "de_DE.ISO-8859-1");
   36:   textdomain ("codeset");
   37:   bindtextdomain ("codeset", OBJPFX "domaindir");
   38: 
   39:   /* Here we expect output in ISO-8859-1.  */
   40:   s = gettext ("cheese");
   41:   if (strcmp (s, "K\344se"))
   42:     {
   43:       printf ("call 1 returned: %s\n", s);
   44:       result = 1;
   45:     }
   46: 
   47:   bind_textdomain_codeset ("codeset", "UTF-8");
   48: 
   49:   /* Here we expect output in UTF-8.  */
   50:   s = gettext ("cheese");
   51:   if (strcmp (s, "K\303\244se"))
   52:     {
   53:       printf ("call 2 returned: %s\n", s);
   54:       result = 1;
   55:     }
   56: 
   57:   return result;
   58: }
Syntax (Markdown)