jansson: moved to github
Signed-off-by: Steven Barth <steven@midlink.org> git-svn-id: svn://svn.openwrt.org/openwrt/packages@43726 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
be82d2ab26
commit
b9f2338e93
@ -1,43 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (C) 2011-2012 OpenWrt.org
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
|
|
||||||
PKG_NAME:=jansson
|
|
||||||
PKG_VERSION:=2.2.1
|
|
||||||
PKG_RELEASE:=1
|
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
||||||
PKG_SOURCE_URL:=http://www.digip.org/jansson/releases/
|
|
||||||
PKG_MD5SUM:=ebf4ebc7af47de27f7b9d79ad5853176
|
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
|
|
||||||
define Package/jansson
|
|
||||||
SECTION:=libs
|
|
||||||
CATEGORY:=Libraries
|
|
||||||
TITLE:=JSON library
|
|
||||||
endef
|
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC)
|
|
||||||
|
|
||||||
define Build/InstallDev
|
|
||||||
$(INSTALL_DIR) $(1)/usr/{lib,include}
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson* $(1)/usr/lib
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/jansson/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson*so* $(1)/usr/lib/
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,jansson))
|
|
@ -1,50 +0,0 @@
|
|||||||
This patch adds a function which can be used to update
|
|
||||||
json key values on all levels, not just one, automagically
|
|
||||||
adding new keys to objects which do not exist in old object.
|
|
||||||
|
|
||||||
Signed-off-by: Roman Yeryomin <roman@advem.lv>
|
|
||||||
|
|
||||||
--- a/src/value.c 2011-04-21 13:15:58.000000000 +0300
|
|
||||||
+++ b/src/value.c 2011-07-01 00:23:05.105103308 +0300
|
|
||||||
@@ -215,6 +215,41 @@
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+int json_object_deep_update(json_t *object, json_t *other)
|
|
||||||
+{
|
|
||||||
+ void *iter;
|
|
||||||
+
|
|
||||||
+ if(!json_is_object(object) || !json_is_object(other))
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ iter = json_object_iter(other);
|
|
||||||
+ while(iter) {
|
|
||||||
+ const char *key;
|
|
||||||
+ json_t *value;
|
|
||||||
+
|
|
||||||
+ key = json_object_iter_key(iter);
|
|
||||||
+ value = json_object_iter_value(iter);
|
|
||||||
+
|
|
||||||
+ if (!json_is_object(value)) {
|
|
||||||
+ if ( json_object_set_nocheck( object, key, value ) )
|
|
||||||
+ return -1;
|
|
||||||
+ } else {
|
|
||||||
+ json_t *subobj = json_object_get(object, key);
|
|
||||||
+ if (!subobj) {
|
|
||||||
+ json_object_set_nocheck( object, key, value );
|
|
||||||
+ iter = json_object_iter_next(other, iter);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ if (json_object_deep_update( subobj, value ) == -1)
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ iter = json_object_iter_next(other, iter);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void *json_object_iter(json_t *json)
|
|
||||||
{
|
|
||||||
json_object_t *object;
|
|
@ -1,10 +0,0 @@
|
|||||||
--- a/src/jansson.h
|
|
||||||
+++ b/src/jansson.h
|
|
||||||
@@ -126,6 +126,7 @@ int json_object_set_new_nocheck(json_t *
|
|
||||||
int json_object_del(json_t *object, const char *key);
|
|
||||||
int json_object_clear(json_t *object);
|
|
||||||
int json_object_update(json_t *object, json_t *other);
|
|
||||||
+int json_object_deep_update(json_t *object, json_t *other);
|
|
||||||
void *json_object_iter(json_t *object);
|
|
||||||
void *json_object_iter_at(json_t *object, const char *key);
|
|
||||||
void *json_object_iter_next(json_t *object, void *iter);
|
|
Loading…
x
Reference in New Issue
Block a user