fi

parent efc2fb94
...@@ -1101,7 +1101,7 @@ typedef int suck_truncate_f(void *, off_t); ...@@ -1101,7 +1101,7 @@ typedef int suck_truncate_f(void *, off_t);
struct tus_suck { struct tus_suck {
union { union {
struct tus_suck_fd fd; struct tus_suck_fd sfd;
} priv; } priv;
objiterate_f *func; objiterate_f *func;
suck_truncate_f *trunc; suck_truncate_f *trunc;
...@@ -1135,9 +1135,9 @@ tus_suck_finish(struct tus_suck_common *sc, ...@@ -1135,9 +1135,9 @@ tus_suck_finish(struct tus_suck_common *sc,
static int v_matchproto_(objiterate_f) static int v_matchproto_(objiterate_f)
tus_suck_fd_f(void *priv, unsigned flush, const void *ptr, ssize_t len) tus_suck_fd_f(void *priv, unsigned flush, const void *ptr, ssize_t len)
{ {
struct tus_suck_fd *suck_fd; struct tus_suck_fd *sfd;
CAST_OBJ_NOTNULL(suck_fd, priv, TUS_SUCK_FD_MAGIC); CAST_OBJ_NOTNULL(sfd, priv, TUS_SUCK_FD_MAGIC);
// we could use writev(), but unclear if it is worth it // we could use writev(), but unclear if it is worth it
(void) flush; (void) flush;
...@@ -1147,29 +1147,32 @@ tus_suck_fd_f(void *priv, unsigned flush, const void *ptr, ssize_t len) ...@@ -1147,29 +1147,32 @@ tus_suck_fd_f(void *priv, unsigned flush, const void *ptr, ssize_t len)
assert(len > 0); assert(len > 0);
return (tus_suck_finish(&suck_fd->sc, write(suck_fd->fd, ptr, len), return (tus_suck_finish(&sfd->sc, write(sfd->fd, ptr, len),
ptr, len)); ptr, len));
} }
static int static int
tus_suck_fd_truncate_f(void *priv, off_t length) tus_suck_fd_truncate_f(void *priv, off_t length)
{ {
struct tus_suck_fd *suck_fd; struct tus_suck_fd *sfd;
CAST_OBJ_NOTNULL(suck_fd, priv, TUS_SUCK_FD_MAGIC); CAST_OBJ_NOTNULL(sfd, priv, TUS_SUCK_FD_MAGIC);
return (ftruncate(suck_fd->fd, length)); return (ftruncate(sfd->fd, length));
} }
static inline struct tus_suck_common * static inline struct tus_suck_common *
tus_suck_fd_init(struct tus_suck *suck, struct tus_file_core *fcore) tus_suck_fd_init(struct tus_suck *suck, struct tus_file_core *fcore)
{ {
suck->priv.fd.magic = TUS_SUCK_FD_MAGIC; struct tus_suck_fd *sfd;
suck->priv.fd.fd = tus_file_open(fcore);
assert(suck->priv.fd.fd >= 0); sfd = &suck->priv.sfd;
sfd->magic = TUS_SUCK_FD_MAGIC;
sfd->fd = tus_file_open(fcore);
assert(sfd->fd >= 0);
suck->func = tus_suck_fd_f; suck->func = tus_suck_fd_f;
suck->trunc = tus_suck_fd_truncate_f; suck->trunc = tus_suck_fd_truncate_f;
return (&suck->priv.fd.sc); return (&sfd->sc);
} }
/* ------------------------------------------------------------ /* ------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment