source: trunk/src/grep/gnulib-tests/test-setlocale2.c@ 3544

Last change on this file since 3544 was 3529, checked in by bird, 4 years ago

Imported grep 3.7 from grep-3.7.tar.gz (sha256: c22b0cf2d4f6bbe599c902387e8058990e1eee99aef333a203829e5fd3dbb342), applying minimal auto-props.

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1/* Test of setting the current locale.
2 Copyright (C) 2011-2021 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
25int
26main ()
27{
28 /* Try to set the locale by implicitly looking at the LC_ALL environment
29 variable. */
30 if (setlocale (LC_ALL, "") != NULL)
31 /* It was successful. Check whether LC_CTYPE is non-trivial. */
32 if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
33 {
34 fprintf (stderr, "setlocale did not fail for implicit %s\n",
35 getenv ("LC_ALL"));
36 return 1;
37 }
38
39 /* Reset the locale. */
40 if (setlocale (LC_ALL, "C") == NULL)
41 return 1;
42
43 /* Try to set the locale by explicitly looking at the LC_ALL environment
44 variable. */
45 if (setlocale (LC_ALL, getenv ("LC_ALL")) != NULL)
46 /* It was successful. Check whether LC_CTYPE is non-trivial. */
47 if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
48 {
49 fprintf (stderr, "setlocale did not fail for explicit %s\n",
50 getenv ("LC_ALL"));
51 return 1;
52 }
53
54 return 0;
55}
Note: See TracBrowser for help on using the repository browser.