utils.c 947 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "utils.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <limits.h>
  5. #include <stdint.h>
  6. #include <stdlib.h>
  7. #include <unistd.h>
  8. #include <errno.h>
  9. #include <assert.h>
  10. #include "utils.h"
  11. void * palloc(int size)
  12. {
  13. void *p;
  14. p = malloc(size);
  15. if(p == NULL) {
  16. printf("Error Malloc does not allocate\n");
  17. exit(1);
  18. }
  19. return p;
  20. }
  21. char *aprintf(const char *fmt, ...)
  22. {
  23. char *ret;
  24. va_list arglist;
  25. va_start(arglist, fmt);
  26. vasprintf(&ret, fmt, arglist);
  27. va_end(arglist);
  28. return ret;
  29. }
  30. int strreplace(char * str, char src, char dest)
  31. {
  32. int i;
  33. for(i = 0; str[i]; i++)
  34. if(str[i] == src)
  35. str[i] = dest;
  36. }
  37. void *_realloc_array(void *ptr, size_t size, size_t num)
  38. {
  39. if (num >= SIZE_MAX/size)
  40. return NULL;
  41. return realloc_nofail(ptr, size * num);
  42. }
  43. void *realloc_nofail(void *ptr, size_t size)
  44. {
  45. ptr = realloc(ptr, size);
  46. if (ptr)
  47. return ptr;
  48. printf("realloc of %zu failed", size);
  49. }