home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / MSDOS / NCSA / TEL2307S.ZIP / INCLUDE / STRDEBUG.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-25  |  6.0 KB  |  129 lines

  1. /*----------------------------------------------------------------------
  2.  *
  3.  *  strdebug.h -- Dynamic memory handler interface
  4.  *  Description: strdebug.h provides the string interface definitions 
  5.  *    for the dynamic memory handler.
  6.  *  See strdebug.c for complete documentation.
  7.  *
  8.  */
  9.  
  10. /* Compilation options */
  11. #define MEM_LIST        /* Build internal list */
  12. #define MEM_WHERE        /* Keep track of memory block source */
  13. #define MEM_HEADER        /* Keep headers and footers around for each block */
  14. #define MEM_COMP_FREE    /* Complement the space free'd */
  15.  
  16. #if !defined(STATIC_PTR)
  17. #define    STATIC_PTR        (~NULL)
  18. #endif
  19.  
  20. /* Interface functions */
  21.  
  22. /* Interface functions to access only through macros */
  23. #if defined(MEM_WHERE)
  24. char    *str_strcat(char *dst,const char *src, char *fil, int lin);
  25. char    *str_strchr(const char *s,int c, char *fil, int lin);
  26. int        str_strcmp(const char *s1,const char *s2, char *fil, int lin);
  27. int        str_strcoll(const char *s1,const char *s2, char *fil, int lin);
  28. char    *str_strcpy(char *dst,const char *src, char *fil, int lin);
  29. size_t    str_strcspn(const char *str,const char *charset, char *fil, int lin);
  30. int        str_stricmp(const char *s1,const char *s2, char *fil, int lin);
  31. size_t    str_strlen(const char *s, char *fil, int lin);
  32. char    *str_strlwr(char *str, char *fil, int lin);
  33. char    *str_strncat(char *dst,const char *src,size_t n, char *fil, int lin);
  34. int     str_strncmp(const char *s1,const char *s2,size_t n, char *fil, int lin);
  35. int     real_strncmp(const char *s1,const char *s2,size_t n);
  36. char    *str_strncpy(char *dst,const char *src,size_t n, char *fil, int lin);
  37. int        str_strnicmp(const char *s1,const char *s2,size_t len, char *fil, int lin);
  38. char    *str_strnset(char *s1,int fill,const size_t len, char *fil, int lin);
  39. char    *str_strpbrk(const char *str,const char *charset, char *fil, int lin);
  40. char    *str_strrchr(const char *str,int c, char *fil, int lin);
  41. char    *str_strrev(char *str, char *fil, int lin);
  42. char    *str_strset(char *str,char fill, char *fil, int lin);
  43. size_t    str_strspn(const char *str,const char *charset, char *fil, int lin);
  44. char    *str_strstr(const char *str,const char *substr, char *fil, int lin);
  45. char    *str_strtok(char *s1,const char *s2, char *fil, int lin);
  46. char    *str_strupr(char *str, char *fil, int lin);
  47. size_t    str_strxfrm(char *dst,const char *src,size_t n, char *fil, int lin);
  48. #else
  49. char    *str_strcat(char *dst,const char *src);
  50. char    *str_strchr(const char *s,int c);
  51. int        str_strcmp(const char *s1,const char *s2);
  52. int        str_strcoll(const char *s1,const char *s2);
  53. char    *str_strcpy(char *dst,const char *src);
  54. size_t    str_strcspn(const char *str,const char *charset);
  55. int        str_stricmp(const char *s1,const char *s2);
  56. size_t    str_strlen(const char *s);
  57. char    *str_strlwr(char *str);
  58. char    *str_strncat(char *dst,const char *src,size_t n);
  59. int        str_strncmp(const char *s1,const char *s2,size_t n);
  60. int     real_strncmp(const char *s1,const char *s2,size_t n);
  61. char    *str_strncpy(char *dst,const char *src,size_t n);
  62. int        str_strnicmp(const char *s1,const char *s2,size_t len);
  63. char    *str_strnset(char *s1,int fill,const size_t len);
  64. char    *str_strpbrk(const char *str,const char *charset);
  65. char    *str_strrchr(const char *str,int c);
  66. char    *str_strrev(char *str);
  67. char    *str_strset(char *str,char fill);
  68. size_t    str_strspn(const char *str,const char *charset);
  69. char    *str_strstr(const char *str,const char *substr);
  70. char    *str_strtok(char *s1,const char *s2);
  71. char    *str_strupr(char *str);
  72. size_t    str_strxfrm(char *dst,const char *src,size_t n);
  73. #endif
  74.  
  75. /* Interface macros */
  76. #if !defined(__STRDEBUG__)
  77. #if defined(MEM_WHERE)
  78. #define    strcat(a,b)        str_strcat((a),(b),__FILE__,__LINE__)
  79. #define    strchr(a,b)        str_strchr((a),(b),__FILE__,__LINE__)
  80. #define    strcmp(a,b)        str_strcmp((a),(b),__FILE__,__LINE__)
  81. #define    strcmpi(a,b)    str_stricmp((a),(b),__FILE__,__LINE__)
  82. #define    strcoll(a,b)    str_strcoll((a),(b),__FILE__,__LINE__)
  83. #define strcpy(a,b)        str_strcpy((a),(b),__FILE__,__LINE__)
  84. #define    strcspn(a,b)    str_strcspn((a),(b),__FILE__,__LINE__)
  85. #define    stricmp(a,b)    str_stricmp((a),(b),__FILE__,__LINE__)
  86. #define    strlen(a)        str_strlen((a),__FILE__,__LINE__)
  87. #define    strlwr(a)        str_strlwr((a),__FILE__,__LINE__)
  88. #define    strncat(a,b,c)    str_strncat((a),(b),(c),__FILE__,__LINE__)
  89. #define    strncmp(a,b,c)    str_strncmp((a),(b),(c),__FILE__,__LINE__)
  90. #define strncpy(a,b,c)  str_strncpy((a),(b),(c),__FILE__,__LINE__)
  91. #define    strnicmp(a,b,c)    str_strnicmp((a),(b),(c),__FILE__,__LINE__)
  92. #define    strnset(a,b,c)    str_strnset((a),(b),(c),__FILE__,__LINE__)
  93. #define    strpbrk(a,b)    str_strpbrk((a),(b),__FILE__,__LINE__)
  94. #define    strrchr(a,b)    str_strrchr((a),(b),__FILE__,__LINE__)
  95. #define    strrev(a)        str_strrev((a),__FILE__,__LINE__)
  96. #define    strset(a,b)        str_strset((a),(b),__FILE__,__LINE__)
  97. #define    strspn(a,b)        str_strspn((a),(b),__FILE__,__LINE__)
  98. #define    strstr(a,b)        str_strstr((a),(b),__FILE__,__LINE__)
  99. #define    strtok(a,b)        str_strtok((a),(b),__FILE__,__LINE__)
  100. #define    strupr(a)        str_strupr((a),__FILE__,__LINE__)
  101. #define    strxfrm(a,b,c)    str_strxfrm((a),(b),(c),__FILE__,__LINE__)
  102. #else
  103. #define    strcat(a,b)        str_strcat((a),(b))
  104. #define    strchr(a,b)        str_strchr((a),(b))
  105. #define    strcmp(a,b)        str_strcmp((a),(b))
  106. #define    strcmpi(a,b)    str_stricmp((a),(b))
  107. #define    strcoll(a,b)    str_strcoll((a),(b))
  108. #define strcpy(a,b)        str_strcpy((a),(b))
  109. #define    strcspn(a,b)    str_strcspn((a),(b))
  110. #define    stricmp(a,b)    str_stricmp((a),(b))
  111. #define    strlen(a)        str_strlen((a))
  112. #define    strlwr(a)        str_strlwr((a))
  113. #define    strncat(a,b,c)    str_strncat((a),(b),(c))
  114. #define    strncmp(a,b,c)    str_strncmp((a),(b),(c))
  115. #define    strncpy(a,b,c)    str_strncpy((a),(b),(c))
  116. #define    strnicmp(a,b,c)    str_strnicmp((a),(b),(c))
  117. #define    strnset(a,b,c)    str_strnset((a),(b),(c))
  118. #define    strpbrk(a,b)    str_strpbrk((a),(b),(c))
  119. #define    strrchr(a,b)    str_strrchr((a),(b))
  120. #define    strrev(a)        str_strrev((a))
  121. #define    strset(a,b)        str_strset((a),(b))
  122. #define    strspn(a,b)        str_strspn((a),(b))
  123. #define    strstr(a,b)        str_strstr((a),(b))
  124. #define    strtok(a,b)        str_strtok((a),(b))
  125. #define    strupr(a)        str_strupr((a))
  126. #define    strxfrm(a,b,c)    str_strxfrm((a),(b),(c))
  127. #endif
  128. #endif
  129.