diff options
Diffstat (limited to 'lib/uninorm.in.h')
-rw-r--r-- | lib/uninorm.in.h | 49 |
1 files changed, 22 insertions, 27 deletions
diff --git a/lib/uninorm.in.h b/lib/uninorm.in.h index 7728061..804e4ac 100644 --- a/lib/uninorm.in.h +++ b/lib/uninorm.in.h @@ -1,25 +1,16 @@ /* Normalization forms (composition and decomposition) of Unicode strings. - Copyright (C) 2001-2002, 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2009-2022 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2009. - This program is free software: you can redistribute it and/or - modify it under the terms of either: + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - * 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, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser 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/>. */ @@ -27,6 +18,9 @@ #ifndef _UNINORM_H #define _UNINORM_H +/* Get common macros for C. */ +#include <unistring/cdefs.h> + /* Get LIBUNISTRING_DLL_VARIABLE. */ #include <unistring/woe32dll.h> @@ -155,13 +149,13 @@ extern uninorm_t /* Return the specified normalization form of a string. */ extern uint8_t * u8_normalize (uninorm_t nf, const uint8_t *s, size_t n, - uint8_t *resultbuf, size_t *lengthp); + uint8_t *_UC_RESTRICT resultbuf, size_t *lengthp); extern uint16_t * u16_normalize (uninorm_t nf, const uint16_t *s, size_t n, - uint16_t *resultbuf, size_t *lengthp); + uint16_t *_UC_RESTRICT resultbuf, size_t *lengthp); extern uint32_t * u32_normalize (uninorm_t nf, const uint32_t *s, size_t n, - uint32_t *resultbuf, size_t *lengthp); + uint32_t *_UC_RESTRICT resultbuf, size_t *lengthp); /* Compare S1 and S2, ignoring differences in normalization. @@ -221,6 +215,12 @@ extern int sequence to the encapsulated stream of Unicode characters. */ struct uninorm_filter; +/* Bring data buffered in the filter to its destination, the encapsulated + stream, then close and free the filter. + Return 0 if successful, or -1 with errno set upon failure. */ +extern int + uninorm_filter_free (struct uninorm_filter *filter); + /* Create and return a normalization filter for Unicode characters. The pair (stream_func, stream_data) is the encapsulated stream. stream_func (stream_data, uc) receives the Unicode character uc @@ -229,7 +229,8 @@ struct uninorm_filter; extern struct uninorm_filter * uninorm_filter_create (uninorm_t nf, int (*stream_func) (void *stream_data, ucs4_t uc), - void *stream_data); + void *stream_data) + _GL_ATTRIBUTE_DEALLOC (uninorm_filter_free, 1); /* Stuff a Unicode character into a normalizing filter. Return 0 if successful, or -1 with errno set upon failure. */ @@ -245,12 +246,6 @@ extern int extern int uninorm_filter_flush (struct uninorm_filter *filter); -/* Bring data buffered in the filter to its destination, the encapsulated - stream, then close and free the filter. - Return 0 if successful, or -1 with errno set upon failure. */ -extern int - uninorm_filter_free (struct uninorm_filter *filter); - #ifdef __cplusplus } |