/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Edward Wang at The University of California, Berkeley. * * %sccs.include.redist.c% * * @(#)string.h 3.9 (Berkeley) 06/06/90 */ #define STR_DEBUG char *str_cpy(); char *str_ncpy(); char *str_cat(); char *str_itoa(); #define str_cmp(a, b) strcmp(a, b) #ifdef STR_DEBUG struct string { struct string *s_forw; struct string *s_back; char s_data[1]; }; struct string str_head; #define str_offset ((unsigned)str_head.s_data - (unsigned)&str_head) #define str_stos(s) ((struct string *)((unsigned)(s) - str_offset)) char *str_alloc(); int str_free(); #else #define str_free(s) free(s) #define str_alloc(s) malloc(s) #endif