summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_load_tar.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-10-20 10:01:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-11-02 13:34:22 +0100
commit51d596281c86461373462e2cdd187a03786b9ff4 (patch)
treeefaf6e9c5fbc5d44409951803ad85435e2ffae99 /cpukit/libfs/src/imfs/imfs_load_tar.c
parentcpukit/libfs/dosfs: Use enum values for enum init (diff)
downloadrtems-51d596281c86461373462e2cdd187a03786b9ff4.tar.bz2
imfs: Constify rtems_tarfs_load()
Change the public image data type to a void pointer.
Diffstat (limited to '')
-rw-r--r--cpukit/libfs/src/imfs/imfs_load_tar.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_load_tar.c b/cpukit/libfs/src/imfs/imfs_load_tar.c
index ec651d820a..18c5366b56 100644
--- a/cpukit/libfs/src/imfs/imfs_load_tar.c
+++ b/cpukit/libfs/src/imfs/imfs_load_tar.c
@@ -45,7 +45,7 @@
int rtems_tarfs_load(
const char *mountpoint,
- uint8_t *tar_image,
+ const void *tar_image,
size_t tar_size
)
{
@@ -57,6 +57,7 @@ int rtems_tarfs_load(
size_t len;
Untar_HeaderContext ctx;
unsigned long ptr;
+ const uint8_t *image;
len = strlen( mountpoint );
if ( len >= sizeof( buf ) - UNTAR_FILE_NAME_SIZE - 2 ) {
@@ -82,11 +83,12 @@ int rtems_tarfs_load(
}
ptr = 0;
+ image = tar_image;
while ( ptr + 512 <= tar_size ) {
int retval;
- retval = Untar_ProcessHeader( &ctx, (const char *) &tar_image[ ptr ] );
+ retval = Untar_ProcessHeader( &ctx, (const char *) &image[ ptr ] );
if ( retval != UNTAR_SUCCESSFUL ) {
return -1;
}
@@ -97,7 +99,7 @@ int rtems_tarfs_load(
retval = IMFS_make_linearfile(
ctx.file_path,
ctx.mode,
- &tar_image[ ptr ],
+ &image[ ptr ],
ctx.file_size
);
if ( retval != 0 ) {