mem.h 831 B

1234567891011121314151617181920212223
  1. #ifndef VIRTUALMATH_MEM_H
  2. #define VIRTUALMATH_MEM_H
  3. #include <string.h>
  4. #include <__macro.h>
  5. extern jmp_buf memVirtualMath_Env;
  6. extern bool memVirtualMathUseJmp;
  7. void *memCalloc(size_t num, size_t size);
  8. void *memRealloc(void *old, size_t size);
  9. char *memStrcpy(const char *str);
  10. char *memStrCharcpy(char *str, size_t nsize, bool free_old, bool write, ...);
  11. char *memStrcatIter(char *base, bool free_base, ...);
  12. char *memStrcat(char *first, char *second, bool free_first, bool free_last);
  13. char *memStrcpySelf(char *str, long times);
  14. char *memStrrev(const char *str);
  15. #define memFree(p) ((p)=((p) != NULL ? (free(p), NULL) : NULL))
  16. #define eqString(str1, str2) (!strcmp(str1, str2))
  17. #define memString(size) (char *)memCalloc(size + 1, sizeof(char))
  18. #define memStrlen(p) (((p) == NULL) ? 0 :strlen(p))
  19. #endif //VIRTUALMATH_MEM_H