[kservice] implement rt_strcpy()
This commit is contained in:
parent
acc62c1e3d
commit
457348e21a
|
@ -601,12 +601,13 @@ 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);
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count);
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n);
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count);
|
||||
char *rt_strstr(const char *str1, const char *str2);
|
||||
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);
|
||||
char *rt_strcpy(char *dst, const char *src);
|
||||
char *rt_strncpy(char *dest, const char *src, rt_size_t n);
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count);
|
||||
rt_int32_t rt_strcmp(const char *cs, const char *ct);
|
||||
rt_size_t rt_strlen(const char *src);
|
||||
#else
|
||||
|
@ -615,6 +616,7 @@ rt_size_t rt_strlen(const char *src);
|
|||
#define rt_memcmp(cs, ct, count) memcmp(cs, ct, count)
|
||||
#define rt_strstr(str1, str2) strstr(str1, str2)
|
||||
#define rt_strcasecmp(a, b) strcasecmp(a, b)
|
||||
#define rt_strcpy(dest, src) strcpy(dest, 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)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
* 2013-09-24 aozima make sure the device is in STREAM mode when used by rt_kprintf.
|
||||
* 2015-07-06 Bernard Add rt_assert_handler routine.
|
||||
* 2021-02-28 Meco Man add RT_KSERVICE_USING_STDLIB
|
||||
* 2021-12-20 Meco Man implement rt_strcpy()
|
||||
*/
|
||||
|
||||
#include <rtthread.h>
|
||||
|
@ -300,7 +301,7 @@ RTM_EXPORT(rt_memcpy);
|
|||
*
|
||||
* @return The address of destination memory.
|
||||
*/
|
||||
void *rt_memmove(void *dest, const void *src, rt_ubase_t n)
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n)
|
||||
{
|
||||
char *tmp = (char *)dest, *s = (char *)src;
|
||||
|
||||
|
@ -336,7 +337,7 @@ RTM_EXPORT(rt_memmove);
|
|||
* If the result > 0, cs is greater than ct.
|
||||
* If the result = 0, cs is equal to ct.
|
||||
*/
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count)
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count)
|
||||
{
|
||||
const unsigned char *su1, *su2;
|
||||
int res = 0;
|
||||
|
@ -421,7 +422,7 @@ RTM_EXPORT(rt_strcasecmp);
|
|||
*
|
||||
* @return The address where the copied content is stored.
|
||||
*/
|
||||
char *rt_strncpy(char *dst, const char *src, rt_ubase_t n)
|
||||
char *rt_strncpy(char *dst, const char *src, rt_size_t n)
|
||||
{
|
||||
if (n != 0)
|
||||
{
|
||||
|
@ -444,6 +445,21 @@ char *rt_strncpy(char *dst, const char *src, rt_ubase_t n)
|
|||
}
|
||||
RTM_EXPORT(rt_strncpy);
|
||||
|
||||
/**
|
||||
* This function will copy string.
|
||||
*
|
||||
* @param dst points to the address used to store the copied content.
|
||||
*
|
||||
* @param src is the string to be copied.
|
||||
*
|
||||
* @return The address where the copied content is stored.
|
||||
*/
|
||||
char *rt_strcpy(char *dst, const char *src)
|
||||
{
|
||||
return rt_strncpy(dst, src, (rt_size_t)-1);
|
||||
}
|
||||
RTM_EXPORT(rt_strcpy);
|
||||
|
||||
/**
|
||||
* This function will compare two strings with specified maximum length.
|
||||
*
|
||||
|
@ -458,7 +474,7 @@ RTM_EXPORT(rt_strncpy);
|
|||
* If the result > 0, cs is greater than ct.
|
||||
* If the result = 0, cs is equal to ct.
|
||||
*/
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_ubase_t count)
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count)
|
||||
{
|
||||
register signed char __res = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue