projects
/
apps
/
pfixtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch srsd to the server structure.
[apps/pfixtools.git]
/
buffer.c
diff --git
a/buffer.c
b/buffer.c
index
847f202
..
81855fd
100644
(file)
--- a/
buffer.c
+++ b/
buffer.c
@@
-49,21
+49,18
@@
void buffer_resize(buffer_t *buf, ssize_t newsize)
ssize_t buffer_addvf(buffer_t *buf, const char *fmt, va_list ap)
{
ssize_t buffer_addvf(buffer_t *buf, const char *fmt, va_list ap)
{
- ssize_t pos;
- int len, available;
+ ssize_t len, avail = buf->size - buf->len;
va_list ap2;
va_copy(ap2, ap);
va_list ap2;
va_copy(ap2, ap);
- pos = buf->len;
- available = buf->size - pos;
-
- len = vsnprintf(buf->data + pos, available, fmt, ap);
- if (len >= available) {
+ len = vsnprintf(buf->data + buf->len, avail, fmt, ap);
+ if (len >= avail) {
buffer_resize(buf, buf->len + len);
buffer_resize(buf, buf->len + len);
- len = vsnprintf(buf->data + pos, available, fmt, ap2);
+ avail = buf->size - buf->len;
+ len = vsnprintf(buf->data + buf->len, avail, fmt, ap2);
}
}
- buf->len
= pos +
len;
+ buf->len
+=
len;
buf->data[buf->len] = '\0';
va_end(ap2);
return len;
buf->data[buf->len] = '\0';
va_end(ap2);
return len;