m_cstr_dup.h 471 B

12345678910111213141516
  1. #pragma once
  2. #include <m-core.h>
  3. #define M_INIT_DUP(a) ((a) = strdup(""))
  4. #define M_SET_DUP(a, b) (M_CHECK_DEFAULT_TYPE(a), free((void*)a), (a) = strdup(b))
  5. #define M_CLEAR_DUP(a) (free((void*)a))
  6. #define M_CSTR_DUP_OPLIST \
  7. (INIT(M_INIT_DUP), \
  8. INIT_SET(M_SET_DUP), \
  9. SET(M_SET_DUP), \
  10. CLEAR(M_CLEAR_DUP), \
  11. HASH(m_core_cstr_hash), \
  12. EQUAL(M_CSTR_EQUAL), \
  13. CMP(strcmp), \
  14. TYPE(const char*))