mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: use std::string in error_callback
No naked free(). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
71f3189a31
commit
d05e289507
8 changed files with 40 additions and 74 deletions
|
@ -18,35 +18,17 @@ membuffer::membuffer()
|
|||
|
||||
membuffer::~membuffer()
|
||||
{
|
||||
free_buffer(this);
|
||||
}
|
||||
|
||||
/* Only for internal use */
|
||||
static char *detach_buffer(struct membuffer *b)
|
||||
{
|
||||
char *result = b->buffer;
|
||||
b->buffer = NULL;
|
||||
b->len = 0;
|
||||
b->alloc = 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
char *detach_cstring(struct membuffer *b)
|
||||
{
|
||||
mb_cstring(b);
|
||||
return detach_buffer(b);
|
||||
}
|
||||
|
||||
void free_buffer(struct membuffer *b)
|
||||
{
|
||||
free(detach_buffer(b));
|
||||
free(buffer);
|
||||
}
|
||||
|
||||
void flush_buffer(struct membuffer *b, FILE *f)
|
||||
{
|
||||
if (b->len) {
|
||||
fwrite(b->buffer, 1, b->len, f);
|
||||
free_buffer(b);
|
||||
free(b->buffer);
|
||||
b->buffer = NULL;
|
||||
b->len = 0;
|
||||
b->alloc = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue