summaryrefslogtreecommitdiff
path: root/lib/unicase.in.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unicase.in.h')
-rw-r--r--lib/unicase.in.h99
1 files changed, 51 insertions, 48 deletions
diff --git a/lib/unicase.in.h b/lib/unicase.in.h
index 47f63b3..ae48c5e 100644
--- a/lib/unicase.in.h
+++ b/lib/unicase.in.h
@@ -1,27 +1,26 @@
/* Unicode character case mappings.
- Copyright (C) 2002, 2009-2018 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or
- modify it under the terms of either:
-
- * the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- or
-
- * the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- or both in parallel, as here.
- This program is distributed in the hope that it will be useful,
+ Copyright (C) 2002, 2009-2022 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
+ Lesser General Public License and the GNU General Public License
+ for more details.
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
#ifndef _UNICASE_H
#define _UNICASE_H
@@ -105,15 +104,15 @@ extern const char *
extern uint8_t *
u8_toupper (const uint8_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_toupper (const uint16_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_toupper (const uint32_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Return the lowercase mapping of a string.
The nf argument identifies the normalization form to apply after the
@@ -121,15 +120,15 @@ extern uint32_t *
extern uint8_t *
u8_tolower (const uint8_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_tolower (const uint16_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_tolower (const uint32_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Return the titlecase mapping of a string.
The nf argument identifies the normalization form to apply after the
@@ -137,15 +136,15 @@ extern uint32_t *
extern uint8_t *
u8_totitle (const uint8_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_totitle (const uint16_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_totitle (const uint32_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* The case-mapping context given by a prefix string. */
typedef struct casing_prefix_context
@@ -213,21 +212,21 @@ extern uint8_t *
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_ct_toupper (const uint16_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_ct_toupper (const uint32_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Return the lowercase mapping of a string that is surrounded by a prefix
and a suffix. */
@@ -237,21 +236,21 @@ extern uint8_t *
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_ct_tolower (const uint16_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_ct_tolower (const uint32_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Return the titlecase mapping of a string that is surrounded by a prefix
and a suffix. */
@@ -261,21 +260,21 @@ extern uint8_t *
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_ct_totitle (const uint16_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_ct_totitle (const uint32_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Return the case folded string.
Comparing uN_casefold (S1) and uN_casefold (S2) with uN_cmp2() is equivalent
@@ -285,15 +284,15 @@ extern uint32_t *
extern uint8_t *
u8_casefold (const uint8_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_casefold (const uint16_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_casefold (const uint32_t *s, size_t n, const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Likewise, for a string that is surrounded by a prefix and a suffix. */
extern uint8_t *
u8_ct_casefold (const uint8_t *s, size_t n,
@@ -301,21 +300,21 @@ extern uint8_t *
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint8_t *resultbuf, size_t *lengthp);
+ uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint16_t *
u16_ct_casefold (const uint16_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint16_t *resultbuf, size_t *lengthp);
+ uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp);
extern uint32_t *
u32_ct_casefold (const uint32_t *s, size_t n,
casing_prefix_context_t prefix_context,
casing_suffix_context_t suffix_context,
const char *iso639_language,
uninorm_t nf,
- uint32_t *resultbuf, size_t *lengthp);
+ uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Compare S1 and S2, ignoring differences in case and normalization.
The nf argument identifies the normalization form to apply after the
@@ -345,16 +344,20 @@ extern int
NF must be either UNINORM_NFC, UNINORM_NFKC, or NULL for no normalization. */
extern char *
u8_casexfrm (const uint8_t *s, size_t n, const char *iso639_language,
- uninorm_t nf, char *resultbuf, size_t *lengthp);
+ uninorm_t nf,
+ char *_UC_RESTRICT resultbuf, size_t *lengthp);
extern char *
u16_casexfrm (const uint16_t *s, size_t n, const char *iso639_language,
- uninorm_t nf, char *resultbuf, size_t *lengthp);
+ uninorm_t nf,
+ char *_UC_RESTRICT resultbuf, size_t *lengthp);
extern char *
u32_casexfrm (const uint32_t *s, size_t n, const char *iso639_language,
- uninorm_t nf, char *resultbuf, size_t *lengthp);
+ uninorm_t nf,
+ char *_UC_RESTRICT resultbuf, size_t *lengthp);
extern char *
ulc_casexfrm (const char *s, size_t n, const char *iso639_language,
- uninorm_t nf, char *resultbuf, size_t *lengthp);
+ uninorm_t nf,
+ char *_UC_RESTRICT resultbuf, size_t *lengthp);
/* Compare S1 and S2, ignoring differences in case and normalization, using the
collation rules of the current locale.