1*09d4459fSDaniel Fojt /* hard-locale.c -- Determine whether a locale is hard. 2*09d4459fSDaniel Fojt 3*09d4459fSDaniel Fojt Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2020 Free Software 4*09d4459fSDaniel Fojt Foundation, Inc. 5*09d4459fSDaniel Fojt 6*09d4459fSDaniel Fojt This program is free software: you can redistribute it and/or modify 7*09d4459fSDaniel Fojt it under the terms of the GNU General Public License as published by 8*09d4459fSDaniel Fojt the Free Software Foundation; either version 3 of the License, or 9*09d4459fSDaniel Fojt (at your option) any later version. 10*09d4459fSDaniel Fojt 11*09d4459fSDaniel Fojt This program is distributed in the hope that it will be useful, 12*09d4459fSDaniel Fojt but WITHOUT ANY WARRANTY; without even the implied warranty of 13*09d4459fSDaniel Fojt MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*09d4459fSDaniel Fojt GNU General Public License for more details. 15*09d4459fSDaniel Fojt 16*09d4459fSDaniel Fojt You should have received a copy of the GNU General Public License 17*09d4459fSDaniel Fojt along with this program. If not, see <https://www.gnu.org/licenses/>. */ 18*09d4459fSDaniel Fojt 19*09d4459fSDaniel Fojt #include <config.h> 20*09d4459fSDaniel Fojt 21*09d4459fSDaniel Fojt #include "hard-locale.h" 22*09d4459fSDaniel Fojt 23*09d4459fSDaniel Fojt #include <locale.h> 24*09d4459fSDaniel Fojt #include <string.h> 25*09d4459fSDaniel Fojt 26*09d4459fSDaniel Fojt bool 27*09d4459fSDaniel Fojt hard_locale (int category) 28*09d4459fSDaniel Fojt { 29*09d4459fSDaniel Fojt char locale[SETLOCALE_NULL_MAX]; 30*09d4459fSDaniel Fojt 31*09d4459fSDaniel Fojt if (setlocale_null_r (category, locale, sizeof (locale))) 32*09d4459fSDaniel Fojt return false; 33*09d4459fSDaniel Fojt 34*09d4459fSDaniel Fojt return !(strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0); 35*09d4459fSDaniel Fojt } 36