[libc] 消除代码中依赖于RT_LIBC_USING_FILEIO的判断

This commit is contained in:
Meco Man
2021-10-27 21:50:17 -04:00
parent bb859e79e0
commit 4b9fb8f39c
10 changed files with 61 additions and 90 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ CPPDEFINES = ['RT_USING_DLIBC']
if rtconfig.PLATFORM == 'iar':
if GetDepend('RT_LIBC_USING_FILEIO'):
if GetDepend('RT_USING_POSIX'):
from distutils.version import LooseVersion
from iar import IARVersion
@@ -18,9 +18,9 @@ int __close(int handle)
handle == _LLIO_STDERR ||
handle == _LLIO_STDIN)
return _LLIO_ERROR;
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
return close(handle);
#else
return _LLIO_ERROR;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
}
@@ -18,9 +18,9 @@ long __lseek(int handle, long offset, int whence)
handle == _LLIO_STDERR ||
handle == _LLIO_STDIN)
return _LLIO_ERROR;
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
return lseek(handle, offset, whence);
#else
return _LLIO_ERROR;
#endif
#endif /* RT_USING_POSIX */
}
@@ -16,7 +16,7 @@
int __open(const char *filename, int mode)
{
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
int handle;
int open_mode = O_RDONLY;
@@ -68,5 +68,5 @@ int __open(const char *filename, int mode)
return handle;
#else
return _LLIO_ERROR;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
}
@@ -20,7 +20,7 @@
#pragma module_name = "?__read"
size_t __read(int handle, unsigned char *buf, size_t len)
{
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
int size;
if (handle == _LLIO_STDIN)
@@ -41,5 +41,5 @@ size_t __read(int handle, unsigned char *buf, size_t len)
return size;
#else
return _LLIO_ERROR;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
}
@@ -21,13 +21,13 @@
size_t __write(int handle, const unsigned char *buf, size_t len)
{
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
int size;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
{
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
if (libc_stdio_get_console() < 0)
{
LOG_W("Do not invoke standard output before initializing libc");
@@ -46,17 +46,17 @@ size_t __write(int handle, const unsigned char *buf, size_t len)
return len;
#else
return _LLIO_ERROR;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
}
else if (handle == _LLIO_STDIN)
{
return _LLIO_ERROR;
}
#ifdef RT_LIBC_USING_FILEIO
#ifdef RT_USING_POSIX
size = write(handle, buf, len);
return size;
#else
return _LLIO_ERROR;
#endif /* RT_LIBC_USING_FILEIO */
#endif /* RT_USING_POSIX */
}