diff options
-rw-r--r-- | recipes/libjson/libjson/json-c-longlongint.patch | 112 | ||||
-rw-r--r-- | recipes/libjson/libjson_svn.bb | 17 |
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" |