projects
/
jansson.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change the underlying type of JSON integer from long to json_int_t
[jansson.git]
/
src
/
jansson.h
diff --git
a/src/jansson.h
b/src/jansson.h
index
24b4949
..
5324e57
100644
(file)
--- a/
src/jansson.h
+++ b/
src/jansson.h
@@
-9,6
+9,8
@@
#define JANSSON_H
#include <stdio.h>
#define JANSSON_H
#include <stdio.h>
+#include <stdlib.h> /* for size_t */
+#include <jansson_config.h>
#ifdef __cplusplus
extern "C" {
#ifdef __cplusplus
extern "C" {
@@
-29,9
+31,17
@@
typedef enum {
typedef struct {
json_type type;
typedef struct {
json_type type;
-
unsigned long
refcount;
+
size_t
refcount;
} json_t;
} json_t;
+#if JSON_INTEGER_IS_LONG_LONG
+#define JSON_INTEGER_FORMAT "lld"
+typedef long long json_int_t;
+#else
+#define JSON_INTEGER_FORMAT "ld"
+typedef long json_int_t;
+#endif /* JSON_INTEGER_IS_LONG_LONG */
+
#define json_typeof(json) ((json)->type)
#define json_is_object(json) (json && json_typeof(json) == JSON_OBJECT)
#define json_is_array(json) (json && json_typeof(json) == JSON_ARRAY)
#define json_typeof(json) ((json)->type)
#define json_is_object(json) (json && json_typeof(json) == JSON_OBJECT)
#define json_is_array(json) (json && json_typeof(json) == JSON_ARRAY)
@@
-50,15
+60,16
@@
json_t *json_object(void);
json_t *json_array(void);
json_t *json_string(const char *value);
json_t *json_string_nocheck(const char *value);
json_t *json_array(void);
json_t *json_string(const char *value);
json_t *json_string_nocheck(const char *value);
-json_t *json_integer(
in
t value);
+json_t *json_integer(
json_int_
t value);
json_t *json_real(double value);
json_t *json_true(void);
json_t *json_false(void);
json_t *json_null(void);
json_t *json_real(double value);
json_t *json_true(void);
json_t *json_false(void);
json_t *json_null(void);
-static inline json_t *json_incref(json_t *json)
+static JSON_INLINE
+json_t *json_incref(json_t *json)
{
{
- if(json && json->refcount != (
unsigned in
t)-1)
+ if(json && json->refcount != (
size_
t)-1)
++json->refcount;
return json;
}
++json->refcount;
return json;
}
@@
-66,16
+77,17
@@
static inline json_t *json_incref(json_t *json)
/* do not call json_delete directly */
void json_delete(json_t *json);
/* do not call json_delete directly */
void json_delete(json_t *json);
-static inline void json_decref(json_t *json)
+static JSON_INLINE
+void json_decref(json_t *json)
{
{
- if(json && json->refcount != (
unsigned in
t)-1 && --json->refcount == 0)
+ if(json && json->refcount != (
size_
t)-1 && --json->refcount == 0)
json_delete(json);
}
/* getters, setters, manipulation */
json_delete(json);
}
/* getters, setters, manipulation */
-
unsigned in
t json_object_size(const json_t *object);
+
size_
t json_object_size(const json_t *object);
json_t *json_object_get(const json_t *object, const char *key);
int json_object_set_new(json_t *object, const char *key, json_t *value);
int json_object_set_new_nocheck(json_t *object, const char *key, json_t *value);
json_t *json_object_get(const json_t *object, const char *key);
int json_object_set_new(json_t *object, const char *key, json_t *value);
int json_object_set_new_nocheck(json_t *object, const char *key, json_t *value);
@@
-89,13
+101,13
@@
const char *json_object_iter_key(void *iter);
json_t *json_object_iter_value(void *iter);
int json_object_iter_set_new(json_t *object, void *iter, json_t *value);
json_t *json_object_iter_value(void *iter);
int json_object_iter_set_new(json_t *object, void *iter, json_t *value);
-static
inline
+static
JSON_INLINE
int json_object_set(json_t *object, const char *key, json_t *value)
{
return json_object_set_new(object, key, json_incref(value));
}
int json_object_set(json_t *object, const char *key, json_t *value)
{
return json_object_set_new(object, key, json_incref(value));
}
-static
inline
+static
JSON_INLINE
int json_object_set_nocheck(json_t *object, const char *key, json_t *value)
{
return json_object_set_new_nocheck(object, key, json_incref(value));
int json_object_set_nocheck(json_t *object, const char *key, json_t *value)
{
return json_object_set_new_nocheck(object, key, json_incref(value));
@@
-107,41
+119,41
@@
int json_object_iter_set(json_t *object, void *iter, json_t *value)
return json_object_iter_set_new(object, iter, json_incref(value));
}
return json_object_iter_set_new(object, iter, json_incref(value));
}
-
unsigned in
t json_array_size(const json_t *array);
-json_t *json_array_get(const json_t *array,
unsigned in
t index);
-int json_array_set_new(json_t *array,
unsigned in
t index, json_t *value);
+
size_
t json_array_size(const json_t *array);
+json_t *json_array_get(const json_t *array,
size_
t index);
+int json_array_set_new(json_t *array,
size_
t index, json_t *value);
int json_array_append_new(json_t *array, json_t *value);
int json_array_append_new(json_t *array, json_t *value);
-int json_array_insert_new(json_t *array,
unsigned in
t index, json_t *value);
-int json_array_remove(json_t *array,
unsigned in
t index);
+int json_array_insert_new(json_t *array,
size_
t index, json_t *value);
+int json_array_remove(json_t *array,
size_
t index);
int json_array_clear(json_t *array);
int json_array_extend(json_t *array, json_t *other);
int json_array_clear(json_t *array);
int json_array_extend(json_t *array, json_t *other);
-static
inline
-int json_array_set(json_t *array,
unsigned in
t index, json_t *value)
+static
JSON_INLINE
+int json_array_set(json_t *array,
size_
t index, json_t *value)
{
return json_array_set_new(array, index, json_incref(value));
}
{
return json_array_set_new(array, index, json_incref(value));
}
-static
inline
+static
JSON_INLINE
int json_array_append(json_t *array, json_t *value)
{
return json_array_append_new(array, json_incref(value));
}
int json_array_append(json_t *array, json_t *value)
{
return json_array_append_new(array, json_incref(value));
}
-static
inline
-int json_array_insert(json_t *array,
unsigned in
t index, json_t *value)
+static
JSON_INLINE
+int json_array_insert(json_t *array,
size_
t index, json_t *value)
{
return json_array_insert_new(array, index, json_incref(value));
}
const char *json_string_value(const json_t *string);
{
return json_array_insert_new(array, index, json_incref(value));
}
const char *json_string_value(const json_t *string);
-
in
t json_integer_value(const json_t *integer);
+
json_int_
t json_integer_value(const json_t *integer);
double json_real_value(const json_t *real);
double json_number_value(const json_t *json);
int json_string_set(json_t *string, const char *value);
int json_string_set_nocheck(json_t *string, const char *value);
double json_real_value(const json_t *real);
double json_number_value(const json_t *json);
int json_string_set(json_t *string, const char *value);
int json_string_set_nocheck(json_t *string, const char *value);
-int json_integer_set(json_t *integer,
in
t value);
+int json_integer_set(json_t *integer,
json_int_
t value);
int json_real_set(json_t *real, double value);
int json_real_set(json_t *real, double value);
@@
-175,9
+187,9
@@
json_t *json_load_file(const char *path, json_error_t *error);
#define JSON_SORT_KEYS 0x400
#define JSON_PRESERVE_ORDER 0x800
#define JSON_SORT_KEYS 0x400
#define JSON_PRESERVE_ORDER 0x800
-char *json_dumps(const json_t *json,
unsigned long
flags);
-int json_dumpf(const json_t *json, FILE *output,
unsigned long
flags);
-int json_dump_file(const json_t *json, const char *path,
unsigned long
flags);
+char *json_dumps(const json_t *json,
size_t
flags);
+int json_dumpf(const json_t *json, FILE *output,
size_t
flags);
+int json_dump_file(const json_t *json, const char *path,
size_t
flags);
#ifdef __cplusplus
}
#ifdef __cplusplus
}