summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCopilot <[email protected]>2025-11-07 15:48:51 +0800
committerGitHub <[email protected]>2025-11-07 15:48:51 +0800
commitd39a439603b582d4fc43536b344e6dae0b90f90a (patch)
treeb2cad0718273e4cfa72cd91603bf3f5f4f2e173a /src
parent4ee00eba9b335cea534d9a7ba3716ce6dc4b33cc (diff)
[klibc] 将函数签名与标准 libc 对齐以修复类型冲突 #10890
Diffstat (limited to 'src')
-rw-r--r--src/klibc/kstdio.c10
-rw-r--r--src/klibc/kstring.c28
-rw-r--r--src/klibc/rt_vsnprintf_std.c3
-rw-r--r--src/klibc/rt_vsnprintf_tiny.c4
4 files changed, 23 insertions, 22 deletions
diff --git a/src/klibc/kstdio.c b/src/klibc/kstdio.c
index df73eab49b..257b1ff1a8 100644
--- a/src/klibc/kstdio.c
+++ b/src/klibc/kstdio.c
@@ -25,9 +25,9 @@
*
* @return The number of characters actually written to buffer.
*/
-int rt_snprintf(char *buf, rt_size_t size, const char *fmt, ...)
+int rt_snprintf(char *buf, size_t size, const char *fmt, ...)
{
- rt_int32_t n = 0;
+ int n = 0;
va_list args;
va_start(args, fmt);
@@ -51,7 +51,7 @@ RTM_EXPORT(rt_snprintf);
*/
int rt_vsprintf(char *buf, const char *format, va_list arg_ptr)
{
- return rt_vsnprintf(buf, (rt_size_t) - 1, format, arg_ptr);
+ return rt_vsnprintf(buf, (size_t) - 1, format, arg_ptr);
}
RTM_EXPORT(rt_vsprintf);
@@ -66,7 +66,7 @@ RTM_EXPORT(rt_vsprintf);
*/
int rt_sprintf(char *buf, const char *format, ...)
{
- rt_int32_t n = 0;
+ int n = 0;
va_list arg_ptr;
va_start(arg_ptr, format);
@@ -78,7 +78,7 @@ int rt_sprintf(char *buf, const char *format, ...)
RTM_EXPORT(rt_sprintf);
#ifdef RT_KLIBC_USING_LIBC_VSNPRINTF
-int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
+int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
{
return vsnprintf(buf, size, fmt, args);
}
diff --git a/src/klibc/kstring.c b/src/klibc/kstring.c
index d2988d629c..b6d553ffa3 100644
--- a/src/klibc/kstring.c
+++ b/src/klibc/kstring.c
@@ -36,7 +36,7 @@
* @return The address of source memory.
*/
#ifndef RT_KLIBC_USING_USER_MEMSET
-void *rt_memset(void *s, int c, rt_ubase_t count)
+void *rt_memset(void *s, int c, size_t count)
{
#if defined(RT_KLIBC_USING_LIBC_MEMSET)
return memset(s, c, count);
@@ -121,13 +121,13 @@ RTM_EXPORT(rt_memset);
* @return The address of destination memory
*/
#ifndef RT_KLIBC_USING_USER_MEMCPY
-void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
+void *rt_memcpy(void *dst, const void *src, size_t count)
{
#if defined(RT_KLIBC_USING_LIBC_MEMCPY)
return memcpy(dst, src, count);
#elif defined(RT_KLIBC_USING_TINY_MEMCPY)
char *tmp = (char *)dst, *s = (char *)src;
- rt_ubase_t len = 0;
+ size_t len = 0;
if (tmp <= s || tmp > (s + count))
{
@@ -153,7 +153,7 @@ void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
char *src_ptr = (char *)src;
long *aligned_dst = RT_NULL;
long *aligned_src = RT_NULL;
- rt_ubase_t len = count;
+ size_t len = count;
/* If the size is small, or either SRC or DST is unaligned,
then punt into the byte copy loop. This should be rare. */
@@ -211,7 +211,7 @@ RTM_EXPORT(rt_memcpy);
* @return The address of destination memory.
*/
#ifndef RT_KLIBC_USING_USER_MEMMOVE
-void *rt_memmove(void *dest, const void *src, rt_size_t n)
+void *rt_memmove(void *dest, const void *src, size_t n)
{
#ifdef RT_KLIBC_USING_LIBC_MEMMOVE
return memmove(dest, src, n);
@@ -253,7 +253,7 @@ RTM_EXPORT(rt_memmove);
* If the result = 0, cs is equal to ct.
*/
#ifndef RT_KLIBC_USING_USER_MEMCMP
-rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count)
+int rt_memcmp(const void *cs, const void *ct, size_t count)
{
#ifdef RT_KLIBC_USING_LIBC_MEMCMP
return memcmp(cs, ct, count);
@@ -326,7 +326,7 @@ RTM_EXPORT(rt_strstr);
* If the result = 0, a is equal to a.
*/
#ifndef RT_KLIBC_USING_USER_STRCASECMP
-rt_int32_t rt_strcasecmp(const char *a, const char *b)
+int rt_strcasecmp(const char *a, const char *b)
{
int ca = 0, cb = 0;
@@ -358,7 +358,7 @@ RTM_EXPORT(rt_strcasecmp);
* @return The address where the copied content is stored.
*/
#ifndef RT_KLIBC_USING_USER_STRNCPY
-char *rt_strncpy(char *dst, const char *src, rt_size_t n)
+char *rt_strncpy(char *dst, const char *src, size_t n)
{
#ifdef RT_KLIBC_USING_LIBC_STRNCPY
return strncpy(dst, src, n);
@@ -435,7 +435,7 @@ RTM_EXPORT(rt_strcpy);
* If the result = 0, cs is equal to ct.
*/
#ifndef RT_KLIBC_USING_USER_STRNCMP
-rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count)
+int rt_strncmp(const char *cs, const char *ct, size_t count)
{
#ifdef RT_KLIBC_USING_LIBC_STRNCMP
return strncmp(cs, ct, count);
@@ -471,7 +471,7 @@ RTM_EXPORT(rt_strncmp);
* If the result = 0, cs is equal to ct.
*/
#ifndef RT_KLIBC_USING_USER_STRCMP
-rt_int32_t rt_strcmp(const char *cs, const char *ct)
+int rt_strcmp(const char *cs, const char *ct)
{
#ifdef RT_KLIBC_USING_LIBC_STRCMP
return strcmp(cs, ct);
@@ -497,7 +497,7 @@ RTM_EXPORT(rt_strcmp);
* @return The length of string.
*/
#ifndef RT_KLIBC_USING_USER_STRLEN
-rt_size_t rt_strlen(const char *s)
+size_t rt_strlen(const char *s)
{
#ifdef RT_KLIBC_USING_LIBC_STRLEN
return strlen(s);
@@ -524,10 +524,10 @@ RTM_EXPORT(rt_strlen);
* @return The length of string.
*/
#ifndef RT_KLIBC_USING_USER_STRNLEN
-rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen)
+size_t rt_strnlen(const char *s, size_t maxlen)
{
const char *sc;
- for (sc = s; *sc != '\0' && (rt_ubase_t)(sc - s) < maxlen; ++sc);
+ for (sc = s; *sc != '\0' && (size_t)(sc - s) < maxlen; ++sc);
return sc - s;
}
#endif /* RT_KLIBC_USING_USER_STRNLEN */
@@ -543,7 +543,7 @@ RTM_EXPORT(rt_strnlen);
*/
char *rt_strdup(const char *s)
{
- rt_size_t len = rt_strlen(s) + 1;
+ size_t len = rt_strlen(s) + 1;
char *tmp = (char *)rt_malloc(len);
if (!tmp)
diff --git a/src/klibc/rt_vsnprintf_std.c b/src/klibc/rt_vsnprintf_std.c
index cedd7a9872..481c99013b 100644
--- a/src/klibc/rt_vsnprintf_std.c
+++ b/src/klibc/rt_vsnprintf_std.c
@@ -222,6 +222,7 @@ typedef unsigned int printf_size_t;
#if defined(RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS) || defined(RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS)
#include <float.h>
#if FLT_RADIX != 2
+// cppcheck-suppress preprocessorErrorDirective
#error "Non-binary-radix floating-point types are unsupported."
#endif
@@ -1344,7 +1345,7 @@ static int vsnprintf_impl(output_gadget_t* output, const char* format, va_list a
*
* @return The number of characters actually written to buffer.
*/
-int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
+int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
{
output_gadget_t gadget = buffer_gadget(buf, size);
return vsnprintf_impl(&gadget, fmt, args);
diff --git a/src/klibc/rt_vsnprintf_tiny.c b/src/klibc/rt_vsnprintf_tiny.c
index 7ef610c51d..d614f1ce27 100644
--- a/src/klibc/rt_vsnprintf_tiny.c
+++ b/src/klibc/rt_vsnprintf_tiny.c
@@ -295,7 +295,7 @@ static char *print_number(char *buf,
*
* @return The number of characters actually written to buffer.
*/
-int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
+int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
{
#ifdef RT_KLIBC_USING_VSNPRINTF_LONGLONG
unsigned long long num = 0;
@@ -576,7 +576,7 @@ int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
}
else if (qualifier == 'z')
{
- num = va_arg(args, rt_size_t);
+ num = va_arg(args, size_t);
if (flags & SIGN)
{
num = (rt_ssize_t)num;