2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / support / stdio.c
index 2484ead65b61ea75abedd79240457c09477f1101..5973adb85a994a1d4667b5fdfdddde98e5e0ecea 100644 (file)
@@ -4,15 +4,18 @@
  * Authors:
  *   Jonathan Pryor (jonpryor@vt.edu)
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2005 Jonathan Pryor
  */
 
+#include <stdarg.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 #include "mph.h"
 
 G_BEGIN_DECLS
 
+#ifndef PLATFORM_WIN32
 gint32
 Mono_Posix_Syscall_L_ctermid (void)
 {
@@ -24,6 +27,7 @@ Mono_Posix_Syscall_L_cuserid (void)
 {
        return L_cuserid;
 }
+#endif /* ndef PLATFORM_WIN32 */
 
 mph_size_t
 Mono_Posix_Stdlib_fread (void *ptr, mph_size_t size, mph_size_t nmemb, FILE *stream)
@@ -43,6 +47,22 @@ Mono_Posix_Stdlib_fwrite (const void *ptr, mph_size_t size, mph_size_t nmemb, FI
        return fwrite (ptr, (size_t) size, (size_t) nmemb, stream);
 }
 
+#ifdef HAVE_VSNPRINTF
+gint32
+Mono_Posix_Stdlib_snprintf (char *s, mph_size_t n, char *format, ...)
+{
+       va_list ap;
+       gint32 r;
+       mph_return_if_size_t_overflow (n);
+
+       va_start (ap, format);
+       r = vsnprintf (s, (size_t) n, format, ap);
+       va_end (ap);
+
+       return r;
+}
+#endif /* def HAVE_SNPRINTF */
+
 gint32
 Mono_Posix_Stdlib__IOFBF (void)
 {
@@ -67,6 +87,24 @@ Mono_Posix_Stdlib_BUFSIZ (void)
        return BUFSIZ;
 }
 
+gint32
+Mono_Posix_Stdlib_EOF (void)
+{
+       return EOF;
+}
+
+gint32
+Mono_Posix_Stdlib_FOPEN_MAX (void)
+{
+       return FOPEN_MAX;
+}
+
+gint32
+Mono_Posix_Stdlib_FILENAME_MAX (void)
+{
+       return FILENAME_MAX;
+}
+
 gint32
 Mono_Posix_Stdlib_L_tmpnam (void)
 {
@@ -91,6 +129,12 @@ Mono_Posix_Stdlib_stderr (void)
        return stderr;
 }
 
+gint32
+Mono_Posix_Stdlib_TMP_MAX (void)
+{
+       return TMP_MAX;
+}
+
 gint32
 Mono_Posix_Stdlib_setvbuf (FILE *stream, char *buf, int mode, mph_size_t size)
 {
@@ -113,7 +157,7 @@ Mono_Posix_Stdlib_ftell (FILE* stream)
 }
 
 fpos_t*
-Mono_Posix_Stdlib_CreateFilePosition ()
+Mono_Posix_Stdlib_CreateFilePosition (void)
 {
        fpos_t* pos = malloc (sizeof(fpos_t));
        return pos;