mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 01:24:18 +00:00
json related updates
This commit is contained in:
parent
d161005658
commit
6ab9279211
3
bam.lua
3
bam.lua
|
@ -222,6 +222,7 @@ function build(settings)
|
|||
-- build the small libraries
|
||||
wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
|
||||
pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
|
||||
jsonparser = Compile(settings, Collect("src/engine/external/json-parser/*.c"))
|
||||
|
||||
-- build game components
|
||||
engine_settings = settings:Copy()
|
||||
|
@ -308,7 +309,7 @@ function build(settings)
|
|||
-- build client, server, version server and master server
|
||||
client_exe = Link(client_settings, "DDNet", game_shared, game_client,
|
||||
engine, client, game_editor, zlib, pnglite, wavpack,
|
||||
client_link_other, client_osxlaunch)
|
||||
client_link_other, client_osxlaunch, jsonparser)
|
||||
|
||||
server_exe = Link(server_settings, "DDNet-Server", engine, server,
|
||||
game_shared, game_server, zlib, server_link_other)
|
||||
|
|
26
src/engine/external/json-parser/json.h
vendored
26
src/engine/external/json-parser/json.h
vendored
|
@ -31,6 +31,8 @@
|
|||
#ifndef _JSON_H
|
||||
#define _JSON_H
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#ifndef json_char
|
||||
#define json_char char
|
||||
#endif
|
||||
|
@ -182,6 +184,30 @@ json_value * json_parse_ex
|
|||
|
||||
void json_value_free (json_value *);
|
||||
|
||||
inline const struct _json_value *json_object_get (const json_value * object, const char * index)
|
||||
{
|
||||
if (object->type != json_object)
|
||||
return &json_value_none;
|
||||
|
||||
unsigned int i;
|
||||
for (i = 0; i < object->u.object.length; ++ i)
|
||||
if (!strcmp (object->u.object.values [i].name, index))
|
||||
return object->u.object.values [i].value;
|
||||
|
||||
return &json_value_none;
|
||||
}
|
||||
|
||||
inline const struct _json_value *json_array_get (const json_value * array, int index)
|
||||
{
|
||||
if (array->type != json_array || index >= (int)array->u.array.length)
|
||||
return &json_value_none;
|
||||
|
||||
return array->u.array.values[index];
|
||||
}
|
||||
|
||||
inline int json_array_length (const json_value * array) { return array->u.array.length; }
|
||||
inline const char * json_string_get (const json_value * string) { return string->u.string.ptr; }
|
||||
inline int json_int_get (const json_value * integer) { return integer->u.integer; }
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
|
Loading…
Reference in a new issue