aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/3002-stdio-implement-fopencookie-3.patch
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2017-11-16 05:50:10 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2017-11-16 05:50:10 +0000
commitbf0205104ba520e7d2fea17704a1cc131551c3d3 (patch)
tree6f3d03abbe0934703f431ac4b3d287bde7b3037b /main/musl/3002-stdio-implement-fopencookie-3.patch
parentaffa8e396bcfc542aae2c8cedf19d08588dbc507 (diff)
downloadaports-bf0205104ba520e7d2fea17704a1cc131551c3d3.tar.bz2
aports-bf0205104ba520e7d2fea17704a1cc131551c3d3.tar.xz
main/musl: add GNU typedefs for fopencookie hook functions
Diffstat (limited to 'main/musl/3002-stdio-implement-fopencookie-3.patch')
-rw-r--r--main/musl/3002-stdio-implement-fopencookie-3.patch30
1 files changed, 19 insertions, 11 deletions
diff --git a/main/musl/3002-stdio-implement-fopencookie-3.patch b/main/musl/3002-stdio-implement-fopencookie-3.patch
index 0c5eb63878..4b863e9095 100644
--- a/main/musl/3002-stdio-implement-fopencookie-3.patch
+++ b/main/musl/3002-stdio-implement-fopencookie-3.patch
@@ -1,7 +1,7 @@
-From b0949ba08f7b896593eaf27023a16a0f26c9ed14 Mon Sep 17 00:00:00 2001
+From 1f6d9870ebc905990d230a3887d2e91a9edfde93 Mon Sep 17 00:00:00 2001
From: William Pitcock <nenolod@dereferenced.org>
Date: Sun, 24 Sep 2017 16:37:48 -0500
-Subject: [PATCH 30/30] stdio: implement fopencookie(3)
+Subject: [PATCH] stdio: implement fopencookie(3)
The fopencookie(3) function allows the programmer to create a custom
stdio implementation, using four hook functions which operate on a
@@ -9,6 +9,9 @@ stdio implementation, using four hook functions which operate on a
Changelog:
+v7:
+- include GNU typedefs for cookie i/o functions
+
v6:
- remove pointer arithmetic instead using a structure to contain the parent FILE
object
@@ -34,25 +37,30 @@ v2:
v1:
- initial proof of concept
---
- include/stdio.h | 9 ++++
+ include/stdio.h | 14 +++++
src/stdio/fopencookie.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 150 insertions(+)
+ 2 files changed, 155 insertions(+)
create mode 100644 src/stdio/fopencookie.c
diff --git a/include/stdio.h b/include/stdio.h
-index 884d2e6a..da0563f6 100644
+index 884d2e6a..2932c76f 100644
--- a/include/stdio.h
+++ b/include/stdio.h
-@@ -182,6 +182,15 @@ int vasprintf(char **, const char *, __isoc_va_list);
+@@ -182,6 +182,20 @@ int vasprintf(char **, const char *, __isoc_va_list);
#ifdef _GNU_SOURCE
char *fgets_unlocked(char *, int, FILE *);
int fputs_unlocked(const char *, FILE *);
+
++typedef ssize_t (cookie_read_function_t)(void *, char *, size_t);
++typedef ssize_t (cookie_write_function_t)(void *, const char *, size_t);
++typedef int (cookie_seek_function_t)(void *, off_t *, int);
++typedef int (cookie_close_function_t)(void *);
++
+typedef struct {
-+ ssize_t (*read)(void *, char *, size_t);
-+ ssize_t (*write)(void *, const char *, size_t);
-+ int (*seek)(void *, off_t *, int);
-+ int (*close)(void *);
++ cookie_read_function_t *read;
++ cookie_write_function_t *write;
++ cookie_seek_function_t *seek;
++ cookie_close_function_t *close;
+} cookie_io_functions_t;
+
+FILE *fopencookie(void *, const char *, cookie_io_functions_t);
@@ -207,5 +215,5 @@ index 00000000..bcf42c10
+ return __ofl_add(&f->f);
+}
--
-2.13.3
+2.15.0