/* * @(#)string.h 3.5 4/24/85 */ /* * Copyright (c) 1983 Regents of the University of California, * All rights reserved. Redistribution permitted subject to * the terms of the Berkeley Software License Agreement. */ #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