xref: /original-bsd/usr.bin/window/string.h (revision 9ae781f3)
19fc502cfSedward /*
2*9ae781f3Sbostic  * Copyright (c) 1983, 1993
3*9ae781f3Sbostic  *	The Regents of the University of California.  All rights reserved.
4bac0d407Sbostic  *
58e751acfSbostic  * This code is derived from software contributed to Berkeley by
68e751acfSbostic  * Edward Wang at The University of California, Berkeley.
78e751acfSbostic  *
8122a1d9eSbostic  * %sccs.include.redist.c%
9bac0d407Sbostic  *
10*9ae781f3Sbostic  *	@(#)string.h	8.1 (Berkeley) 06/06/93
11ed4d29f6Sedward  */
12ed4d29f6Sedward 
136f63c66bSedward #define STR_DEBUG
149fc502cfSedward 
159fc502cfSedward char *str_cpy();
1656f346fbSedward char *str_ncpy();
179fc502cfSedward char *str_cat();
189fc502cfSedward char *str_itoa();
199fc502cfSedward 
209fc502cfSedward #define str_cmp(a, b)	strcmp(a, b)
216f63c66bSedward 
226f63c66bSedward #ifdef STR_DEBUG
236f63c66bSedward struct string {
246f63c66bSedward 	struct string *s_forw;
256f63c66bSedward 	struct string *s_back;
266f63c66bSedward 	char s_data[1];
276f63c66bSedward };
286f63c66bSedward 
296f63c66bSedward struct string str_head;
306f63c66bSedward 
316f63c66bSedward #define str_offset ((unsigned)str_head.s_data - (unsigned)&str_head)
326f63c66bSedward #define str_stos(s) ((struct string *)((unsigned)(s) - str_offset))
336f63c66bSedward 
346f63c66bSedward char *str_alloc();
356f63c66bSedward int str_free();
366f63c66bSedward #else
376f63c66bSedward #define str_free(s)	free(s)
386f63c66bSedward #define str_alloc(s)	malloc(s)
396f63c66bSedward #endif
40