You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gu...@apache.org on 2021/07/31 18:35:55 UTC
[incubator-nuttx] branch master updated (ae37098 -> 0e2cbe9)
This is an automated email from the ASF dual-hosted git repository.
gustavonihei pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.
from ae37098 Use exit func iml host_abort.
new f181ed6 libc: Reorder LC_XXX as Linux
new 0e2cbe9 libc: Add the empty nl_langinfo implementation
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
include/langinfo.h | 125 +++++++++++++++++++++
include/locale.h | 14 +--
include/{nuttx/rc/dummy.h => nl_types.h} | 23 ++--
libs/libc/locale/Make.defs | 1 +
.../locale/{lib_freelocale.c => lib_langinfo.c} | 10 +-
5 files changed, 152 insertions(+), 21 deletions(-)
create mode 100644 include/langinfo.h
copy include/{nuttx/rc/dummy.h => nl_types.h} (85%)
copy libs/libc/locale/{lib_freelocale.c => lib_langinfo.c} (92%)
[incubator-nuttx] 02/02: libc: Add the empty nl_langinfo
implementation
Posted by gu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gustavonihei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 0e2cbe9a7968e9fb9ebbaf2a6ad45b53836943e0
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Fri Jul 30 04:50:54 2021 +0800
libc: Add the empty nl_langinfo implementation
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
include/langinfo.h | 125 ++++++++++++++++++++++++++++++++++++++++
include/nl_types.h | 54 +++++++++++++++++
libs/libc/locale/Make.defs | 1 +
libs/libc/locale/lib_langinfo.c | 48 +++++++++++++++
4 files changed, 228 insertions(+)
diff --git a/include/langinfo.h b/include/langinfo.h
new file mode 100644
index 0000000..9a7cad7
--- /dev/null
+++ b/include/langinfo.h
@@ -0,0 +1,125 @@
+/****************************************************************************
+ * include/langinfo.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_LANGINFO_H
+#define __INCLUDE_LANGINFO_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nl_types.h>
+#include <locale.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define NL_ITEM(cat, index) (((cat) << 16) | (index))
+#define NL_LOCALE_NAME(cat) NL_ITEM((cat), (0xffff))
+
+#define CODESET NL_ITEM(LC_CTYPE, 0x0e)
+
+#define RADIXCHAR NL_ITEM(LC_NUMERIC, 0x00)
+#define THOUSEP NL_ITEM(LC_NUMERIC, 0x01)
+
+#define ABDAY_1 NL_ITEM(LC_TIME, 0x00)
+#define ABDAY_2 NL_ITEM(LC_TIME, 0x01)
+#define ABDAY_3 NL_ITEM(LC_TIME, 0x02)
+#define ABDAY_4 NL_ITEM(LC_TIME, 0x03)
+#define ABDAY_5 NL_ITEM(LC_TIME, 0x04)
+#define ABDAY_6 NL_ITEM(LC_TIME, 0x05)
+#define ABDAY_7 NL_ITEM(LC_TIME, 0x06)
+
+#define DAY_1 NL_ITEM(LC_TIME, 0x07)
+#define DAY_2 NL_ITEM(LC_TIME, 0x08)
+#define DAY_3 NL_ITEM(LC_TIME, 0x09)
+#define DAY_4 NL_ITEM(LC_TIME, 0x0a)
+#define DAY_5 NL_ITEM(LC_TIME, 0x0b)
+#define DAY_6 NL_ITEM(LC_TIME, 0x0c)
+#define DAY_7 NL_ITEM(LC_TIME, 0x0d)
+
+#define ABMON_1 NL_ITEM(LC_TIME, 0x0e)
+#define ABMON_2 NL_ITEM(LC_TIME, 0x0f)
+#define ABMON_3 NL_ITEM(LC_TIME, 0x10)
+#define ABMON_4 NL_ITEM(LC_TIME, 0x11)
+#define ABMON_5 NL_ITEM(LC_TIME, 0x12)
+#define ABMON_6 NL_ITEM(LC_TIME, 0x13)
+#define ABMON_7 NL_ITEM(LC_TIME, 0x14)
+#define ABMON_8 NL_ITEM(LC_TIME, 0x15)
+#define ABMON_9 NL_ITEM(LC_TIME, 0x16)
+#define ABMON_10 NL_ITEM(LC_TIME, 0x17)
+#define ABMON_11 NL_ITEM(LC_TIME, 0x18)
+#define ABMON_12 NL_ITEM(LC_TIME, 0x19)
+
+#define MON_1 NL_ITEM(LC_TIME, 0x1a)
+#define MON_2 NL_ITEM(LC_TIME, 0x1b)
+#define MON_3 NL_ITEM(LC_TIME, 0x1c)
+#define MON_4 NL_ITEM(LC_TIME, 0x1d)
+#define MON_5 NL_ITEM(LC_TIME, 0x1e)
+#define MON_6 NL_ITEM(LC_TIME, 0x1f)
+#define MON_7 NL_ITEM(LC_TIME, 0x20)
+#define MON_8 NL_ITEM(LC_TIME, 0x21)
+#define MON_9 NL_ITEM(LC_TIME, 0x22)
+#define MON_10 NL_ITEM(LC_TIME, 0x23)
+#define MON_11 NL_ITEM(LC_TIME, 0x24)
+#define MON_12 NL_ITEM(LC_TIME, 0x25)
+
+#define AM_STR NL_ITEM(LC_TIME, 0x26)
+#define PM_STR NL_ITEM(LC_TIME, 0x27)
+#define D_T_FMT NL_ITEM(LC_TIME, 0x28)
+#define D_FMT NL_ITEM(LC_TIME, 0x29)
+#define T_FMT NL_ITEM(LC_TIME, 0x2a)
+#define T_FMT_AMPM NL_ITEM(LC_TIME, 0x2b)
+#define ERA NL_ITEM(LC_TIME, 0x2c)
+#define ERA_D_FMT NL_ITEM(LC_TIME, 0x2e)
+#define ALT_DIGITS NL_ITEM(LC_TIME, 0x2f)
+#define ERA_D_T_FMT NL_ITEM(LC_TIME, 0x30)
+#define ERA_T_FMT NL_ITEM(LC_TIME, 0x31)
+
+#define CRNCYSTR NL_ITEM(LC_MONETARY, 0x0f)
+
+#define YESEXPR NL_ITEM(LC_MESSAGES, 0x00)
+#define NOEXPR NL_ITEM(LC_MESSAGES, 0x01)
+#define YESSTR NL_ITEM(LC_MESSAGES, 0x02)
+#define NOSTR NL_ITEM(LC_MESSAGES, 0x03)
+
+#define nl_langinfo_l(i, l) nl_langinfo(i)
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+#ifdef __cplusplus
+#define EXTERN extern "C"
+extern "C"
+{
+#else
+#define EXTERN extern
+#endif
+
+FAR char *nl_langinfo(nl_item item);
+
+#undef EXTERN
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __INCLUDE_LANGINFO_H */
diff --git a/include/nl_types.h b/include/nl_types.h
new file mode 100644
index 0000000..96ed6b3
--- /dev/null
+++ b/include/nl_types.h
@@ -0,0 +1,54 @@
+/****************************************************************************
+ * include/nl_types.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NL_TYPES_H
+#define __INCLUDE_NL_TYPES_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/compiler.h>
+
+/****************************************************************************
+ * Public Type Definitions
+ ****************************************************************************/
+
+typedef int nl_item;
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+#ifdef __cplusplus
+#define EXTERN extern "C"
+extern "C"
+{
+#else
+#define EXTERN extern
+#endif
+
+#undef EXTERN
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __INCLUDE_NL_TYPES_H */
diff --git a/libs/libc/locale/Make.defs b/libs/libc/locale/Make.defs
index c606a66..35aa696 100644
--- a/libs/libc/locale/Make.defs
+++ b/libs/libc/locale/Make.defs
@@ -24,6 +24,7 @@ ifeq ($(CONFIG_LIBC_LOCALE),y)
CSRCS += lib_duplocale.c lib_freelocale.c lib_localeconv.c
CSRCS += lib_newlocale.c lib_setlocale.c lib_uselocale.c
+CSRCS += lib_langinfo.c
# Add the locale directory to the build
diff --git a/libs/libc/locale/lib_langinfo.c b/libs/libc/locale/lib_langinfo.c
new file mode 100644
index 0000000..83eae33
--- /dev/null
+++ b/libs/libc/locale/lib_langinfo.c
@@ -0,0 +1,48 @@
+/****************************************************************************
+ * libs/libc/locale/lib_langinfo.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <langinfo.h>
+
+#ifdef CONFIG_LIBC_LOCALE
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: nl_langinfo
+ *
+ * Description:
+ * locales are not supported by NuttX
+ *
+ ****************************************************************************/
+
+FAR char *nl_langinfo(nl_item item)
+{
+ return "";
+}
+
+#endif
[incubator-nuttx] 01/02: libc: Reorder LC_XXX as Linux
Posted by gu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gustavonihei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit f181ed6fd2a42e80c67508d712e421dd1cdfbca4
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Fri Jul 30 04:53:31 2021 +0800
libc: Reorder LC_XXX as Linux
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
include/locale.h | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/locale.h b/include/locale.h
index 2abef76..bc877df 100644
--- a/include/locale.h
+++ b/include/locale.h
@@ -32,13 +32,13 @@
* Pre-processor Definitions
****************************************************************************/
-#define LC_ALL 0
-#define LC_COLLATE 1
-#define LC_CTYPE 2
-#define LC_MONETARY 3
-#define LC_NUMERIC 4
-#define LC_TIME 5
-#define LC_MESSAGES 6
+#define LC_CTYPE 0
+#define LC_NUMERIC 1
+#define LC_TIME 2
+#define LC_COLLATE 3
+#define LC_MONETARY 4
+#define LC_MESSAGES 5
+#define LC_ALL 6
#define LC_COLLATE_MASK (1 << LC_COLLATE)
#define LC_CTYPE_MASK (1 << LC_CTYPE)