ELF>@G@@UHH H}HuUMHEHǸUHH@H}HuHUHMLEH}HMHUHuHEIHE}yE]H}tSHEؾHu>HEHHEHEHHUHEUHSH|HpHEHEHEE|~&HpHHHuEHHHEHHHEHHHEH}uH}uH}uHMHEHHtHMHEغHHtHMHEкHHtHMHEHHttHMHEغHHttHMHEкHHttHUHEHHtHUHEHHtHUHEHHtHEHHHEHHHtHEHHHEؾHHHtHEHHHEоHHHtHEHHMHEHHttHEHHEHHHEHHHEHHHEHHEHHEHHEHdummy usHEEerdafEtaEHUHEȹHHUHEHHEHMHEHHtHMHEHHtHEHHEH}uHEHHEHEHtHEHHEHEHtHEH}t HEH3HEHHEHHEHHĈ[]UHH0H}HEE@BHEHEE(HEHHHEHEHEE;E|пHE)‰Љ‹EƿHEHEE0HMHEغHHHEHHEEE;E|ȿHE)‰Љ‹Eƿ{ "glossary": { "title": "example glossary", "GlossDiv": { "number": 16446744073709551615, "title": "S", "null_obj": null, "exixt": false, "quantity":20, "univalent":19.8, "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "markup" } } } }}{"menu": { "header": "SVG Viewer", "items": [ {"id": "Open"}, {"id": "OpenNew", "label": "Open New"}, null, {"id": "ZoomIn", "label": "Zoom In"}, {"id": "ZoomOut", "label": "Zoom Out"}, {"id": "OriginalView", "label": "Original View"}, null, {"id": "Quality", "another_null": null}, {"id": "Pause"}, {"id": "Mute"}, null, {"id": "Find", "label": "Find..."}, {"id": "FindAgain", "label": "Find Again"}, {"id": "Copy"}, {"id": "CopyAgain", "label": "Copy Again"}, {"id": "CopySVG", "label": "Copy SVG"}, {"id": "ViewSVG", "label": "View SVG"}, {"id": "ViewSource", "label": "View Source"}, {"id": "SaveAs", "label": "Save As"}, null, {"id": "Help"}, {"id": "About", "label": "About Adobe CVG Viewer..."} ]}}{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] }}}OTHERwith_serializerCALLED: my_shallow_copy on with_serializer object--benchmark/root/anjali/json-c-0.15/tests/test_deep_copy.csrc1 != ((void *)0)src2 != ((void *)0)src3 != ((void *)0)PASSED - loaded input data0 == json_object_deep_copy(src1, &dst1, ((void *)0))0 == json_object_deep_copy(src2, &dst2, ((void *)0))0 == json_object_deep_copy(src3, &dst3, ((void *)0))PASSED - all json_object_deep_copy() returned succesful-1 == json_object_deep_copy(src1, &dst1, ((void *)0))(*__errno_location ()) == 22-1 == json_object_deep_copy(src2, &dst2, ((void *)0))-1 == json_object_deep_copy(src3, &dst3, ((void *)0))PASSED - all json_object_deep_copy() returned EINVAL for non-null pointer1 == json_object_equal(src1, dst1)1 == json_object_equal(src2, dst2)1 == json_object_equal(src3, dst3)PASSED - all json_object_equal() tests returned succesful0 == strcmp(json_object_to_json_string_ext(src1, (1 << 1)), json_object_to_json_string_ext(dst1, (1 << 1)))0 == strcmp(json_object_to_json_string_ext(src2, (1 << 1)), json_object_to_json_string_ext(dst2, (1 << 1)))0 == strcmp(json_object_to_json_string_ext(src3, (1 << 1)), json_object_to_json_string_ext(dst3, (1 << 1)))PASSED - comparison of string outputPASSED - trying to overrwrite an object that has refcount > 1 Printing JSON objects for visual inspection------------------------------------------------ JSON1 JSON2 JSON3 Testing deep_copy with a custom serializer setnotemitted0 == json_object_deep_copy(src1, &dst1, my_shallow_copy)dest_with_serializer != ((void *)0)dummy userdatastrcmp(dst_userdata, "dummy userdata") == 0strcmp(special_output, "OTHER") == 0 deep_copy with custom serializer worked OK.BENCHMARK - %d iterations of 'dst2 = json_tokener_parse(json_object_get_string(src2))' took %d seconds BENCHMARK - %d iterations of 'json_object_deep_copy(src2, &dst2, NULL)' took %d seconds main ?int-Kw/ & buf( )F *F  YF3g jsoYh pbY`YF\YFX `F src`X`P key`H`4@ dstarccFl>j` qFqF~q~sPsHs@tttuF\ ~΄ёp+pHXiiFlFh` / L % $ > : ; I$ >   I&I<  : ;  : ; I8 : ; I8 .?: ; 'I@B : ; I: ; I4: ; I 4: ; I4I4I!I/ .: ; '@B,  /root/anjali/json-c-0.15/tests/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/usr/include/bits/usr/include/root/anjali/json-c-0.15test_deep_copy.cstddef.htypes.htime.hjson_types.hprintbuf.h YYY3"gYtLv=1uvw//0tttttt444柟KKtJJhY uuJ׃u~Jlong long intsize_t/root/anjali/json-c-0.15/tests/test_deep_copy.cdst2do_benchmarkudatadst1userdatadst3dest_with_serializermy_shallow_copybpos__PRETTY_FUNCTION__sizestartparentshort unsigned intmy_custom_serializeriterationslong intdst_userdata__time_tunsigned charwith_serializerlong unsigned intmain/root/anjali/json-c-0.15/testsprintbufspecial_outputunsigned intflagslong long unsigned inttime_targcsizetypelevelcharindexshort intbenchmarkargvGNU C 4.8.5 20150623 (Red Hat 4.8.5-44) -mtune=generic -march=x86-64 -gjson_objectsrc1src2src3signed charjson_str1json_str2json_str3GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44)zRx 3AC n <AC   \AC H  AC  &0YI{   V3ku3.@_otest_deep_copy.cjson_str1json_str2json_str3__PRETTY_FUNCTION__.3571do_benchmarkmy_custom_serializersprintbufmy_shallow_copyjson_c_shallow_copy_defaultstrcmpputsjson_object_get_userdatajson_object_set_serializermainjson_tokener_parse__assert_failjson_object_deep_copy__errno_locationjson_object_equaljson_object_to_json_string_extjson_object_getjson_object_putprintfjson_object_new_stringjson_object_object_addjson_object_object_getjson_object_to_json_stringtimejson_object_get_string (j   + 3EMX`k s Y    Y  4 Y  H \ Y   x.7 YA F Kcl Yv {    Y  X  Y    Y    , Y6 ;  @Xb Yl q  v{ Y       Y  p   Y    $ Y. 3  8=  BS!g!r{ Y  ( !! Y   !!  Y $  ). x 3?"Wa Yk p X uz Y   #  $     A !     H !#(  -2  7< O AF  K\!di  nz### X   %  &" Y, 1 X 6C NW Ya f  kt |' Y      Y  (  Y  @! h&2#P#\#h#))*#)  $ )H T #r )  $H   G) 0 5 B 0P W ^ ~e Jl s x       / / f   K Y h r3   b B . = ;K @Y Eg ]v E k  Y   W p  o, J2{I @W Er   V ` j  @3`{.symtab.strtab.shstrtab.rela.text.rela.data.bss.rodata.rela.debug_info.debug_abbrev.rela.debug_aranges.rela.debug_line.debug_str.comment.note.GNU-stack.rela.eh_frame @ @h*+ &@?H1 6 ^CN>@?Ob80]@E0 vhq@F 0!t0#.##@(F`X$ `(F