|
|
@@ -1,56 +1,50 @@
|
|
|
-/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
|
|
- This file is part of the GNU C Library.
|
|
|
-
|
|
|
- The GNU C Library 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 C Library 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 the GNU C Library; if not, see
|
|
|
- <http://www.gnu.org/licenses/>. */
|
|
|
-
|
|
|
/*
|
|
|
- * ISO C11 Standard: 7.28
|
|
|
- * Unicode utilities <uchar.h>
|
|
|
+ * Copyright © 2005-2026 Rich Felker, et al.
|
|
|
+ *
|
|
|
+ * Permission is hereby granted, free of charge, to any person obtaining
|
|
|
+ * a copy of this software and associated documentation files (the
|
|
|
+ * "Software"), to deal in the Software without restriction, including
|
|
|
+ * without limitation the rights to use, copy, modify, merge, publish,
|
|
|
+ * distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
+ * permit persons to whom the Software is furnished to do so, subject to
|
|
|
+ * the following conditions:
|
|
|
+ *
|
|
|
+ * The above copyright notice and this permission notice shall be
|
|
|
+ * included in all copies or substantial portions of the Software.
|
|
|
+ *
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
|
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
|
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
+ *
|
|
|
+ * Imported from musl C library, adapted to uClibc-ng
|
|
|
*/
|
|
|
|
|
|
#ifndef _UCHAR_H
|
|
|
-#define _UCHAR_H 1
|
|
|
+#define _UCHAR_H
|
|
|
|
|
|
-#include <features.h>
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif
|
|
|
+
|
|
|
+#if __cplusplus < 201103L
|
|
|
+typedef unsigned short char16_t;
|
|
|
+typedef unsigned char32_t;
|
|
|
+#endif
|
|
|
|
|
|
-#define __need_size_t
|
|
|
-#include <stddef.h>
|
|
|
-#define __need_mbstate_t
|
|
|
#include <wchar.h>
|
|
|
|
|
|
-#ifndef __mbstate_t_defined
|
|
|
-__BEGIN_NAMESPACE_C99
|
|
|
-/* Public type. */
|
|
|
-typedef __mbstate_t mbstate_t;
|
|
|
-__END_NAMESPACE_C99
|
|
|
-# define __mbstate_t_defined 1
|
|
|
-#endif
|
|
|
+size_t c16rtomb(char *__restrict, char16_t, mbstate_t *__restrict);
|
|
|
+size_t mbrtoc16(char16_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
|
|
|
|
|
|
+size_t c32rtomb(char *__restrict, char32_t, mbstate_t *__restrict);
|
|
|
+size_t mbrtoc32(char32_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
|
|
|
|
|
|
-#if defined __GNUC__ && !defined __USE_ISOCXX11
|
|
|
-/* Define the 16-bit and 32-bit character types. Use the information
|
|
|
- provided by the compiler. */
|
|
|
-# if !defined __CHAR16_TYPE__ || !defined __CHAR32_TYPE__
|
|
|
-# if defined __STDC_VERSION__ && __STDC_VERSION__ < 201000L
|
|
|
-# error "<uchar.h> requires ISO C11 mode"
|
|
|
-# else
|
|
|
-# error "definitions of __CHAR16_TYPE__ and/or __CHAR32_TYPE__ missing"
|
|
|
-# endif
|
|
|
-# endif
|
|
|
-typedef __CHAR16_TYPE__ char16_t;
|
|
|
-typedef __CHAR32_TYPE__ char32_t;
|
|
|
+#ifdef __cplusplus
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
-#endif /* uchar.h */
|
|
|
+#endif
|