1 /* Line breaking auxiliary functions. 2 Copyright (C) 2001-2003, 2006-2021 Free Software Foundation, Inc. 3 Written by Bruno Haible <bruno@clisp.org>, 2001. 4 5 This file is free software. 6 It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". 7 You can redistribute it and/or modify it under either 8 - the terms of the GNU Lesser General Public License as published 9 by the Free Software Foundation; either version 3, or (at your 10 option) any later version, or 11 - the terms of the GNU General Public License as published by the 12 Free Software Foundation; either version 2, or (at your option) 13 any later version, or 14 - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". 15 16 This file is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 Lesser General Public License and the GNU General Public License 20 for more details. 21 22 You should have received a copy of the GNU Lesser General Public 23 License and of the GNU General Public License along with this 24 program. If not, see <https://www.gnu.org/licenses/>. */ 25 26 #include <config.h> 27 28 /* Specification. */ 29 #include "unilbrk/ulc-common.h" 30 31 #include "c-ctype.h" 32 #include "c-strcaseeq.h" 33 34 int 35 is_utf8_encoding (const char *encoding) /* */ 36 { 37 if (STRCASEEQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) 38 return 1; 39 return 0; 40 } 41 42 #if C_CTYPE_ASCII 43 44 /* Tests whether a string is entirely ASCII. Returns 1 if yes. 45 Returns 0 if the string is in an 8-bit encoding or an ISO-2022 encoding. */ 46 int 47 is_all_ascii (const char *s, size_t n) /* */ 48 { 49 for (; n > 0; s++, n--) 50 { 51 unsigned char c = (unsigned char) *s; 52 53 if (!(c_isprint (c) || c_isspace (c))) 54 return 0; 55 } 56 return 1; 57 } 58 59 #endif /* C_CTYPE_ASCII */