usleep tests: Avoid failure due to known Cygwin 3.5.3 bug.
[gnulib.git] / lib / unilbrk / ulc-common.c
blob2eb0fc384d5acb8b7491383af3e7a94c624958cf
1 /* Line breaking auxiliary functions.
2 Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
3 Written by Bruno Haible <bruno@clisp.org>, 2001.
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+".
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.
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/>. */
26 #include <config.h>
28 /* Specification. */
29 #include "unilbrk/ulc-common.h"
31 #include "c-ctype.h"
32 #include "c-strcaseeq.h"
34 int
35 is_utf8_encoding (const char *encoding)
37 if (STRCASEEQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
38 return 1;
39 return 0;
42 #if C_CTYPE_ASCII
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)
49 for (; n > 0; s++, n--)
51 unsigned char c = (unsigned char) *s;
53 if (!(c_isprint (c) || c_isspace (c)))
54 return 0;
56 return 1;
59 #endif /* C_CTYPE_ASCII */