stdlib.c 1.1 KB

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