aboutsummaryrefslogtreecommitdiffstats
path: root/core.c
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2016-05-24 00:00:45 +0100
committerFreeArtMan <dos21h@gmail.com>2016-05-24 00:00:45 +0100
commit60f08b0a4676943651bc7b66cb8531325b1c6132 (patch)
tree5cea9737ea510f579cefa6a4712bf8caf0577da7 /core.c
parentcb141140579d796ae5cafe6da52b4f0b87be6a84 (diff)
downloadihe-60f08b0a4676943651bc7b66cb8531325b1c6132.tar.gz
ihe-60f08b0a4676943651bc7b66cb8531325b1c6132.zip
Added resize c
Diffstat (limited to 'core.c')
-rw-r--r--core.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/core.c b/core.c
index 90f8fd9..7de3085 100644
--- a/core.c
+++ b/core.c
@@ -216,6 +216,32 @@ int file_size( file_t *ft )
}
+int file_resize( file_t *ft, size_t size )
+{
+ int ret = 0;
+ off_t cur_pos;
+ off_t cur_size;
+ off_t resize;
+ uint8_t *buf;
+
+ cur_pos = fd_pos( ft->fd );
+ cur_size = fd_size( ft->fd );
+ if (cur_size < 0)
+ {
+ return -1;
+ }
+ buf = malloc( size );
+ memset( buf, 0, size );
+ fd_seek( ft->fd, cur_size, FD_SEEK_SET );
+ resize = fd_write( ft->fd, buf, size );
+ fd_seek( ft->fd, cur_pos, FD_SEEK_SET );
+
+ ret = resize;
+
+ return ret;
+}
+
+
int file_open( file_t *ft, const char *filename, int flags, int mode )
{
int ret = 0;