forked from Imagelibrary/rtems
The problem exists for both RTEMS untar implementations and their variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load(). If filesystem object already exists at extracted directory path then if it is directory, creation is ignored. Attempt to delete/unlink object and make directory is tried for other cases. This simple approach problem reported in ticket fixes #2413. Behavior follows GNU tar and BSD tar practice for directories but much more work is required to achieve full semantics of the full featured tar implementation still.
#
#
# untar information
#
# Author: Jake Janovetz 7.6.1999
#
untar.c contains two procedures for extracting files from a UNIX
tar file:
int Untar_FromMemory(unsigned char *tar_buf, unsigned long size);
int Untar_FromFile(char *tar_name);
Untar_FromMemory(...) takes its input from a chunk of allocated memory.
This is particularly useful when the tar is stored in Flash memory or
comes from the FTP daemon by way of a hook.
Untar_FromFile(...) is identical except the source is from an existing
file. The fully qualified filename is passed through char *tar_name.
BUGS: Please email janovetz@uiuc.edu
-----