1 /*
2  * Copyright (c) 1998, 1999, 2000, 2004, 2006, 2010, 2015
3  *	Tama Communications Corporation
4  *
5  * This file is part of GNU GLOBAL.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef _STRMAKE_H_
22 #define _STRMAKE_H_
23 
24 #include <ctype.h>
25 
26 #define	TRIM_HEAD	1
27 #define TRIM_TAIL	2
28 #define TRIM_BOTH	3
29 #define TRIM_ALL	4
30 
31 #ifndef isblank
32 #define isblank(c)	((c) == ' ' || (c) == '\t')
33 #endif
34 
35 #define SKIP_BLANKS(p)	do {						\
36 	while (*p && isblank((unsigned char)*p))			\
37 		p++;							\
38 } while (0)
39 
40 const char *strmake(const char *, const char *);
41 const char *strtrim(const char *, int, int *);
42 int strcmp_withterm(const char *, const char *, int);
43 const char *strcpy_withterm(char *, const char *, int, int);
44 void strremovechar(char *, int);
45 
46 #endif /* ! _STRMAKE_H_ */
47