Commit | Line | Data |
---|---|---|
921f5a1c | 1 | /* |
90ede912 | 2 | * @(#)string.h 3.2 84/01/05 |
921f5a1c | 3 | */ |
90ede912 | 4 | #define STR_DEBUG |
921f5a1c EW |
5 | |
6 | char *str_cpy(); | |
7 | char *str_cat(); | |
8 | char *str_itoa(); | |
9 | ||
10 | #define str_cmp(a, b) strcmp(a, b) | |
90ede912 EW |
11 | |
12 | #ifdef STR_DEBUG | |
13 | struct string { | |
14 | struct string *s_forw; | |
15 | struct string *s_back; | |
16 | char s_data[1]; | |
17 | }; | |
18 | ||
19 | struct string str_head; | |
20 | ||
21 | #define str_offset ((unsigned)str_head.s_data - (unsigned)&str_head) | |
22 | #define str_stos(s) ((struct string *)((unsigned)(s) - str_offset)) | |
23 | ||
24 | char *str_alloc(); | |
25 | int str_free(); | |
26 | #else | |
27 | #define str_free(s) free(s) | |
28 | #define str_alloc(s) malloc(s) | |
29 | #endif |