LCOV - GNU Libidn - lib/gltests/test-setlocale2.c

LCOV - code coverage report
Current view: top level - lib/gltests - test-setlocale2.c (source / functions) Hit Total Coverage
Test: GNU Libidn Lines: 5 12 41.7 %
Date: 2020年07月22日 17:53:13 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

 Line data Source code
 1  : /* Test of setting the current locale.
 2  : Copyright (C) 2011-2020 Free Software Foundation, Inc.
 3  : 
 4  : This program is free software: you can redistribute it and/or modify
 5  : it under the terms of the GNU General Public License as published by
 6  : the Free Software Foundation; either version 3 of the License, or
 7  : (at your option) any later version.
 8  : 
 9  : This program is distributed in the hope that it will be useful,
 10  : but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 12  : GNU General Public License for more details.
 13  : 
 14  : You should have received a copy of the GNU General Public License
 15  : along with this program. If not, see <https://www.gnu.org/licenses/>. */
 16  : 
 17  : #include <config.h>
 18  : 
 19  : #include <locale.h>
 20  : 
 21  : #include <stdio.h>
 22  : #include <stdlib.h>
 23  : #include <string.h>
 24  : 
 25  : int
 26  12 : main ()
 27  : {
 28  : /* Try to set the locale by implicitly looking at the LC_ALL environment
 29  : variable. */
 30  12 : if (setlocale (LC_ALL, "") != NULL)
 31  : /* It was successful. Check whether LC_CTYPE is non-trivial. */
 32  0 : if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 33  : {
 34  0 : fprintf (stderr, "setlocale did not fail for implicit %s\n",
 35  : getenv ("LC_ALL"));
 36  0 : return 1;
 37  : }
 38  : 
 39  : /* Reset the locale. */
 40  12 : if (setlocale (LC_ALL, "C") == NULL)
 41  0 : return 1;
 42  : 
 43  : /* Try to set the locale by explicitly looking at the LC_ALL environment
 44  : variable. */
 45  12 : if (setlocale (LC_ALL, getenv ("LC_ALL")) != NULL)
 46  : /* It was successful. Check whether LC_CTYPE is non-trivial. */
 47  0 : if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 48  : {
 49  0 : fprintf (stderr, "setlocale did not fail for explicit %s\n",
 50  : getenv ("LC_ALL"));
 51  0 : return 1;
 52  : }
 53  : 
 54  12 : return 0;
 55  : }

Generated by: LCOV version 1.13

AltStyle によって変換されたページ (->オリジナル) /