Rev 16 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16 | Rev 26 | ||
---|---|---|---|
Line 338... | Line 338... | ||
338 | reallocated_ptr = realloc (buffer->bytes, write_index + data_size + sizeof (size_t)); // always null-terminate buffers, but never report the null terminator |
338 | reallocated_ptr = realloc (buffer->bytes, write_index + data_size + sizeof (size_t)); // always null-terminate buffers, but never report the null terminator |
339 | if (reallocated_ptr == NULL) |
339 | if (reallocated_ptr == NULL) |
340 | return (0); // on failure, return an error value (errno already set to ENOMEM) |
340 | return (0); // on failure, return an error value (errno already set to ENOMEM) |
341 | 341 | ||
342 | buffer->bytes = reallocated_ptr; // save pointer to reallocated data |
342 | buffer->bytes = reallocated_ptr; // save pointer to reallocated data |
- | 343 | if (write_index > buffer->size) |
|
343 | memset (&buffer->bytes[buffer->size], 0, write_index - buffer->size); // buffer was upsized: fill the upsized part with zeroes up to write_index |
344 | memset (&buffer->bytes[buffer->size], 0, write_index - buffer->size); // buffer was upsized: fill the upsized part with zeroes up to write_index |
344 | } |
345 | } |
345 | 346 | ||
346 | if (data_size > 0) |
347 | if (data_size > 0) |
347 | memcpy (&buffer->bytes[write_index], data, data_size); // write data in place |
348 | memcpy (&buffer->bytes[write_index], data, data_size); // write data in place |
348 | 349 |