From: erickson Date: Wed, 25 Mar 2009 22:45:48 +0000 (+0000) Subject: hash keys have to be escaped like regular strings X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=9c7a619b9b2d6b63c77fbb580d19929534c71169;p=OpenSRF.git hash keys have to be escaped like regular strings git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_1_0@1683 9efc2488-bf62-4759-914b-345cdb29e865 --- diff --git a/src/libopensrf/osrf_json_object.c b/src/libopensrf/osrf_json_object.c index 335d70e..2c8bfee 100644 --- a/src/libopensrf/osrf_json_object.c +++ b/src/libopensrf/osrf_json_object.c @@ -322,7 +322,12 @@ static void add_json_to_buffer( const jsonObject* obj, growing_buffer * buf ) { while( (item = osrfHashIteratorNext(itr)) ) { if(i++ > 0) OSRF_BUFFER_ADD(buf, ","); - buffer_fadd(buf, "\"%s\":", osrfHashIteratorKey(itr)); + char* data = osrfHashIteratorKey(itr); + int len = strlen(data); + char* output = uescape(data, len, 1); + OSRF_BUFFER_ADD(buf, output); + buffer_fadd(buf, "\"%s\":", output); + free(output); add_json_to_buffer( item, buf ); }