From 279e7cbfea34aa384633d724df2c90225ea47062 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Thu, 10 Apr 2014 20:12:25 +0100 Subject: [PATCH] util: added sbuf_read() to allow reading from FD straight into sbuf --- src/tvheadend.h | 2 ++ src/utils.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/tvheadend.h b/src/tvheadend.h index de534328..858c10c9 100644 --- a/src/tvheadend.h +++ b/src/tvheadend.h @@ -620,6 +620,8 @@ void sbuf_put_be16(sbuf_t *sb, uint16_t u16); void sbuf_put_byte(sbuf_t *sb, uint8_t u8); +ssize_t sbuf_read(sbuf_t *sb, int fd); + char *md5sum ( const char *str ); int makedirs ( const char *path, int mode ); diff --git a/src/utils.c b/src/utils.c index 69f51c28..7861b57a 100644 --- a/src/utils.c +++ b/src/utils.c @@ -364,6 +364,15 @@ sbuf_cut(sbuf_t *sb, int off) memmove(sb->sb_data, sb->sb_data + off, sb->sb_ptr); } +ssize_t +sbuf_read(sbuf_t *sb, int fd) +{ + ssize_t n = read(fd, sb->sb_data + sb->sb_ptr, sb->sb_size - sb->sb_ptr); + if (n > 0) + sb->sb_ptr += n; + return n; +} + char * md5sum ( const char *str ) {