projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #3373 from marek-safar/net-4.6.2
[mono.git]
/
support
/
stdio.c
diff --git
a/support/stdio.c
b/support/stdio.c
index acf52e28e3ddcbd93f7f985924ba9d61b91264bd..e5b54da47b909f222d3664480c522d34d40ca1f8 100644
(file)
--- a/
support/stdio.c
+++ b/
support/stdio.c
@@
-4,18
+4,19
@@
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
- * Copyright (C) 2004-200
5
Jonathan Pryor
+ * Copyright (C) 2004-200
6
Jonathan Pryor
*/
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
*/
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
+#include "map.h"
#include "mph.h"
G_BEGIN_DECLS
#include "mph.h"
G_BEGIN_DECLS
-#ifndef
PLATFORM
_WIN32
+#ifndef
HOST
_WIN32
gint32
Mono_Posix_Syscall_L_ctermid (void)
{
gint32
Mono_Posix_Syscall_L_ctermid (void)
{
@@
-25,12
+26,16
@@
Mono_Posix_Syscall_L_ctermid (void)
gint32
Mono_Posix_Syscall_L_cuserid (void)
{
gint32
Mono_Posix_Syscall_L_cuserid (void)
{
+#if defined(__APPLE__) || defined (__OpenBSD__)
+ return -1;
+#else
return L_cuserid;
return L_cuserid;
+#endif
}
}
-#endif /* ndef
PLATFORM
_WIN32 */
+#endif /* ndef
HOST
_WIN32 */
mph_size_t
mph_size_t
-Mono_Posix_Stdlib_fread (
void
*ptr, mph_size_t size, mph_size_t nmemb, void *stream)
+Mono_Posix_Stdlib_fread (
unsigned char
*ptr, mph_size_t size, mph_size_t nmemb, void *stream)
{
mph_return_if_size_t_overflow (size);
mph_return_if_size_t_overflow (nmemb);
{
mph_return_if_size_t_overflow (size);
mph_return_if_size_t_overflow (nmemb);
@@
-39,7
+44,7
@@
Mono_Posix_Stdlib_fread (void *ptr, mph_size_t size, mph_size_t nmemb, void *str
}
mph_size_t
}
mph_size_t
-Mono_Posix_Stdlib_fwrite (
void
*ptr, mph_size_t size, mph_size_t nmemb, void *stream)
+Mono_Posix_Stdlib_fwrite (
unsigned char
*ptr, mph_size_t size, mph_size_t nmemb, void *stream)
{
mph_return_if_size_t_overflow (size);
mph_return_if_size_t_overflow (nmemb);
{
mph_return_if_size_t_overflow (size);
mph_return_if_size_t_overflow (nmemb);
@@
-147,9
+152,8
@@
Mono_Posix_Stdlib_setvbuf (void* stream, void *buf, int mode, mph_size_t size)
int
Mono_Posix_Stdlib_setbuf (void* stream, void* buf)
{
int
Mono_Posix_Stdlib_setbuf (void* stream, void* buf)
{
- errno = 0;
setbuf (stream, buf);
setbuf (stream, buf);
- return
errno == 0 ? 0 : -1
;
+ return
0
;
}
gint32
}
gint32
@@
-188,25
+192,27
@@
Mono_Posix_Stdlib_fsetpos (void* stream, void *pos)
int
Mono_Posix_Stdlib_rewind (void* stream)
{
int
Mono_Posix_Stdlib_rewind (void* stream)
{
- errno = 0;
- rewind (stream);
- return errno == 0 ? 0 : -1;
+ do {
+ rewind (stream);
+ } while (errno == EINTR);
+ mph_return_if_val_in_list5(errno, EAGAIN, EBADF, EFBIG, EINVAL, EIO);
+ mph_return_if_val_in_list5(errno, ENOSPC, ENXIO, EOVERFLOW, EPIPE, ESPIPE);
+ return 0;
}
int
Mono_Posix_Stdlib_clearerr (void* stream)
{
}
int
Mono_Posix_Stdlib_clearerr (void* stream)
{
- errno = 0;
- clearerr (stream);
- return errno == 0 ? 0 : -1;
+ clearerr (((FILE*) stream));
+ return 0;
}
int
}
int
-Mono_Posix_Stdlib_perror (const char* s)
+Mono_Posix_Stdlib_perror (const char* s
, int err
)
{
{
- errno =
0
;
+ errno =
err
;
perror (s);
perror (s);
- return
errno == 0 ? 0 : -1
;
+ return
0
;
}
#define MPH_FPOS_LENGTH (sizeof(fpos_t)*2)
}
#define MPH_FPOS_LENGTH (sizeof(fpos_t)*2)