X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fbuffer.c;h=59cb74e80ac2f1e081b474f8045a0be8f0f56a5a;hb=HEAD;hp=81855fd9c0a53c2ce1387bf246415d5258313c95;hpb=8977d252fc44ae953df4bde4a2f1c5895beea4e0;p=apps%2Fpfixtools.git diff --git a/common/buffer.c b/common/buffer.c index 81855fd..59cb74e 100644 --- a/common/buffer.c +++ b/common/buffer.c @@ -16,17 +16,20 @@ /* products derived from this software without specific prior written */ /* permission. */ /* */ -/* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND */ -/* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE */ -/* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ -/* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS */ -/* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR */ -/* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF */ -/* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS */ -/* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN */ -/* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) */ -/* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF */ -/* THE POSSIBILITY OF SUCH DAMAGE. */ +/* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS */ +/* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED */ +/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */ +/* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY */ +/* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL */ +/* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS */ +/* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) */ +/* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, */ +/* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */ +/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */ +/* POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/* Copyright (c) 2006-2008 the Authors */ +/* see AUTHORS and source files for details */ /******************************************************************************/ /* @@ -40,16 +43,9 @@ #include "mem.h" #include "buffer.h" -#define BUFSIZ_INCREMENT 256 - -void buffer_resize(buffer_t *buf, ssize_t newsize) -{ - p_allocgrow(&buf->data, newsize + 1, &buf->size); -} - -ssize_t buffer_addvf(buffer_t *buf, const char *fmt, va_list ap) +int buffer_addvf(buffer_t *buf, const char *fmt, va_list ap) { - ssize_t len, avail = buf->size - buf->len; + int len, avail = buf->size - buf->len; va_list ap2; va_copy(ap2, ap); @@ -66,12 +62,12 @@ ssize_t buffer_addvf(buffer_t *buf, const char *fmt, va_list ap) return len; } -void buffer_consume(buffer_t *buf, ssize_t len) +void buffer_consume(buffer_t *buf, int len) { if (len <= 0) return; - if (len >= buf->len) { + if (len >= (int)buf->len) { buffer_reset(buf); return; } @@ -80,9 +76,9 @@ void buffer_consume(buffer_t *buf, ssize_t len) buf->len -= len; } -ssize_t buffer_read(buffer_t *buf, int fd, ssize_t count) +int buffer_read(buffer_t *buf, int fd, int count) { - ssize_t res; + int res; if (count < 0) count = BUFSIZ; @@ -99,9 +95,9 @@ ssize_t buffer_read(buffer_t *buf, int fd, ssize_t count) return res; } -ssize_t buffer_write(buffer_t *buf, int fd) +int buffer_write(buffer_t *buf, int fd) { - ssize_t res = write(fd, buf->data, buf->len); + int res = write(fd, buf->data, buf->len); if (res < 0) { return errno == EINTR || errno == EAGAIN ? 0 : -1; }