Check-in [9be377fef1]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
SHA1 Hash:9be377fef1ba390d64100c1ad5ebf1bb8b328317
Date: 2012-07-03 21:30:17
User: stephan
Comment:minor cleanups made possible by newer cson APIs.
Tags And Properties
Changes

Changes to src/json.c

987 ** 987 ** 988 ** The returned value is owned by the caller. If not NULL then it 988 ** The returned value is owned by the caller. If not NULL then it 989 ** _will_ have a JSON type of Array. 989 ** _will_ have a JSON type of Array. 990 */ 990 */ 991 cson_value * json_string_split2( char const * zStr, 991 cson_value * json_string_split2( char const * zStr, 992 char separator, 992 char separator, 993 char doDeHttp ){ 993 char doDeHttp ){ 994 cson_value * v = cson_value_new_array(); < 995 cson_array * a = cson_value_get_array(v); | 994 cson_array * a = cson_new_array(); 996 int rc = json_string_split( zStr, separator, doDeHttp, a ); 995 int rc = json_string_split( zStr, separator, doDeHttp, a ); 997 if( 0 == rc ){ | 996 if( 0>=rc ){ 998 cson_value_free(v); < > 997 cson_free_array(a); 999 v = NULL; | 998 a = NULL; 1000 }else if(rc<0){ < 1001 cson_value_free(v); < 1002 v = NULL; < 1003 } 999 } 1004 return v; < > 1000 return a ? cson_array_value(a) : NULL; 1005 } 1001 } 1006 1002 1007 1003 1008 /* 1004 /* 1009 ** Performs some common initialization of JSON-related state. Must be 1005 ** Performs some common initialization of JSON-related state. Must be 1010 ** called by the json_page_top() and json_cmd_top() dispatching 1006 ** called by the json_page_top() and json_cmd_top() dispatching 1011 ** functions to set up the JSON stat used by the dispatched functions. 1007 ** functions to set up the JSON stat used by the dispatched functions. ................................................................................................................................................................................ 1827 } 1823 } 1828 1824 1829 /* 1825 /* 1830 ** Impl of /json/resultCodes 1826 ** Impl of /json/resultCodes 1831 ** 1827 ** 1832 */ 1828 */ 1833 cson_value * json_page_resultCodes(){ 1829 cson_value * json_page_resultCodes(){ 1834 cson_value * listV = cson_value_new_array(); < 1835 cson_array * list = cson_value_get_array(listV); | 1830 cson_array * list = cson_new_array(); 1836 cson_value * objV = NULL; < 1837 cson_object * obj = NULL; 1831 cson_object * obj = NULL; 1838 cson_string * kRC; 1832 cson_string * kRC; 1839 cson_string * kSymbol; 1833 cson_string * kSymbol; 1840 cson_string * kNumber; 1834 cson_string * kNumber; 1841 cson_string * kDesc; 1835 cson_string * kDesc; 1842 cson_array_reserve( list, 35 ); 1836 cson_array_reserve( list, 35 ); 1843 kRC = cson_new_string("resultCode",10); 1837 kRC = cson_new_string("resultCode",10); 1844 kSymbol = cson_new_string("cSymbol",7); 1838 kSymbol = cson_new_string("cSymbol",7); 1845 kNumber = cson_new_string("number",6); 1839 kNumber = cson_new_string("number",6); 1846 kDesc = cson_new_string("description",11); 1840 kDesc = cson_new_string("description",11); 1847 #define C(K) objV = cson_value_new_object(); obj = cson_value_get_object(objV); | 1841 #define C(K) obj = cson_new_object(); \ 1848 cson_object_set_s(obj, kRC, json_new_string(json_rc_cstr(FSL_JSON_E_##K)) ); 1842 cson_object_set_s(obj, kRC, json_new_string(json_rc_cstr(FSL_JSON_E_##K)) ); 1849 cson_object_set_s(obj, kSymbol, json_new_string("FSL_JSON_E_"#K) ); 1843 cson_object_set_s(obj, kSymbol, json_new_string("FSL_JSON_E_"#K) ); 1850 cson_object_set_s(obj, kNumber, cson_value_new_integer(FSL_JSON_E_##K) ); 1844 cson_object_set_s(obj, kNumber, cson_value_new_integer(FSL_JSON_E_##K) ); 1851 cson_object_set_s(obj, kDesc, json_new_string(json_err_cstr(FSL_JSON_E_##K)) 1845 cson_object_set_s(obj, kDesc, json_new_string(json_err_cstr(FSL_JSON_E_##K)) 1852 cson_array_append( list, objV ); obj = NULL; objV = NULL | 1846 cson_array_append( list, cson_object_value(obj) ); obj = NULL; 1853 1847 1854 C(GENERIC); 1848 C(GENERIC); 1855 C(INVALID_REQUEST); 1849 C(INVALID_REQUEST); 1856 C(UNKNOWN_COMMAND); 1850 C(UNKNOWN_COMMAND); 1857 C(UNKNOWN); 1851 C(UNKNOWN); 1858 C(TIMEOUT); 1852 C(TIMEOUT); 1859 C(ASSERT); 1853 C(ASSERT); ................................................................................................................................................................................ 1886 C(STMT_BIND); 1880 C(STMT_BIND); 1887 C(STMT_EXEC); 1881 C(STMT_EXEC); 1888 C(DB_LOCKED); 1882 C(DB_LOCKED); 1889 C(DB_NEEDS_REBUILD); 1883 C(DB_NEEDS_REBUILD); 1890 C(DB_NOT_FOUND); 1884 C(DB_NOT_FOUND); 1891 C(DB_NOT_VALID); 1885 C(DB_NOT_VALID); 1892 #undef C 1886 #undef C 1893 return listV; | 1887 return cson_array_value(list); 1894 } 1888 } 1895 1889 1896 1890 1897 /* 1891 /* 1898 ** /json/version implementation. 1892 ** /json/version implementation. 1899 ** 1893 ** 1900 ** Returns the payload object (owned by the caller). 1894 ** Returns the payload object (owned by the caller).