Browse Source

Merge pull request #2491 from lymzzyh/size_t

[libc]fix size_t ssize_t
Bernard Xiong 6 years ago
parent
commit
eabb04ed3d

+ 5 - 1
components/libc/compilers/armlibc/sys/types.h

@@ -15,6 +15,10 @@
 typedef rt_int32_t clockid_t;
 typedef rt_int32_t key_t;       /* Used for interprocess communication. */
 typedef rt_int32_t pid_t;       /* Used for process IDs and process group IDs. */
-typedef signed long ssize_t;    /* Used for a count of bytes or an error indication. */
+#ifndef ARCH_CPU_64BIT
+typedef signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#else
+typedef long signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#endif
 
 #endif

+ 5 - 1
components/libc/compilers/dlib/sys/types.h

@@ -15,6 +15,10 @@
 typedef rt_int32_t clockid_t;
 typedef rt_int32_t key_t;       /* Used for interprocess communication. */
 typedef rt_int32_t pid_t;       /* Used for process IDs and process group IDs. */
-typedef signed long ssize_t;    /* Used for a count of bytes or an error indication. */
+#ifndef ARCH_CPU_64BIT
+typedef signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#else
+typedef long signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#endif
 
 #endif

+ 9 - 2
components/libc/compilers/minilibc/sys/types.h

@@ -8,10 +8,17 @@
  */
 #ifndef __TYPES_H__
 #define __TYPES_H__
+#include <rtconfig.h>
 
 typedef long        off_t;
-typedef unsigned long size_t;
-typedef signed long   ssize_t;      /* Used for a count of bytes or an error indication. */
+
+#ifndef ARCH_CPU_64BIT
+typedef unsigned int size_t;
+typedef signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#else
+typedef long unsigned int size_t;
+typedef long signed int   ssize_t;  /* Used for a count of bytes or an error indication. */
+#endif
 
 typedef unsigned char  u_char;
 typedef unsigned short u_short;