Create a new function Buf_Peel that returns the string from inside
a Buffer and frees the Buffer.
This commit is contained in:
parent
336c393fc0
commit
3509f4d713
@ -135,6 +135,25 @@ Buf_GetAll(Buffer *bp, size_t *len)
|
||||
return (bp->buf);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the contents of a buffer and destroy the buffer. If the buffer
|
||||
* is NULL, return NULL.
|
||||
*
|
||||
* Returns:
|
||||
* the pointer to the data.
|
||||
*/
|
||||
char *
|
||||
Buf_Peel(Buffer *bp)
|
||||
{
|
||||
char *ret;
|
||||
|
||||
if (bp == NULL)
|
||||
return (NULL);
|
||||
ret = bp->buf;
|
||||
free(bp);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize a buffer. If no initial size is given, a reasonable
|
||||
* default is used.
|
||||
|
@ -82,6 +82,7 @@ size_t Buf_Size(const Buffer *);
|
||||
Buffer *Buf_Init(size_t);
|
||||
void Buf_Destroy(Buffer *, Boolean);
|
||||
void Buf_ReplaceLastByte(Buffer *, Byte);
|
||||
char *Buf_Peel(Buffer *);
|
||||
|
||||
void Buf_Append(Buffer *, const char []);
|
||||
void Buf_AppendRange(Buffer *, const char [], const char *);
|
||||
|
Loading…
Reference in New Issue
Block a user