stdlib.c 1008 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * <stdlib.h> wrapper functions.
  3. *
  4. * Authors:
  5. * Jonathan Pryor ([email protected])
  6. *
  7. * Copyright (C) 2004 Jonathan Pryor
  8. */
  9. #include <stdlib.h>
  10. #include "mph.h"
  11. G_BEGIN_DECLS
  12. gint32
  13. Mono_Posix_Stdlib_EXIT_FAILURE (void)
  14. {
  15. return EXIT_FAILURE;
  16. }
  17. gint32
  18. Mono_Posix_Stdlib_EXIT_SUCCESS (void)
  19. {
  20. return EXIT_SUCCESS;
  21. }
  22. gint32
  23. Mono_Posix_Stdlib_MB_CUR_MAX (void)
  24. {
  25. return MB_CUR_MAX;
  26. }
  27. gint32
  28. Mono_Posix_Stdlib_RAND_MAX (void)
  29. {
  30. return RAND_MAX;
  31. }
  32. void*
  33. Mono_Posix_Stdlib_calloc (mph_size_t nmemb, mph_size_t size)
  34. {
  35. if (mph_have_size_t_overflow(nmemb) || mph_have_size_t_overflow(size))
  36. return NULL;
  37. return calloc ((size_t) nmemb, (size_t) size);
  38. }
  39. void*
  40. Mono_Posix_Stdlib_malloc (mph_size_t size)
  41. {
  42. if (mph_have_size_t_overflow(size))
  43. return NULL;
  44. return malloc ((size_t) size);
  45. }
  46. void*
  47. Mono_Posix_Stdlib_realloc (void* ptr, mph_size_t size)
  48. {
  49. if (mph_have_size_t_overflow(size))
  50. return NULL;
  51. return realloc (ptr, (size_t) size);
  52. }
  53. G_END_DECLS
  54. /*
  55. * vim: noexpandtab
  56. */