diff options
| author | Stephen Kitt <skitt@debian.org> | 2016-05-27 10:11:04 +0200 | 
|---|---|---|
| committer | Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com> | 2016-05-27 14:28:33 +0100 | 
| commit | 752fd7247bc223bcea35bd89cf56d1c08ead9ba6 (patch) | |
| tree | b4a428f847a963738faaf24c8eff070fdb03a3a5 /lib/memxfrm.h | |
| parent | 9f7d4fa477ff2a51d7c932b13d57ac22dc033105 (diff) | |
| parent | a9a31b1de5776a3b08a82101a4fa711294f0dd1d (diff) | |
Imported Debian patch 0.9.6+really0.9.3-0.1debian/0.9.6+really0.9.3-0.1
Diffstat (limited to 'lib/memxfrm.h')
| -rw-r--r-- | lib/memxfrm.h | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/lib/memxfrm.h b/lib/memxfrm.h new file mode 100644 index 00000000..8b7284a6 --- /dev/null +++ b/lib/memxfrm.h @@ -0,0 +1,48 @@ +/* Locale dependent memory area transformation for comparison. +   Copyright (C) 2009, 2010 Free Software Foundation, Inc. + +   This program 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 3 of the License, or +   (at your option) any later version. + +   This program 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. + +   You should have received a copy of the GNU Lesser General Public License +   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ + +#ifndef MEMXFRM_H +#define MEMXFRM_H + +#include <stddef.h> + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Generalization of strxfrm() to strings with embedded NUL bytes.  */ + +/* Transform the memory area [S..S+N-1] to a memory area, in such a way that +   comparing (S1,N1) and (S2,N2) with memcoll() is equivalent to comparing +   memxfrm(S1,N1) and memxfrm(S2,N2) with memcmp2(). +   The byte S[N] may be temporarily overwritten by this function, but will be +   restored before this function returns. +   The result of this function depends on the LC_COLLATE category of the +   current locale. +   If successful: If resultbuf is not NULL and the result fits into *lengthp +   bytes, it is put in resultbuf, and resultbuf is returned.  Otherwise, a +   freshly allocated string is returned.  In both cases, *lengthp is set to the +   length of the returned string. +   Upon failure, return NULL, with errno set.  */ +extern char * memxfrm (char *s, size_t n, char *resultbuf, size_t *lengthp); + + +#ifdef __cplusplus +} +#endif + +#endif /* MEMXFRM_H */ | 
