pfix-srsd: add a -I option
[apps/pfixtools.git] / common / buffer.c
index 81855fd..59cb74e 100644 (file)
 /*     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                                 */
 /******************************************************************************/
 
 /*
 #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;
     }