aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/libjson
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2010-06-25 10:23:58 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2010-06-25 10:25:01 +0200
commit4eda57ba4add863d5a23b8570ae4632f95158bb5 (patch)
tree2c24d7a2b04da55b8a0556d80e01aa01c3c9cccf /recipes/libjson
parentc34bf3cb88a9e99a22905fee4970dac914ee8a4f (diff)
downloadopenembedded-4eda57ba4add863d5a23b8570ae4632f95158bb5.tar.gz
libjson: add svn versions with patch needed for elmdentica
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes/libjson')
-rw-r--r--recipes/libjson/libjson/json-c-longlongint.patch112
-rw-r--r--recipes/libjson/libjson_svn.bb17
2 files changed, 129 insertions, 0 deletions
diff --git a/recipes/libjson/libjson/json-c-longlongint.patch b/recipes/libjson/libjson/json-c-longlongint.patch
new file mode 100644
index 0000000000..5d68249175
--- /dev/null
+++ b/recipes/libjson/libjson/json-c-longlongint.patch
@@ -0,0 +1,112 @@
+Index: jsonjson_object_private.h
+===================================================================
+--- json.old/json_object_private.h (revision 55)
++++ json/json_object_private.h (working copy)
+@@ -30,7 +30,7 @@
+ union data {
+ boolean c_boolean;
+ double c_double;
+- int c_int;
++ long long int c_int;
+ struct lh_table *c_object;
+ struct array_list *c_array;
+ char *c_string;
+Index: jsonjson_object.c
+===================================================================
+--- json.old/json_object.c (revision 55)
++++ json/json_object.c (working copy)
+@@ -319,10 +319,10 @@
+ static int json_object_int_to_json_string(struct json_object* jso,
+ struct printbuf *pb)
+ {
+- return sprintbuf(pb, "%d", jso->o.c_int);
++ return sprintbuf(pb, "%lld", jso->o.c_int);
+ }
+
+-struct json_object* json_object_new_int(int i)
++struct json_object* json_object_new_int(long long int i)
+ {
+ struct json_object *jso = json_object_new(json_type_int);
+ if(!jso) return NULL;
+@@ -331,20 +331,20 @@
+ return jso;
+ }
+
+-int json_object_get_int(struct json_object *jso)
++long long int json_object_get_int(struct json_object *jso)
+ {
+- int cint;
++ long long int cint;
+
+ if(!jso) return 0;
+ switch(jso->o_type) {
+ case json_type_int:
+ return jso->o.c_int;
+ case json_type_double:
+- return (int)jso->o.c_double;
++ return (long long int)jso->o.c_double;
+ case json_type_boolean:
+ return jso->o.c_boolean;
+ case json_type_string:
+- if(sscanf(jso->o.c_string, "%d", &cint) == 1) return cint;
++ if(sscanf(jso->o.c_string, "%lld", &cint) == 1) return cint;
+ default:
+ return 0;
+ }
+Index: jsonjson_tokener.c
+===================================================================
+--- json.old/json_tokener.c (revision 55)
++++ json/json_tokener.c (working copy)
+@@ -542,9 +542,9 @@
+ printbuf_memappend_fast(tok->pb, case_start, case_len);
+ }
+ {
+- int numi;
++ long long int numi;
+ double numd;
+- if(!tok->is_double && sscanf(tok->pb->buf, "%d", &numi) == 1) {
++ if(!tok->is_double && sscanf(tok->pb->buf, "%lld", &numi) == 1) {
+ current = json_object_new_int(numi);
+ } else if(tok->is_double && sscanf(tok->pb->buf, "%lf", &numd) == 1) {
+ current = json_object_new_double(numd);
+Index: jsonjson_object.h
+===================================================================
+--- json.old/json_object.h (revision 55)
++++ json/json_object.h (working copy)
+@@ -252,18 +252,18 @@
+ * @param i the integer
+ * @returns a json_object of type json_type_int
+ */
+-extern struct json_object* json_object_new_int(int i);
++extern struct json_object* json_object_new_int(long long int i);
+
+-/** Get the int value of a json_object
++/** Get the long long int value of a json_object
+ *
+ * The type is coerced to a int if the passed object is not a int.
+ * double objects will return their integer conversion. Strings will be
+ * parsed as an integer. If no conversion exists then 0 is returned.
+ *
+ * @param obj the json_object instance
+- * @returns an int
++ * @returns a long long int
+ */
+-extern int json_object_get_int(struct json_object *obj);
++extern long long int json_object_get_int(struct json_object *obj);
+
+
+ /* double type methods */
+Index: jsonChangeLog
+===================================================================
+--- json.old/ChangeLog (revision 55)
++++ json/ChangeLog (working copy)
+@@ -8,6 +8,9 @@
+ Brent Miller, bdmiller at yahoo dash inc dot com
+ * Correction to comment describing printbuf_memappend in printbuf.h
+ Brent Miller, bdmiller at yahoo dash inc dot com
++ * Use long long int instead of plain int for integers (needed for stuff like
++ twitter, which has some long long ints in it's status IDs
++ Rui Miguel Seabra, rms at 1407 dot org
+
+ 0.9
+ * Add README.html README-WIN32.html config.h.win32 to Makefile.am
diff --git a/recipes/libjson/libjson_svn.bb b/recipes/libjson/libjson_svn.bb
new file mode 100644
index 0000000000..71c243d09b
--- /dev/null
+++ b/recipes/libjson/libjson_svn.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "json C library"
+AUTHOR = "Michael Clark and C. Watford"
+HOMEPAGE = "http://oss.metaparadigm.com/json-c/"
+SECTION = "libs"
+LICENSE = "MIT/X11"
+PV = "0.9+svnr${SRCPV}"
+
+SRC_URI = "svn://svn.metaparadigm.com/svn/json-c/;module=trunk;proto=http \
+ file://json-c-longlongint.patch"
+
+SRCREV = "55"
+S = "${WORKDIR}/trunk"
+
+inherit autotools
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_shr = "1"