string.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. /* vim: set expandtab ts=4 sw=4: */
  2. /*
  3. * You may redistribute this program and/or modify it under the terms of
  4. * the GNU General Public License as published by the Free Software Foundation,
  5. * either version 3 of the License, or (at your option) any later version.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. *
  12. * You should have received a copy of the GNU General Public License
  13. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. #ifndef string_H
  16. #define string_H
  17. #undef memcpy
  18. #ifndef string_memcpy
  19. #define memcpy string_internal_memcpy
  20. #endif
  21. #undef memmove
  22. #ifndef string_memmove
  23. #define memmove string_internal_memmove
  24. #endif
  25. #undef memccpy
  26. #ifndef string_memccpy
  27. #define memccpy string_internal_memccpy
  28. #endif
  29. #undef memset
  30. #ifndef string_memset
  31. #define memset string_internal_memset
  32. #endif
  33. #undef memcmp
  34. #ifndef string_memcmp
  35. #define memcmp string_internal_memcmp
  36. #endif
  37. #undef memchr
  38. #ifndef string_memchr
  39. #define memchr string_internal_memchr
  40. #endif
  41. #undef strcpy
  42. #ifndef string_strcpy
  43. #define strcpy string_internal_strcpy
  44. #endif
  45. #undef strncpy
  46. #ifndef string_strncpy
  47. #define strncpy string_internal_strncpy
  48. #endif
  49. #undef strcat
  50. #ifndef string_strcat
  51. #define strcat string_internal_strcat
  52. #endif
  53. #undef strncat
  54. #ifndef string_strncat
  55. #define strncat string_internal_strncat
  56. #endif
  57. #undef strncmp
  58. #ifndef string_strncmp
  59. #define strncmp string_internal_strncmp
  60. #endif
  61. #undef strcoll
  62. #ifndef string_strcoll
  63. #define strcoll string_internal_strcoll
  64. #endif
  65. #undef strxfrm
  66. #ifndef string_strxfrm
  67. #define strxfrm string_internal_strxfrm
  68. #endif
  69. #undef strcoll_l
  70. #ifndef string_strcoll_l
  71. #define strcoll_l string_internal_strcoll_l
  72. #endif
  73. #undef strxfrm_l
  74. #ifndef string_strxfrm_l
  75. #define strxfrm_l string_internal_strxfrm_l
  76. #endif
  77. #undef strdup
  78. #ifndef string_strdup
  79. #define strdup string_internal_strdup
  80. #endif
  81. #undef strndup
  82. #ifndef string_strndup
  83. #define strndup string_internal_strndup
  84. #endif
  85. #undef strchr
  86. #ifndef string_strchr
  87. #define strchr string_internal_strchr
  88. #endif
  89. #undef strrchr
  90. #ifndef string_strrchr
  91. #define strrchr string_internal_strrchr
  92. #endif
  93. #undef strcspn
  94. #ifndef string_strcspn
  95. #define strcspn string_internal_strcspn
  96. #endif
  97. #undef strspn
  98. #ifndef string_strspn
  99. #define strspn string_internal_strspn
  100. #endif
  101. #undef strpbrk
  102. #ifndef string_strpbrk
  103. #define strpbrk string_internal_strpbrk
  104. #endif
  105. #undef strstr
  106. #ifndef string_strstr
  107. #define strstr string_internal_strstr
  108. #endif
  109. #undef strtok
  110. #ifndef string_strtok
  111. #define strtok string_internal_strtok
  112. #endif
  113. #undef strtok_r
  114. #ifndef string_strtok_r
  115. #define strtok_r string_internal_strtok_r
  116. #endif
  117. #undef strcmp
  118. #ifndef string_strcmp
  119. #define strcmp string_internal_strcmp
  120. #else
  121. // some systems use a macro which relies on strlen.
  122. #ifndef string_strlen
  123. #define string_strlen
  124. #endif
  125. #endif
  126. #undef strlen
  127. #ifndef string_strlen
  128. #define strlen string_internal_strlen
  129. #endif
  130. #undef strnlen
  131. #ifndef string_strnlen
  132. #define strnlen string_internal_strnlen
  133. #endif
  134. #undef strerror
  135. #ifndef string_strerror
  136. #define strerror string_internal_strerror
  137. #endif
  138. #undef strerror_r
  139. #ifndef string_strerror_r
  140. #define strerror_r string_internal_strerror_r
  141. #endif
  142. #undef strerror_l
  143. #ifndef string_strerror_l
  144. #define strerror_l string_internal_strerror_l
  145. #endif
  146. #undef bcopy
  147. #ifndef string_bcopy
  148. #define bcopy string_internal_bcopy
  149. #endif
  150. #undef bzero
  151. #ifndef string_bzero
  152. #define bzero string_internal_bzero
  153. #endif
  154. #undef bcmp
  155. #ifndef string_bcmp
  156. #define bcmp string_internal_bcmp
  157. #endif
  158. #undef index
  159. #ifndef string_index
  160. #define index string_internal_index
  161. #endif
  162. #undef rindex
  163. #ifndef string_rindex
  164. #define rindex string_internal_rindex
  165. #endif
  166. #undef ffs
  167. #ifndef string_ffs
  168. #define ffs string_internal_ffs
  169. #endif
  170. #undef strcasecmp
  171. #ifndef string_strcasecmp
  172. #define strcasecmp string_internal_strcasecmp
  173. #endif
  174. #undef strncasecmp
  175. #ifndef string_strncasecmp
  176. #define strncasecmp string_internal_strncasecmp
  177. #endif
  178. #undef strsep
  179. #ifndef string_strsep
  180. #define strsep string_internal_strsep
  181. #endif
  182. #undef strsignal
  183. #ifndef string_strsignal
  184. #define strsignal string_internal_strsignal
  185. #endif
  186. #undef stpcpy
  187. #ifndef string_stpcpy
  188. #define stpcpy string_internal_stpcpy
  189. #endif
  190. #undef stpncpy
  191. #ifndef string_stpncpy
  192. #define stpncpy string_internal_stpncpy
  193. #endif
  194. #include <string.h>
  195. #ifndef string_memcpy
  196. #undef memcpy
  197. #endif
  198. #ifndef string_memmove
  199. #undef memmove
  200. #endif
  201. #ifndef string_memccpy
  202. #undef memccpy
  203. #endif
  204. #ifndef string_memset
  205. #undef memset
  206. #endif
  207. #ifndef string_memcmp
  208. #undef memcmp
  209. #endif
  210. #ifndef string_memchr
  211. #undef memchr
  212. #endif
  213. #ifndef string_strcpy
  214. #undef strcpy
  215. #endif
  216. #ifndef string_strncpy
  217. #undef strncpy
  218. #endif
  219. #ifndef string_strcat
  220. #undef strcat
  221. #endif
  222. #ifndef string_strncat
  223. #undef strncat
  224. #endif
  225. #ifndef string_strcmp
  226. #undef strcmp
  227. #endif
  228. #ifndef string_strncmp
  229. #undef strncmp
  230. #endif
  231. #ifndef string_strcoll
  232. #undef strcoll
  233. #endif
  234. #ifndef string_strxfrm
  235. #undef strxfrm
  236. #endif
  237. #ifndef string_strcoll_l
  238. #undef strcoll_l
  239. #endif
  240. #ifndef string_strxfrm_l
  241. #undef strxfrm_l
  242. #endif
  243. #ifndef string_strdup
  244. #undef strdup
  245. #endif
  246. #ifndef string_strndup
  247. #undef strndup
  248. #endif
  249. #ifndef string_strchr
  250. #undef strchr
  251. #endif
  252. #ifndef string_strrchr
  253. #undef strrchr
  254. #endif
  255. #ifndef string_strcspn
  256. #undef strcspn
  257. #endif
  258. #ifndef string_strspn
  259. #undef strspn
  260. #endif
  261. #ifndef string_strpbrk
  262. #undef strpbrk
  263. #endif
  264. #ifndef string_strstr
  265. #undef strstr
  266. #endif
  267. #ifndef string_strtok
  268. #undef strtok
  269. #endif
  270. #ifndef string_strtok_r
  271. #undef strtok_r
  272. #endif
  273. #ifndef string_strlen
  274. #undef strlen
  275. #endif
  276. #ifndef string_strnlen
  277. #undef strnlen
  278. #endif
  279. #ifndef string_strerror
  280. #undef strerror
  281. #endif
  282. #ifndef string_strerror_r
  283. #undef strerror_r
  284. #endif
  285. #ifndef string_strerror_l
  286. #undef strerror_l
  287. #endif
  288. #ifndef string_bcopy
  289. #undef bcopy
  290. #endif
  291. #ifndef string_bzero
  292. #undef bzero
  293. #endif
  294. #ifndef string_bcmp
  295. #undef bcmp
  296. #endif
  297. #ifndef string_index
  298. #undef index
  299. #endif
  300. #ifndef string_rindex
  301. #undef rindex
  302. #endif
  303. #ifndef string_ffs
  304. #undef ffs
  305. #endif
  306. #ifndef string_strcasecmp
  307. #undef strcasecmp
  308. #endif
  309. #ifndef string_strncasecmp
  310. #undef strncasecmp
  311. #endif
  312. #ifndef string_strsep
  313. #undef strsep
  314. #endif
  315. #ifndef string_strsignal
  316. #undef strsignal
  317. #endif
  318. #ifndef string_stpcpy
  319. #undef stpcpy
  320. #endif
  321. #ifndef string_stpncpy
  322. #undef stpncpy
  323. #endif
  324. #endif