| 187 | #define NODE(_OFFSET) ((void*)((uint8_t*)(*nodeBuffer) + _OFFSET)) |
| 188 | |
| 189 | void PiuTextBufferAppend(xsMachine *the, PiuTextBuffer* buffer, void* data, size_t size) |
| 190 | { |
| 191 | size_t available = (*buffer)->available; |
| 192 | size_t former = (*buffer)->current; |
| 193 | size_t current = former + size; |
| 194 | if (current > available) { |
| 195 | void* chunk; |
| 196 | available += size; |
| 197 | chunk = fxRenewChunk(the, *buffer, (xsIntegerValue)available); |
| 198 | if (!chunk) { |
| 199 | chunk = fxNewChunk(the, (xsIntegerValue)available); |
| 200 | c_memcpy(chunk, *buffer, former); |
| 201 | *buffer = chunk; |
| 202 | } |
| 203 | (*buffer)->available = available; |
| 204 | } |
| 205 | c_memcpy(((uint8_t*)(*buffer)) + former, data, size); |
| 206 | (*buffer)->current = current; |
| 207 | } |
| 208 | |
| 209 | void PiuTextBufferClear(xsMachine* the, PiuTextBuffer* buffer) |
| 210 | { |
no test coverage detected