xalloc.c 523 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <stdio.h>
  2. #include "xalloc.h"
  3. static void panic(void) {
  4. fprintf(stderr, "Fatal error: out of memory\n");
  5. exit(1);
  6. }
  7. void* xmalloc(size_t size) {
  8. void *ptr = malloc(size);
  9. if (!ptr) {
  10. panic();
  11. }
  12. return ptr;
  13. }
  14. void xfree(void *ptr) {
  15. free(ptr);
  16. }
  17. void* xcalloc(size_t nmemb, size_t size) {
  18. void *ptr = calloc(nmemb, size);
  19. if (!ptr) {
  20. panic();
  21. }
  22. return ptr;
  23. }
  24. void* xrealloc(void *ptr, size_t size) {
  25. ptr = realloc(ptr, size);
  26. if (!ptr) {
  27. panic();
  28. }
  29. return ptr;
  30. }