| 36 * adds cxBufferMaximumCapacity() |
36 * adds cxBufferMaximumCapacity() |
| 37 * adds cxBufferAppendString() |
37 * adds cxBufferAppendString() |
| 38 * adds CX_BUFFER_DO_NOT_FREE buffer flag |
38 * adds CX_BUFFER_DO_NOT_FREE buffer flag |
| 39 * changes cxBufferReserve() to allow reducing the capacity |
39 * changes cxBufferReserve() to allow reducing the capacity |
| 40 * changes cxBufferTerminate() to automatically shrink the buffer |
40 * changes cxBufferTerminate() to automatically shrink the buffer |
| 41 * changes cxBufferTerminate() so that position and size are equal after successful operation |
41 * changes cxBufferTerminate() so that position and size are equal after a successful operation |
| 42 * changes cxBufferPutString() to accept any kind of string that cx_strcast() supports |
42 * changes cxBufferPutString() to accept any kind of string that cx_strcast() supports |
| 43 * changes the members of CxJson and CxJsonValue |
43 * changes the members of CxJson and CxJsonValue |
| 44 * changes the return value of cxJsonObjIter() to CxMapIterator |
44 * changes the return value of cxJsonObjIter() to CxMapIterator |
| 45 * changes CxTree structure so that it now inherits CX_COLLECTION_BASE |
45 * changes CxTree structure so that it now inherits CX_COLLECTION_BASE |
| 46 * changes cxPropertiesLoad() to directly load properties from a file to a CxMap |
46 * changes cxPropertiesLoad() to directly load properties from a file to a CxMap |
| 47 * changes cxFreeDefault() from a macro to a function so that it can be used as a simple destructor |
47 * changes cxFreeDefault() from a macro to a function so that it can be used as a simple destructor |
| 48 * fixes cxJsonWrite() incorrectly returning non-zero when strings needed to be escaped |
48 * fixes cxJsonWrite() incorrectly returning non-zero when strings needed to be escaped |
| 49 * fixes cxJsonNext() incorrectly returning CX_JSON_INCOMPLETE_DATA when the input ends with trailing spaces |
49 * fixes cxJsonNext() incorrectly returning CX_JSON_INCOMPLETE_DATA when the input ends with trailing spaces |
| 50 * fixes critical memory leak when using cxMapFree() on a kv-list that is using destructors |
50 * fixes critical memory leak when using cxMapFree() on a kv-list that is using destructors |
| 51 * fixes critical use-after-free with keys stored in k/v-lists |
51 * fixes critical use-after-free with keys stored in kv-lists |
| 52 * fixes that overwriting items with cxMapPut() in a kv-list did not work |
52 * fixes that overwriting items with cxMapPut() in a kv-list did not work |
| 53 * fixes that cxReallocate(), cxReallocateArray(), cx_reallocate(), and cx_reallocatearray() |
53 * fixes that cxReallocate(), cxReallocateArray(), cx_reallocate(), and cx_reallocatearray() |
| 54 were not returning zero after freeing the memory when passed a size of zero |
54 were not returning zero after freeing the memory when passed a size of zero |
| 55 * removes the CX_STR() macro and instead makes the cx_str() inlinable |
55 * removes the CX_STR() macro and instead makes the cx_str() inlinable |
| 56 * removes the sort_members feature from CxJsonWriter |
56 * removes the sort_members feature from CxJsonWriter |