Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvmod-tus
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
libvmod-tus
Commits
f59c6eb0
Unverified
Commit
f59c6eb0
authored
May 20, 2022
by
Nils Goroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fi
parent
efc2fb94
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
11 deletions
+14
-11
tus_file.c
src/tus_file.c
+14
-11
No files found.
src/tus_file.c
View file @
f59c6eb0
...
...
@@ -1101,7 +1101,7 @@ typedef int suck_truncate_f(void *, off_t);
struct
tus_suck
{
union
{
struct
tus_suck_fd
fd
;
struct
tus_suck_fd
s
fd
;
}
priv
;
objiterate_f
*
func
;
suck_truncate_f
*
trunc
;
...
...
@@ -1135,9 +1135,9 @@ tus_suck_finish(struct tus_suck_common *sc,
static
int
v_matchproto_
(
objiterate_f
)
tus_suck_fd_f
(
void
*
priv
,
unsigned
flush
,
const
void
*
ptr
,
ssize_t
len
)
{
struct
tus_suck_fd
*
s
uck_
fd
;
struct
tus_suck_fd
*
sfd
;
CAST_OBJ_NOTNULL
(
s
uck_
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
(
void
)
flush
;
...
...
@@ -1147,29 +1147,32 @@ tus_suck_fd_f(void *priv, unsigned flush, const void *ptr, ssize_t len)
assert
(
len
>
0
);
return
(
tus_suck_finish
(
&
s
uck_fd
->
sc
,
write
(
suck_
fd
->
fd
,
ptr
,
len
),
return
(
tus_suck_finish
(
&
s
fd
->
sc
,
write
(
s
fd
->
fd
,
ptr
,
len
),
ptr
,
len
));
}
static
int
tus_suck_fd_truncate_f
(
void
*
priv
,
off_t
length
)
{
struct
tus_suck_fd
*
s
uck_
fd
;
struct
tus_suck_fd
*
sfd
;
CAST_OBJ_NOTNULL
(
s
uck_
fd
,
priv
,
TUS_SUCK_FD_MAGIC
);
CAST_OBJ_NOTNULL
(
sfd
,
priv
,
TUS_SUCK_FD_MAGIC
);
return
(
ftruncate
(
s
uck_
fd
->
fd
,
length
));
return
(
ftruncate
(
sfd
->
fd
,
length
));
}
static
inline
struct
tus_suck_common
*
tus_suck_fd_init
(
struct
tus_suck
*
suck
,
struct
tus_file_core
*
fcore
)
{
suck
->
priv
.
fd
.
magic
=
TUS_SUCK_FD_MAGIC
;
suck
->
priv
.
fd
.
fd
=
tus_file_open
(
fcore
);
assert
(
suck
->
priv
.
fd
.
fd
>=
0
);
struct
tus_suck_fd
*
sfd
;
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
->
trunc
=
tus_suck_fd_truncate_f
;
return
(
&
s
uck
->
priv
.
fd
.
sc
);
return
(
&
s
fd
->
sc
);
}
/* ------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment