jdmacros.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef _JD_MACROS_H_
  2. #define _JD_MACROS_H_
  3. /* This file defines some macros that I use with programs that link to
  4. * the slang library.
  5. */
  6. #ifdef HAVE_STDLIB_H
  7. # include <stdlib.h>
  8. #endif
  9. #ifdef HAVE_MALLOC_H
  10. # include <malloc.h>
  11. #endif
  12. #ifdef HAVE_MEMORY_H
  13. # include <memory.h>
  14. #endif
  15. #ifndef SLMEMSET
  16. # ifdef HAVE_MEMSET
  17. # define SLMEMSET memset
  18. # else
  19. # define SLMEMSET SLmemset
  20. # endif
  21. #endif
  22. #ifndef SLMEMCHR
  23. # ifdef HAVE_MEMCHR
  24. # define SLMEMCHR memchr
  25. # else
  26. # define SLMEMCHR SLmemchr
  27. # endif
  28. #endif
  29. #ifndef SLMEMCPY
  30. # ifdef HAVE_MEMCPY
  31. # define SLMEMCPY memcpy
  32. # else
  33. # define SLMEMCPY SLmemcpy
  34. # endif
  35. #endif
  36. /* Note: HAVE_MEMCMP requires an unsigned memory comparison!!! */
  37. #ifndef SLMEMCMP
  38. # ifdef HAVE_MEMCMP
  39. # define SLMEMCMP memcmp
  40. # else
  41. # define SLMEMCMP SLmemcmp
  42. # endif
  43. #endif
  44. #if SLANG_VERSION < 9934
  45. # define SLmemcmp jed_memcmp
  46. # define SLmemcpy jed_memcpy
  47. # define SLmemset jed_memset
  48. # define SLmemchr jed_memchr
  49. #endif
  50. #ifndef SLFREE
  51. # define SLFREE free
  52. #endif
  53. #ifndef SLMALLOC
  54. # define SLMALLOC malloc
  55. #endif
  56. #ifndef SLCALLOC
  57. # define SLCALLOC calloc
  58. #endif
  59. #ifndef SLREALLOC
  60. # define SLREALLOC realloc
  61. #endif
  62. #endif /* _JD_MACROS_H_ */