diff options
| author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-02-12 02:22:31 +0100 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-02-12 02:26:24 +0100 | 
| commit | 303680ebcd5adaac2934b63a0edc2d9d1a36d7fb (patch) | |
| tree | bd2012dc6fa56f7259dbe2e5edd7ab3042f8e0a0 /tar | |
| parent | ec7a522a520017327dd73b4d8e3787016ee1a31e (diff) | |
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 <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tar')
| -rw-r--r-- | tar/sqfs2tar.c | 12 | ||||
| -rw-r--r-- | tar/tar2sqfs.c | 2 | 
2 files changed, 7 insertions, 7 deletions
| diff --git a/tar/sqfs2tar.c b/tar/sqfs2tar.c index 2fb30cb..5a786dd 100644 --- a/tar/sqfs2tar.c +++ b/tar/sqfs2tar.c @@ -688,17 +688,17 @@ out_tree:  		sqfs_dir_tree_destroy(root);  out_xr:  	if (xr != NULL) -		sqfs_xattr_reader_destroy(xr); +		sqfs_destroy(xr);  out_dr: -	sqfs_dir_reader_destroy(dr); +	sqfs_destroy(dr);  out_data: -	sqfs_data_reader_destroy(data); +	sqfs_destroy(data);  out_id: -	sqfs_id_table_destroy(idtbl); +	sqfs_destroy(idtbl);  out_cmp: -	cmp->destroy(cmp); +	sqfs_destroy(cmp);  out_fd: -	file->destroy(file); +	sqfs_destroy(file);  out_dirs:  	for (i = 0; i < num_subdirs; ++i)  		free(subdirs[i]); diff --git a/tar/tar2sqfs.c b/tar/tar2sqfs.c index 856a1f4..51987fe 100644 --- a/tar/tar2sqfs.c +++ b/tar/tar2sqfs.c @@ -303,7 +303,7 @@ static int write_file(tar_header_decoded_t *hdr, file_info_t *fi,  		flags |= SQFS_BLK_DONT_FRAGMENT;  	ret = write_data_from_file(hdr->name, sqfs.data, inode, file, 0); -	file->destroy(file); +	sqfs_destroy(file);  	if (ret)  		return -1; | 
