diff options
| -rw-r--r-- | lib/Makefile | 2 | ||||
| -rw-r--r-- | lib/json_util.c | 51 | ||||
| -rw-r--r-- | lib/json_util.h | 27 | 
3 files changed, 79 insertions, 1 deletions
| diff --git a/lib/Makefile b/lib/Makefile index 7d0ae7e8..f20b3797 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -12,7 +12,7 @@ _SRCDIR_ := $(_SRCDIR_)lib/  endif  # [SH] Program variables -objects = arc.o base64.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o +objects = arc.o base64.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o  LFLAGS += -r diff --git a/lib/json_util.c b/lib/json_util.c new file mode 100644 index 00000000..67cde749 --- /dev/null +++ b/lib/json_util.c @@ -0,0 +1,51 @@ +/***************************************************************************\ +*                                                                           * +*  BitlBee - An IRC to IM gateway                                           * +*  Helper functions for json.c                                              * +*                                                                           * +*  Copyright 2012 Wilmer van der Gaast <wilmer@gaast.net>                   * +*                                                                           * +*  This library is free software; you can redistribute it and/or            * +*  modify it under the terms of the GNU Lesser General Public               * +*  License as published by the Free Software Foundation, version            * +*  2.1.                                                                     * +*                                                                           * +*  This library is distributed in the hope that it will be useful,          * +*  but WITHOUT ANY WARRANTY; without even the implied warranty of           * +*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        * +*  Lesser General Public License for more details.                          * +*                                                                           * +*  You should have received a copy of the GNU Lesser General Public License * +*  along with this library; if not, write to the Free Software Foundation,  * +*  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA           * +*                                                                           * +****************************************************************************/ + +#include <stdlib.h> +#include <string.h> + +#include "json_util.h" + +json_value *json_o_get( json_value *obj, json_char *name ) +{  +	int i; +	 +	if( obj->type != json_object ) +		return NULL; + +	for( i = 0; i < obj->u.object.length; ++ i) +		if( strcmp( obj->u.object.values[i].name, name ) == 0 ) +			return obj->u.object.values[i].value; + +	return NULL; +} + +const char *json_o_str( json_value *obj, json_char *name ) +{  +	json_value *ret = json_o_get( obj, name ); +	 +	if( ret ) +		return ret->u.string.ptr; +	else +		return NULL; +} diff --git a/lib/json_util.h b/lib/json_util.h new file mode 100644 index 00000000..c4e52eeb --- /dev/null +++ b/lib/json_util.h @@ -0,0 +1,27 @@ +/***************************************************************************\ +*                                                                           * +*  BitlBee - An IRC to IM gateway                                           * +*  Helper functions for json.c                                              * +*                                                                           * +*  Copyright 2012 Wilmer van der Gaast <wilmer@gaast.net>                   * +*                                                                           * +*  This library is free software; you can redistribute it and/or            * +*  modify it under the terms of the GNU Lesser General Public               * +*  License as published by the Free Software Foundation, version            * +*  2.1.                                                                     * +*                                                                           * +*  This library is distributed in the hope that it will be useful,          * +*  but WITHOUT ANY WARRANTY; without even the implied warranty of           * +*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        * +*  Lesser General Public License for more details.                          * +*                                                                           * +*  You should have received a copy of the GNU Lesser General Public License * +*  along with this library; if not, write to the Free Software Foundation,  * +*  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA           * +*                                                                           * +****************************************************************************/ + +#include "json.h" + +json_value *json_o_get( json_value *obj, json_char *name ); +const char *json_o_str( json_value *obj, json_char *name ); | 
