1
|
1
|
From: Stephane Glondu <steph@glondu.net>
|
2
|
2
|
Date: Thu, 8 Aug 2024 18:47:05 +0200
|
3
|
|
-Subject: Fix conversion to pointer in C stubs
|
|
3
|
+Subject: Fix type of offset arguments to splice
|
4
|
4
|
|
5
|
5
|
Bug-Debian: https://bugs.debian.org/1078218
|
6
|
6
|
---
|
7
|
|
- src/splice.c | 2 +-
|
8
|
|
- 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
7
|
+ src/extUnix.pp.ml | 2 +-
|
|
8
|
+ src/splice.c | 2 +-
|
|
9
|
+ 2 files changed, 2 insertions(+), 2 deletions(-)
|
9
|
10
|
|
|
11
|
+diff --git a/src/extUnix.pp.ml b/src/extUnix.pp.ml
|
|
12
|
+index 8726c35..8894c4f 100644
|
|
13
|
+--- a/src/extUnix.pp.ml
|
|
14
|
++++ b/src/extUnix.pp.ml
|
|
15
|
+@@ -2213,7 +2213,7 @@ type splice_flag =
|
|
16
|
+ block, because there are no writers connected to the write end of the pipe
|
|
17
|
+ referred to by fd_in.
|
|
18
|
+ *)
|
|
19
|
+-external splice : Unix.file_descr -> int option -> Unix.file_descr -> int option -> int -> splice_flag list -> int = "caml_extunix_splice_bytecode" "caml_extunix_splice"
|
|
20
|
++external splice : Unix.file_descr -> int64 option -> Unix.file_descr -> int64 option -> int -> splice_flag list -> int = "caml_extunix_splice_bytecode" "caml_extunix_splice"
|
|
21
|
+ ]
|
|
22
|
+
|
|
23
|
+ [%%have TEE
|
10
|
24
|
diff --git a/src/splice.c b/src/splice.c
|
11
|
|
-index 5fb9b6d..a960be8 100644
|
|
25
|
+index 5fb9b6d..2aa73bc 100644
|
12
|
26
|
--- a/src/splice.c
|
13
|
27
|
+++ b/src/splice.c
|
14
|
28
|
@@ -17,7 +17,7 @@ static int splice_flags[] =
|
... |
... |
@@ -16,7 +30,7 @@ index 5fb9b6d..a960be8 100644 |
16
|
30
|
static loff_t* get_offset(value v_off)
|
17
|
31
|
{
|
18
|
32
|
- return (Is_long(v_off) ? NULL : &(Field(v_off, 0)));
|
19
|
|
-+ return (Is_long(v_off) ? NULL : Ptr_val(Field(v_off, 0)));
|
|
33
|
++ return (Is_long(v_off) ? NULL : &Int64_val(Field(v_off, 0)));
|
20
|
34
|
}
|
21
|
35
|
|
22
|
36
|
CAMLprim value caml_extunix_splice(value v_fd_in, value v_off_in, value v_fd_out, value v_off_out, value v_len, value v_flags) |