New test.
[mono.git] / support / stdlib.c
1 /*
2  * <stdlib.h> wrapper functions.
3  *
4  * Authors:
5  *   Jonathan Pryor (jonpryor@vt.edu)
6  *
7  * Copyright (C) 2004-2005 Jonathan Pryor
8  */
9
10 #include <stdlib.h>
11
12 #include "mph.h"
13
14 G_BEGIN_DECLS
15
16 gint32
17 Mono_Posix_Stdlib_EXIT_FAILURE (void)
18 {
19         return EXIT_FAILURE;
20 }
21
22 gint32
23 Mono_Posix_Stdlib_EXIT_SUCCESS (void)
24 {
25         return EXIT_SUCCESS;
26 }
27
28 gint32
29 Mono_Posix_Stdlib_MB_CUR_MAX (void)
30 {
31         return MB_CUR_MAX;
32 }
33
34 gint32
35 Mono_Posix_Stdlib_RAND_MAX (void)
36 {
37         return RAND_MAX;
38 }
39
40 void*
41 Mono_Posix_Stdlib_calloc (mph_size_t nmemb, mph_size_t size)
42 {
43         if (mph_have_size_t_overflow(nmemb) || mph_have_size_t_overflow(size))
44                 return NULL;
45
46         return calloc ((size_t) nmemb, (size_t) size);
47 }
48
49 void*
50 Mono_Posix_Stdlib_malloc (mph_size_t size)
51 {
52         if (mph_have_size_t_overflow(size))
53                 return NULL;
54
55         return malloc ((size_t) size);
56 }
57
58 void*
59 Mono_Posix_Stdlib_realloc (void* ptr, mph_size_t size)
60 {
61         if (mph_have_size_t_overflow(size))
62                 return NULL;
63
64         return realloc (ptr, (size_t) size);
65 }
66
67 G_END_DECLS
68
69 /*
70  * vim: noexpandtab
71  */