From cfc05d9675436a157ea959a5fb06da60722234c7 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Tue, 6 Mar 2001 01:04:43 +0000 Subject: Mon Mar 5 21:48:54 2001 J"orn Rennecke * libc/include/sys/config.h (_READ_WRITE_RETURN_TYPE): Define. For RTEMS, define to be ssize_t. Default to int if not defined. * libc/stdio/sscanf.c (eofread): Return _READ_WRITE_RETURN_TYPE. * libc/stdio/stdio.c (__sread, __swrite): Likewise. * libc/stdio/local.h (__sread, __swrite): Likewise. * libc/include/sys/reent.h (_read, _write): Likewise. * libc/include/sys/unistd.h (read, write, _read, _write): Likewise. * libc/syscalls/sysread.c (read): Likewise. * libc/syscalls/syswrite.c (write): Likewise. --- newlib/libc/include/sys/config.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'newlib/libc/include/sys/config.h') diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index 0cf4b1e57..60c6eb9fb 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -137,11 +137,18 @@ typedef unsigned int __uint32_t; #if defined(__rtems__) #define __FILENAME_MAX__ 255 +#define _READ_WRITE_RETURN_TYPE ssize_t #endif #ifndef __IMPORT #define __IMPORT #endif +/* Define return type of read/write routines. In POSIX, the return type + for read()/write() is "ssize_t" but legacy newlib code has been using + "int" for some time. If not specified, "int" is defaulted. */ +#ifndef _READ_WRITE_RETURN_TYPE +#define _READ_WRITE_RETURN_TYPE int +#endif #endif /* __SYS_CONFIG_H__ */ -- cgit v1.2.3