projects
/
jansson.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add version info to jansson.h
[jansson.git]
/
src
/
value.c
diff --git
a/src/value.c
b/src/value.c
index
e024fdb
..
89d7b71
100644
(file)
--- a/
src/value.c
+++ b/
src/value.c
@@
-7,8
+7,7
@@
#define _GNU_SOURCE
#define _GNU_SOURCE
-#include <config.h>
-
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
@@
-16,10
+15,9
@@
#include "hashtable.h"
#include "jansson_private.h"
#include "utf.h"
#include "hashtable.h"
#include "jansson_private.h"
#include "utf.h"
-#include "util.h"
-static
inline
void json_init(json_t *json, json_type type)
+static
JSON_INLINE
void json_init(json_t *json, json_type type)
{
json->type = type;
json->refcount = 1;
{
json->type = type;
json->refcount = 1;
@@
-34,14
+32,14
@@
static inline void json_init(json_t *json, json_type type)
an object_key_t instance. */
#define string_to_key(string) container_of(string, object_key_t, key)
an object_key_t instance. */
#define string_to_key(string) container_of(string, object_key_t, key)
-static
unsigned in
t hash_key(const void *ptr)
+static
size_
t hash_key(const void *ptr)
{
const char *str = ((const object_key_t *)ptr)->key;
{
const char *str = ((const object_key_t *)ptr)->key;
-
unsigned in
t hash = 5381;
-
unsigned in
t c;
+
size_
t hash = 5381;
+
size_
t c;
- while((c = (
unsigned in
t)*str))
+ while((c = (
size_
t)*str))
{
hash = ((hash << 5) + hash) + c;
str++;
{
hash = ((hash << 5) + hash) + c;
str++;
@@
-87,7
+85,7
@@
static void json_delete_object(json_object_t *object)
free(object);
}
free(object);
}
-
unsigned in
t json_object_size(const json_t *json)
+
size_
t json_object_size(const json_t *json)
{
json_object_t *object;
{
json_object_t *object;
@@
-124,9
+122,11
@@
int json_object_set_new_nocheck(json_t *json, const char *key, json_t *value)
}
object = json_to_object(json);
}
object = json_to_object(json);
- k = malloc(sizeof(object_key_t) + strlen(key) + 1);
- if(!k)
- return -1;
+ /* offsetof(...) returns the size of object_key_t without the
+ last, flexible member. This way, the correct amount is
+ allocated. */
+ k = malloc(offsetof(object_key_t, key) +
+ strlen(key) + 1); if(!k) return -1;
k->serial = object->serial++;
strcpy(k->key, key);
k->serial = object->serial++;
strcpy(k->key, key);
@@
-371,7
+371,7
@@
json_t *json_array(void)
static void json_delete_array(json_array_t *array)
{
static void json_delete_array(json_array_t *array)
{
-
unsigned in
t i;
+
size_
t i;
for(i = 0; i < array->entries; i++)
json_decref(array->table[i]);
for(i = 0; i < array->entries; i++)
json_decref(array->table[i]);
@@
-380,7
+380,7
@@
static void json_delete_array(json_array_t *array)
free(array);
}
free(array);
}
-
unsigned in
t json_array_size(const json_t *json)
+
size_
t json_array_size(const json_t *json)
{
if(!json_is_array(json))
return 0;
{
if(!json_is_array(json))
return 0;
@@
-388,7
+388,7
@@
unsigned int json_array_size(const json_t *json)
return json_to_array(json)->entries;
}
return json_to_array(json)->entries;
}
-json_t *json_array_get(const json_t *json,
unsigned in
t index)
+json_t *json_array_get(const json_t *json,
size_
t index)
{
json_array_t *array;
if(!json_is_array(json))
{
json_array_t *array;
if(!json_is_array(json))
@@
-401,7
+401,7
@@
json_t *json_array_get(const json_t *json, unsigned int index)
return array->table[index];
}
return array->table[index];
}
-int json_array_set_new(json_t *json,
unsigned in
t index, json_t *value)
+int json_array_set_new(json_t *json,
size_
t index, json_t *value)
{
json_array_t *array;
{
json_array_t *array;
@@
-427,24
+427,24
@@
int json_array_set_new(json_t *json, unsigned int index, json_t *value)
return 0;
}
return 0;
}
-static void array_move(json_array_t *array,
unsigned in
t dest,
-
unsigned int src, unsigned in
t count)
+static void array_move(json_array_t *array,
size_
t dest,
+
size_t src, size_
t count)
{
memmove(&array->table[dest], &array->table[src], count * sizeof(json_t *));
}
{
memmove(&array->table[dest], &array->table[src], count * sizeof(json_t *));
}
-static void array_copy(json_t **dest,
unsigned in
t dpos,
- json_t **src,
unsigned in
t spos,
-
unsigned in
t count)
+static void array_copy(json_t **dest,
size_
t dpos,
+ json_t **src,
size_
t spos,
+
size_
t count)
{
memcpy(&dest[dpos], &src[spos], count * sizeof(json_t *));
}
static json_t **json_array_grow(json_array_t *array,
{
memcpy(&dest[dpos], &src[spos], count * sizeof(json_t *));
}
static json_t **json_array_grow(json_array_t *array,
-
unsigned in
t amount,
+
size_
t amount,
int copy)
{
int copy)
{
-
unsigned in
t new_size;
+
size_
t new_size;
json_t **old_table, **new_table;
if(array->entries + amount <= array->size)
json_t **old_table, **new_table;
if(array->entries + amount <= array->size)
@@
-494,7
+494,7
@@
int json_array_append_new(json_t *json, json_t *value)
return 0;
}
return 0;
}
-int json_array_insert_new(json_t *json,
unsigned in
t index, json_t *value)
+int json_array_insert_new(json_t *json,
size_
t index, json_t *value)
{
json_array_t *array;
json_t **old_table;
{
json_array_t *array;
json_t **old_table;
@@
-534,7
+534,7
@@
int json_array_insert_new(json_t *json, unsigned int index, json_t *value)
return 0;
}
return 0;
}
-int json_array_remove(json_t *json,
unsigned in
t index)
+int json_array_remove(json_t *json,
size_
t index)
{
json_array_t *array;
{
json_array_t *array;
@@
-556,7
+556,7
@@
int json_array_remove(json_t *json, unsigned int index)
int json_array_clear(json_t *json)
{
json_array_t *array;
int json_array_clear(json_t *json)
{
json_array_t *array;
-
unsigned in
t i;
+
size_
t i;
if(!json_is_array(json))
return -1;
if(!json_is_array(json))
return -1;
@@
-572,7
+572,7
@@
int json_array_clear(json_t *json)
int json_array_extend(json_t *json, json_t *other_json)
{
json_array_t *array, *other;
int json_array_extend(json_t *json, json_t *other_json)
{
json_array_t *array, *other;
-
unsigned in
t i;
+
size_
t i;
if(!json_is_array(json) || !json_is_array(other_json))
return -1;
if(!json_is_array(json) || !json_is_array(other_json))
return -1;
@@
-593,7
+593,7
@@
int json_array_extend(json_t *json, json_t *other_json)
static int json_array_equal(json_t *array1, json_t *array2)
{
static int json_array_equal(json_t *array1, json_t *array2)
{
-
unsigned in
t i, size;
+
size_
t i, size;
size = json_array_size(array1);
if(size != json_array_size(array2))
size = json_array_size(array1);
if(size != json_array_size(array2))
@@
-616,7
+616,7
@@
static int json_array_equal(json_t *array1, json_t *array2)
static json_t *json_array_copy(json_t *array)
{
json_t *result;
static json_t *json_array_copy(json_t *array)
{
json_t *result;
-
unsigned in
t i;
+
size_
t i;
result = json_array();
if(!result)
result = json_array();
if(!result)
@@
-631,7
+631,7
@@
static json_t *json_array_copy(json_t *array)
static json_t *json_array_deep_copy(json_t *array)
{
json_t *result;
static json_t *json_array_deep_copy(json_t *array)
{
json_t *result;
-
unsigned in
t i;
+
size_
t i;
result = json_array();
if(!result)
result = json_array();
if(!result)
@@
-725,7
+725,7
@@
static json_t *json_string_copy(json_t *string)
/*** integer ***/
/*** integer ***/
-json_t *json_integer(
in
t value)
+json_t *json_integer(
json_int_
t value)
{
json_integer_t *integer = malloc(sizeof(json_integer_t));
if(!integer)
{
json_integer_t *integer = malloc(sizeof(json_integer_t));
if(!integer)
@@
-736,7
+736,7
@@
json_t *json_integer(int value)
return &integer->json;
}
return &integer->json;
}
-
in
t json_integer_value(const json_t *json)
+
json_int_
t json_integer_value(const json_t *json)
{
if(!json_is_integer(json))
return 0;
{
if(!json_is_integer(json))
return 0;
@@
-744,7
+744,7
@@
int json_integer_value(const json_t *json)
return json_to_integer(json)->value;
}
return json_to_integer(json)->value;
}
-int json_integer_set(json_t *json,
in
t value)
+int json_integer_set(json_t *json,
json_int_
t value)
{
if(!json_is_integer(json))
return -1;
{
if(!json_is_integer(json))
return -1;
@@
-834,30
+834,21
@@
double json_number_value(const json_t *json)
json_t *json_true(void)
{
json_t *json_true(void)
{
- static json_t the_true = {
- .type = JSON_TRUE,
- .refcount = (unsigned int)-1
- };
+ static json_t the_true = {JSON_TRUE, (size_t)-1};
return &the_true;
}
json_t *json_false(void)
{
return &the_true;
}
json_t *json_false(void)
{
- static json_t the_false = {
- .type = JSON_FALSE,
- .refcount = (unsigned int)-1
- };
+ static json_t the_false = {JSON_FALSE, (size_t)-1};
return &the_false;
}
json_t *json_null(void)
{
return &the_false;
}
json_t *json_null(void)
{
- static json_t the_null = {
- .type = JSON_NULL,
- .refcount = (unsigned int)-1
- };
+ static json_t the_null = {JSON_NULL, (size_t)-1};
return &the_null;
}
return &the_null;
}