- if (storage->used >= storage->size/2) {
- phpstr *avail = phpstr_left(storage, storage->size/2);
- *chunk = estrndup(PHPSTR_VAL(avail), PHPSTR_LEN(avail));
- phpstr_free(&avail);
- phpstr_cut(storage, 0, storage->size/2);
- return storage->size/2;
+ if (storage->used >= (chunk_size = storage->size >> 1)) {
+ *chunk = estrndup(storage->data, chunk_size);
+ phpstr_cut(storage, 0, chunk_size);
+ return chunk_size;