| 9 * adds cxBufferMaximumCapacity() |
9 * adds cxBufferMaximumCapacity() |
| 10 * adds cxBufferAppendString() |
10 * adds cxBufferAppendString() |
| 11 * adds CX_BUFFER_DO_NOT_FREE buffer flag |
11 * adds CX_BUFFER_DO_NOT_FREE buffer flag |
| 12 * changes cxBufferReserve() to allow reducing the capacity |
12 * changes cxBufferReserve() to allow reducing the capacity |
| 13 * changes cxBufferTerminate() to automatically shrink the buffer |
13 * changes cxBufferTerminate() to automatically shrink the buffer |
| 14 * changes cxBufferTerminate() so that position and size are equal after successful operation |
14 * changes cxBufferTerminate() so that position and size are equal a after successful operation |
| 15 * changes cxBufferPutString() to accept any kind of string that cx_strcast() supports |
15 * changes cxBufferPutString() to accept any kind of string that cx_strcast() supports |
| 16 * changes the members of CxJson and CxJsonValue |
16 * changes the members of CxJson and CxJsonValue |
| 17 * changes the return value of cxJsonObjIter() to CxMapIterator |
17 * changes the return value of cxJsonObjIter() to CxMapIterator |
| 18 * changes CxTree structure so that it now inherits CX_COLLECTION_BASE |
18 * changes CxTree structure so that it now inherits CX_COLLECTION_BASE |
| 19 * changes cxPropertiesLoad() to directly load properties from a file to a CxMap |
19 * changes cxPropertiesLoad() to directly load properties from a file to a CxMap |
| 20 * changes cxFreeDefault() from a macro to a function so that it can be used as a simple destructor |
20 * changes cxFreeDefault() from a macro to a function so that it can be used as a simple destructor |
| 21 * fixes cxJsonWrite() incorrectly returning non-zero when strings needed to be escaped |
21 * fixes cxJsonWrite() incorrectly returning non-zero when strings needed to be escaped |
| 22 * fixes cxJsonNext() incorrectly returning CX_JSON_INCOMPLETE_DATA when the input ends with trailing spaces |
22 * fixes cxJsonNext() incorrectly returning CX_JSON_INCOMPLETE_DATA when the input ends with trailing spaces |
| 23 * fixes critical memory leak when using cxMapFree() on a kv-list that is using destructors |
23 * fixes critical memory leak when using cxMapFree() on a kv-list that is using destructors |
| 24 * fixes critical use-after-free with keys stored in k/v-lists |
24 * fixes critical use-after-free with keys stored in kv-lists |
| 25 * fixes that overwriting items with cxMapPut() in a kv-list did not work |
25 * fixes that overwriting items with cxMapPut() in a kv-list did not work |
| 26 * fixes that cxReallocate(), cxReallocateArray(), cx_reallocate(), and cx_reallocatearray() |
26 * fixes that cxReallocate(), cxReallocateArray(), cx_reallocate(), and cx_reallocatearray() |
| 27 were not returning zero after freeing the memory when passed a size of zero |
27 were not returning zero after freeing the memory when passed a size of zero |
| 28 * removes the CX_STR() macro and instead makes the cx_str() inlinable |
28 * removes the CX_STR() macro and instead makes the cx_str() inlinable |
| 29 * removes the sort_members feature from CxJsonWriter |
29 * removes the sort_members feature from CxJsonWriter |