From 303680ebcd5adaac2934b63a0edc2d9d1a36d7fb Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 12 Feb 2020 02:22:31 +0100 Subject: Implement a more explicit object system Make every dynamically allocated, opaque data structure inherit from a common sqfs_object_t structure with common entry points (e.g. destroy). This removes tons of public API functions and replaces them with a simple sqfs_destroy instead. If semantics of the (until now implicit) object system need to be extended, it can be much more conveniantely done this way. Signed-off-by: David Oberhollenzer --- lib/common/io_stdin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/common/io_stdin.c') diff --git a/lib/common/io_stdin.c b/lib/common/io_stdin.c index ca6bf49..469e300 100644 --- a/lib/common/io_stdin.c +++ b/lib/common/io_stdin.c @@ -21,7 +21,7 @@ typedef struct { } sqfs_file_stdinout_t; -static void stdinout_destroy(sqfs_file_t *base) +static void stdinout_destroy(sqfs_object_t *base) { free(base); } @@ -159,7 +159,7 @@ sqfs_file_t *sqfs_get_stdin_file(FILE *fp, const sparse_map_t *map, file->map = map; file->fp = fp; - base->destroy = stdinout_destroy; + ((sqfs_object_t *)base)->destroy = stdinout_destroy; base->write_at = stdin_write_at; base->get_size = stdinout_get_size; base->truncate = stdinout_truncate; -- cgit v1.2.3