diff --git a/json_object.c b/json_object.c index cad3137..2b9bef7 100644 --- a/json_object.c +++ b/json_object.c @@ -161,11 +161,13 @@ static int json_escape_str(struct printbuf *pb, const char *str, int len) extern struct json_object* json_object_get(struct json_object *jso) { if (!jso) return jso; + #if defined __GNUC__ __sync_add_and_fetch(&jso->_ref_count, 1); #else ++jso->_ref_count; #endif + return jso; }