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 ) {