Compare commits

...

2 Commits

Author SHA1 Message Date
577f99cca6 Reorder function declarations in minitar.h 2022-11-30 11:20:36 +01:00
28d1eab1c1 Remove character and block devices from supported entry types
Closes #1.
2022-11-30 11:20:13 +01:00
4 changed files with 5 additions and 11 deletions

View File

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.8..3.22)
project(minitar LANGUAGES C VERSION 1.1.0)
project(minitar LANGUAGES C VERSION 1.2.0)
set(SOURCES
src/tar.c

View File

@ -119,13 +119,9 @@ This enum lists all supported file types:
`MTAR_REGULAR`: Regular files
`MTAR_BLKDEV`: Block special devices
`MTAR_CHRDEV`: Character special devices
`MTAR_DIRECTORY`: Directories
Other file types supported in tar archives, such as FIFOs or symlinks, are not supported and minitar will throw an error when encountering one of them.
Other file types supported in tar archives, such as block/character devices, FIFOs, or symlinks, are not supported and minitar will throw an error when encountering one of them.
### minitar_entry_metadata
`struct minitar_entry_metadata`

View File

@ -15,8 +15,6 @@ struct minitar;
enum minitar_file_type
{
MTAR_REGULAR,
MTAR_CHRDEV,
MTAR_BLKDEV,
MTAR_DIRECTORY
};
@ -52,8 +50,8 @@ extern "C"
struct minitar_entry* minitar_find_by_name(struct minitar* mp, const char* name);
struct minitar_entry* minitar_find_by_path(struct minitar* mp, const char* path);
struct minitar_entry* minitar_find_any_of(struct minitar* mp, enum minitar_file_type type);
int minitar_close(struct minitar* mp);
size_t minitar_read_contents(struct minitar* mp, struct minitar_entry* entry, char* buf, size_t max);
int minitar_close(struct minitar* mp);
#ifdef __cplusplus
}

View File

@ -126,8 +126,8 @@ void minitar_parse_metadata_from_tar_header(const struct tar_header* hdr, struct
case '0': metadata->type = MTAR_REGULAR; break;
case '1': minitar_panic("Links to other files within a tar archive are unsupported");
case '2': minitar_panic("Symbolic links are unsupported");
case '3': metadata->type = MTAR_CHRDEV; break;
case '4': metadata->type = MTAR_BLKDEV; break;
case '3': minitar_panic("Character devices are unsupported");
case '4': minitar_panic("Block devices are unsupported");
case '5': metadata->type = MTAR_DIRECTORY; break;
case '6': minitar_panic("FIFOs are unsupported");
default: minitar_panic("Unknown entry type in tar header");