aboutsummaryrefslogtreecommitdiffstats
path: root/lib/json.h
diff options
context:
space:
mode:
authorIndent <please@skip.me>2015-02-19 02:47:20 -0300
committerdequis <dx@dxzone.com.ar>2015-02-20 19:50:54 -0300
commit5ebff60479fc7a9f7f50ac03b124c91d4e6ebe11 (patch)
tree9fc0d50cb1f4bc9768d9f00de94eafd876bb55b0 /lib/json.h
parentaf359b4316f9d392c6b752495a1b2ed631576ed8 (diff)
Reindent everything to K&R style with tabs
Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
Diffstat (limited to 'lib/json.h')
-rw-r--r--lib/json.h313
1 files changed, 152 insertions, 161 deletions
diff --git a/lib/json.h b/lib/json.h
index cf9f0dd5..2077fb21 100644
--- a/lib/json.h
+++ b/lib/json.h
@@ -50,220 +50,211 @@
#include <string.h>
- extern "C"
- {
+extern "C"
+{
#endif
-typedef struct
-{
- unsigned long max_memory;
- int settings;
+typedef struct {
+ unsigned long max_memory;
+ int settings;
- /* Custom allocator support (leave null to use malloc/free)
- */
+ /* Custom allocator support (leave null to use malloc/free)
+ */
- void * (* mem_alloc) (size_t, int zero, void * user_data);
- void (* mem_free) (void *, void * user_data);
+ void * (*mem_alloc)(size_t, int zero, void * user_data);
+ void (* mem_free)(void *, void * user_data);
- void * user_data; /* will be passed to mem_alloc and mem_free */
+ void * user_data; /* will be passed to mem_alloc and mem_free */
} json_settings;
#define json_enable_comments 0x01
-typedef enum
-{
- json_none,
- json_object,
- json_array,
- json_integer,
- json_double,
- json_string,
- json_boolean,
- json_null
+typedef enum {
+ json_none,
+ json_object,
+ json_array,
+ json_integer,
+ json_double,
+ json_string,
+ json_boolean,
+ json_null
} json_type;
extern const struct _json_value json_value_none;
-typedef struct _json_value
-{
- struct _json_value * parent;
+typedef struct _json_value {
+ struct _json_value * parent;
- json_type type;
+ json_type type;
- union
- {
- int boolean;
- json_int_t integer;
- double dbl;
+ union {
+ int boolean;
+ json_int_t integer;
+ double dbl;
- struct
- {
- unsigned int length;
- json_char * ptr; /* null terminated */
+ struct {
+ unsigned int length;
+ json_char * ptr; /* null terminated */
- } string;
+ } string;
- struct
- {
- unsigned int length;
+ struct {
+ unsigned int length;
- struct
- {
- json_char * name;
- unsigned int name_length;
+ struct {
+ json_char * name;
+ unsigned int name_length;
- struct _json_value * value;
+ struct _json_value * value;
- } * values;
+ } * values;
- #if defined(__cplusplus) && __cplusplus >= 201103L
- decltype(values) begin () const
- { return values;
- }
- decltype(values) end () const
- { return values + length;
- }
- #endif
+ #if defined(__cplusplus) && __cplusplus >= 201103L
+ decltype(values) begin() const
+ { return values; }
+ decltype(values) end() const
+ { return values + length; }
+ #endif
- } object;
+ } object;
- struct
- {
- unsigned int length;
- struct _json_value ** values;
+ struct {
+ unsigned int length;
+ struct _json_value ** values;
- #if defined(__cplusplus) && __cplusplus >= 201103L
- decltype(values) begin () const
- { return values;
- }
- decltype(values) end () const
- { return values + length;
- }
- #endif
+ #if defined(__cplusplus) && __cplusplus >= 201103L
+ decltype(values) begin() const
+ { return values; }
+ decltype(values) end() const
+ { return values + length; }
+ #endif
- } array;
+ } array;
- } u;
+ } u;
- union
- {
- struct _json_value * next_alloc;
- void * object_mem;
+ union {
+ struct _json_value * next_alloc;
+ void * object_mem;
- } _reserved;
+ } _reserved;
- /* Some C++ operator sugar */
+ /* Some C++ operator sugar */
#ifdef __cplusplus
- public:
-
- inline _json_value ()
- { memset (this, 0, sizeof (_json_value));
- }
-
- inline const struct _json_value &operator [] (int index) const
- {
- if (type != json_array || index < 0
- || ((unsigned int) index) >= u.array.length)
- {
- return json_value_none;
- }
-
- return *u.array.values [index];
- }
-
- inline const struct _json_value &operator [] (const char * index) const
- {
- if (type != json_object)
- return json_value_none;
-
- for (unsigned int i = 0; i < u.object.length; ++ i)
- if (!strcmp (u.object.values [i].name, index))
- return *u.object.values [i].value;
-
- return json_value_none;
- }
-
- inline operator const char * () const
- {
- switch (type)
- {
- case json_string:
- return u.string.ptr;
-
- default:
- return "";
- };
- }
-
- inline operator json_int_t () const
- {
- switch (type)
- {
- case json_integer:
- return u.integer;
-
- case json_double:
- return (json_int_t) u.dbl;
-
- default:
- return 0;
- };
- }
-
- inline operator bool () const
- {
- if (type != json_boolean)
- return false;
-
- return u.boolean != 0;
- }
-
- inline operator double () const
- {
- switch (type)
- {
- case json_integer:
- return (double) u.integer;
-
- case json_double:
- return u.dbl;
-
- default:
- return 0;
- };
- }
+public:
+
+ inline _json_value ()
+ {
+ memset(this, 0, sizeof(_json_value));
+ }
+
+ inline const struct _json_value &operator [](int index) const
+ {
+ if (type != json_array || index < 0
+ || ((unsigned int)index) >= u.array.length) {
+ return json_value_none;
+ }
+
+ return *u.array.values [index];
+ }
+
+ inline const struct _json_value &operator [](const char * index) const
+ {
+ if (type != json_object) {
+ return json_value_none;
+ }
+
+ for (unsigned int i = 0; i < u.object.length; ++i) {
+ if (!strcmp(u.object.values [i].name, index)) {
+ return *u.object.values [i].value;
+ }
+ }
+
+ return json_value_none;
+ }
+
+ inline operator const char *() const
+ {
+ switch (type) {
+ case json_string:
+ return u.string.ptr;
+
+ default:
+ return "";
+ }
+ ;
+ }
+
+ inline operator json_int_t() const
+ {
+ switch (type) {
+ case json_integer:
+ return u.integer;
+
+ case json_double:
+ return (json_int_t)u.dbl;
+
+ default:
+ return 0;
+ }
+ ;
+ }
+
+ inline operator bool() const
+ {
+ if (type != json_boolean) {
+ return false;
+ }
+
+ return u.boolean != 0;
+ }
+
+ inline operator double() const
+ {
+ switch (type) {
+ case json_integer:
+ return (double)u.integer;
+
+ case json_double:
+ return u.dbl;
+
+ default:
+ return 0;
+ }
+ ;
+ }
#endif
} json_value;
-json_value * json_parse (const json_char * json,
- size_t length);
+json_value * json_parse(const json_char * json,
+ size_t length);
#define json_error_max 128
-json_value * json_parse_ex (json_settings * settings,
- const json_char * json,
- size_t length,
- char * error);
+json_value * json_parse_ex(json_settings * settings,
+ const json_char * json,
+ size_t length,
+ char * error);
-void json_value_free (json_value *);
+void json_value_free(json_value *);
/* Not usually necessary, unless you used a custom mem_alloc and now want to
* use a custom mem_free.
*/
-void json_value_free_ex (json_settings * settings,
- json_value *);
+void json_value_free_ex(json_settings * settings,
+ json_value *);
#ifdef __cplusplus
- } /* extern "C" */
+} /* extern "C" */
#endif
#endif