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