update
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@354 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
parent
4e3bfaa971
commit
0ebf02ae82
|
@ -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
|
#endif
|
||||||
/* For Emacs:
|
/* 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;
|
actual_freespace = buffer->datalen - buffer->actually_used;
|
||||||
|
if (actual_freespace < datalen && (!buffer->max_len || (buffer->datalen + datalen <= buffer->max_len))) {
|
||||||
if (actual_freespace < datalen) {
|
|
||||||
memmove(buffer->data, buffer->head, buffer->used);
|
memmove(buffer->data, buffer->head, buffer->used);
|
||||||
buffer->head = buffer->data;
|
buffer->head = buffer->data;
|
||||||
buffer->actually_used = buffer->used;
|
buffer->actually_used = buffer->used;
|
||||||
|
@ -246,6 +245,18 @@ void zap_buffer_zero(zap_buffer_t *buffer)
|
||||||
buffer->head = buffer->data;
|
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)
|
void zap_buffer_destroy(zap_buffer_t **buffer)
|
||||||
{
|
{
|
||||||
if (*buffer) {
|
if (*buffer) {
|
||||||
|
|
Loading…
Reference in New Issue