--- libelwix/src/json.c 2018/04/19 00:00:36 1.5 +++ libelwix/src/json.c 2018/04/19 16:13:48 1.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: json.c,v 1.5 2018/04/19 00:00:36 misho Exp $ +* $Id: json.c,v 1.6 2018/04/19 16:13:48 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -500,6 +500,40 @@ json_token2dbl(const char *jstr, jtok_t * __restrict t return 0; ret = strtod(str, NULL); + e_free(str); + return ret; +} + +/* + * json_token2bool() - Return token to bool int + * + * @jstr = JSON string + * @tok = Token for convert + * @return 0 for FALSE and !=0 for TRUE + */ +int +json_token2bool(const char *jstr, jtok_t * __restrict tok) +{ + double ret = 0; + char *str; + + str = json_token2str(jstr, tok); + if (!str) + return 0; + + switch (*str) { + case 't': + case 'T': + ret = 1; + break; + case 'f': + case 'F': + ret = 0; + break; + default: + ret = (int) strtol(str, NULL, 10); + break; + } e_free(str); return ret; }