update
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@354 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
parent
06a88cb0e5
commit
4a61a74272
|
@ -124,6 +124,7 @@ void zap_buffer_destroy(zap_buffer_t **buffer);
|
|||
|
||||
/** @} */
|
||||
|
||||
zap_size_t zap_buffer_zwrite(zap_buffer_t *buffer, const void *data, zap_size_t datalen);
|
||||
|
||||
#endif
|
||||
/* For Emacs:
|
||||
|
|
|
@ -187,8 +187,7 @@ zap_size_t zap_buffer_write(zap_buffer_t *buffer, const void *data, zap_size_t d
|
|||
}
|
||||
|
||||
actual_freespace = buffer->datalen - buffer->actually_used;
|
||||
|
||||
if (actual_freespace < datalen) {
|
||||
if (actual_freespace < datalen && (!buffer->max_len || (buffer->datalen + datalen <= buffer->max_len))) {
|
||||
memmove(buffer->data, buffer->head, buffer->used);
|
||||
buffer->head = buffer->data;
|
||||
buffer->actually_used = buffer->used;
|
||||
|
@ -246,6 +245,18 @@ void zap_buffer_zero(zap_buffer_t *buffer)
|
|||
buffer->head = buffer->data;
|
||||
}
|
||||
|
||||
zap_size_t zap_buffer_zwrite(zap_buffer_t *buffer, const void *data, zap_size_t datalen)
|
||||
{
|
||||
zap_size_t w;
|
||||
|
||||
if (!(w = zap_buffer_write(buffer, data, datalen))) {
|
||||
zap_buffer_zero(buffer);
|
||||
return zap_buffer_write(buffer, data, datalen);
|
||||
}
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
void zap_buffer_destroy(zap_buffer_t **buffer)
|
||||
{
|
||||
if (*buffer) {
|
||||
|
|
Loading…
Reference in New Issue