+ out_buf_malloced = false;
+ if (cb) {
+ if (in_chunk_size <= stack_max) {
+ out_buf = alloca(in_chunk_size);
+ } else {
+ out_buf = MALLOC(in_chunk_size);
+ if (out_buf == NULL) {
+ ret = WIMLIB_ERR_NOMEM;
+ goto out_close_handle;
+ }
+ out_buf_malloced = true;
+ }
+ } else {