1 /************************************************************************
3 * voxelands - 3d voxel world sandbox game
4 * Copyright (C) Lisa 'darkrose' Milne 2016 <lisa@ltmnet.com>
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>
18 ************************************************************************/
26 /* remove whitespace from beginning and end of a string */
31 while (*str
&& isspace(*str
)) {
36 while (--l
> -1 && (!str
[l
] || isspace(str
[l
]))) {
43 /* allocate memory and copy a string */
44 char* strdup(const char* str
)
59 if (!memcpy(r
,str
,l
)) {
67 /* append str to dest, only if there's room for all of it */
68 int strappend(char* dest
, int size
, char* str
)
83 /* makes a string safe for use as a file or directory name */
84 int str_sanitise(char* dest
, int size
, char* str
)
95 if (isalnum(str
[i
])) {
107 /* parse a string into a bool true/false 1/0 */
108 int parse_bool(char* str
)
111 if (!strcmp(str
,"true"))
113 if (!strcmp(str
,"yes"))
115 if (!strcmp(str
,"on"))
117 if (!strcmp(str
,"enabled"))
119 if (!strcmp(str
,"active"))
121 if (strtol(str
,NULL
,10))