diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2012-11-08 22:38:20 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2012-11-08 22:38:20 +0000 |
commit | 8e3b7acdfc96e086f1cd1c606e46d9a91d46a842 (patch) | |
tree | 9eb3d9f56cf4363f80911b4d33c4034022f64ee8 /lib/json_util.c | |
parent | 0688e99d12297b6dda980803d1f1a54bf8590299 (diff) |
It logs in and fetches statuses! \o/ But, some corruption..
Diffstat (limited to 'lib/json_util.c')
-rw-r--r-- | lib/json_util.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/json_util.c b/lib/json_util.c index 67cde749..43e687e3 100644 --- a/lib/json_util.c +++ b/lib/json_util.c @@ -26,7 +26,7 @@ #include "json_util.h" -json_value *json_o_get( json_value *obj, json_char *name ) +json_value *json_o_get( const json_value *obj, const json_char *name ) { int i; @@ -40,12 +40,22 @@ json_value *json_o_get( json_value *obj, json_char *name ) return NULL; } -const char *json_o_str( json_value *obj, json_char *name ) +const char *json_o_str( const json_value *obj, const json_char *name ) { json_value *ret = json_o_get( obj, name ); - if( ret ) + if( ret && ret->type == json_string ) return ret->u.string.ptr; else return NULL; } + +char *json_o_strdup( const json_value *obj, const json_char *name ) +{ + json_value *ret = json_o_get( obj, name ); + + if( ret && ret->type == json_string && ret->u.string.ptr ) + return g_memdup( ret->u.string.ptr, ret->u.string.length + 1 ); + else + return NULL; +} |