2006-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono/afaerber.git] / support / stdlib.c
blob9ab875cab404568536fa1633cea40c5a9c1eb8f9
1 /*
2 * <stdlib.h> wrapper functions.
4 * Authors:
5 * Jonathan Pryor (jonpryor@vt.edu)
7 * Copyright (C) 2004-2005 Jonathan Pryor
8 */
10 #include <stdlib.h>
12 #include "mph.h"
14 G_BEGIN_DECLS
16 gint32
17 Mono_Posix_Stdlib_EXIT_FAILURE (void)
19 return EXIT_FAILURE;
22 gint32
23 Mono_Posix_Stdlib_EXIT_SUCCESS (void)
25 return EXIT_SUCCESS;
28 gint32
29 Mono_Posix_Stdlib_MB_CUR_MAX (void)
31 return MB_CUR_MAX;
34 gint32
35 Mono_Posix_Stdlib_RAND_MAX (void)
37 return RAND_MAX;
40 void*
41 Mono_Posix_Stdlib_calloc (mph_size_t nmemb, mph_size_t size)
43 if (mph_have_size_t_overflow(nmemb) || mph_have_size_t_overflow(size))
44 return NULL;
46 return calloc ((size_t) nmemb, (size_t) size);
49 void*
50 Mono_Posix_Stdlib_malloc (mph_size_t size)
52 if (mph_have_size_t_overflow(size))
53 return NULL;
55 return malloc ((size_t) size);
58 void*
59 Mono_Posix_Stdlib_realloc (void* ptr, mph_size_t size)
61 if (mph_have_size_t_overflow(size))
62 return NULL;
64 return realloc (ptr, (size_t) size);
67 #ifdef HAVE_SETKEY
68 int
69 Mono_Posix_Syscall_setkey (const char* key)
71 errno = 0;
72 setkey (key);
73 return errno == 0 ? 0 : -1;
75 #endif /* ndef HAVE_SETKEY */
77 G_END_DECLS
80 * vim: noexpandtab