summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLim-LinYuanbo <[email protected]>2021-10-27 11:14:33 +0800
committerGitHub <[email protected]>2021-10-27 11:14:33 +0800
commit078c3c5991e3024664fe7a51878874e02bf107dc (patch)
tree1dde9d1e6b32c07d5c803088f3ce6455a520cd04 /include
parent48ffde55a2562d99c627e4f7e24a6a111c5b80e7 (diff)
parent31bf735d2159995358315036be1529523ac96d7d (diff)
Merge branch 'master' into master
Diffstat (limited to 'include')
-rw-r--r--include/rtdebug.h13
-rw-r--r--include/rtthread.h15
2 files changed, 11 insertions, 17 deletions
diff --git a/include/rtdebug.h b/include/rtdebug.h
index 8c7d450ad4..c170d148c1 100644
--- a/include/rtdebug.h
+++ b/include/rtdebug.h
@@ -17,18 +17,7 @@
#if !defined(RT_USING_DFS) || !defined(RT_USING_DFS_DEVFS)
#error "POSIX poll/select, stdin need file system(RT_USING_DFS) and device file system(RT_USING_DFS_DEVFS)"
#endif
-
-#if !defined(RT_USING_LIBC)
-#error "POSIX layer need standard C library(RT_USING_LIBC)"
-#endif
-
-#endif
-
-#ifdef RT_USING_POSIX_TERMIOS
-#if !defined(RT_USING_POSIX)
-#error "termios need POSIX layer(RT_USING_POSIX)"
-#endif
-#endif
+#endif /* RT_USING_POSIX */
/* Using this macro to control all kernel debug features. */
#ifdef RT_DEBUG
diff --git a/include/rtthread.h b/include/rtthread.h
index 1be5fda82d..83be7d1ebc 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -564,6 +564,7 @@ int __rt_ffs(int value);
void *rt_memset(void *src, int c, rt_ubase_t n);
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
+char *rt_strdup(const char *s);
#ifndef RT_KSERVICE_USING_STDLIB
void *rt_memmove(void *dest, const void *src, rt_ubase_t n);
@@ -573,7 +574,6 @@ rt_int32_t rt_strcasecmp(const char *a, const char *b);
char *rt_strncpy(char *dest, const char *src, rt_ubase_t n);
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_ubase_t count);
rt_int32_t rt_strcmp(const char *cs, const char *ct);
-rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen);
rt_size_t rt_strlen(const char *src);
#else
#include <string.h>
@@ -584,15 +584,20 @@ rt_size_t rt_strlen(const char *src);
#define rt_strncpy(dest, src, n) strncpy(dest, src, n)
#define rt_strncmp(cs, ct, count) strncmp(cs, ct, count)
#define rt_strcmp(cs, ct) strcmp(cs, ct)
-#define rt_strnlen(s, maxlen) strnlen(s, maxlen)
#define rt_strlen(src) strlen(src)
#endif /*RT_KSERVICE_USING_STDLIB*/
-char *rt_strdup(const char *s);
+#if !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION)
+rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen);
+#else
+#define rt_strnlen(s, maxlen) strnlen(s, maxlen)
+#endif /* !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION) */
+
#ifdef __ARMCC_VERSION
-/* lack strdup interface */
+/* MDK doesn't have these APIs */
char* strdup(const char* str);
-#endif
+rt_size_t strnlen(const char *s, rt_size_t maxlen);
+#endif /* __ARMCC_VERSION */
void rt_show_version(void);