Classes | |
| struct | ZipEntryInfo |
Functions | |
| uint16_t | read_u16_le (std::ifstream &f) |
| uint32_t | read_u32_le (std::ifstream &f) |
| bool | read_exact (std::ifstream &f, char *buf, std::size_t len) |
| std::string | read_string (std::ifstream &f, std::size_t len) |
| bool | contains_dotdot_path (const std::string &name) |
| bool | is_absolute_or_weird_path (const std::string &name) |
| bool | looks_like_nested_archive_name (const std::string &name) |
| void | print_json_bool (const char *key, bool value, bool comma=true) |
| void | print_json_int (const char *key, int value, bool comma=true) |
| void | print_json_str (const char *key, const std::string &value, bool comma=true) |
| bool | find_eocd (std::ifstream &f, std::uint64_t file_size, std::uint64_t &eocd_offset) |
| bool | parse_zip64_extra (const std::vector< unsigned char > &extra, bool uncomp_is_sentinel, bool comp_is_sentinel, bool offset_is_sentinel, std::uint64_t *out_uncomp, std::uint64_t *out_comp, std::uint64_t *out_offset) |
| bool | read_local_entry (std::ifstream &f, std::uint64_t file_size, std::uint64_t local_offset, uint16_t &method, uint32_t &compressed_size, uint32_t &uncompressed_size, uint16_t &gp_flags_out, std::string &filename, std::uint64_t &data_offset, std::uint64_t &data_end, std::uint64_t &zip64_comp_size, std::uint64_t &zip64_uncomp_size, bool &has_zip64_extra) |
Variables | |
| constexpr uint32_t | SIG_LOCAL_FILE_HEADER = 0x04034b50 |
| constexpr uint32_t | SIG_CENTRAL_DIR_HEADER = 0x02014b50 |
| constexpr uint32_t | SIG_END_OF_CENTRAL_DIR = 0x06054b50 |
| bool anonymous_namespace{archive_worker.cpp}::contains_dotdot_path | ( | const std::string & | name | ) |
Definition at line 82 of file archive_worker.cpp.
References contains_dotdot_path().
Referenced by contains_dotdot_path(), and main().
| bool anonymous_namespace{archive_worker.cpp}::find_eocd | ( | std::ifstream & | f, |
| std::uint64_t | file_size, | ||
| std::uint64_t & | eocd_offset ) |
Definition at line 147 of file archive_worker.cpp.
References find_eocd(), and SIG_END_OF_CENTRAL_DIR.
Referenced by find_eocd(), and main().
| bool anonymous_namespace{archive_worker.cpp}::is_absolute_or_weird_path | ( | const std::string & | name | ) |
Definition at line 91 of file archive_worker.cpp.
References is_absolute_or_weird_path().
Referenced by is_absolute_or_weird_path(), and main().
| bool anonymous_namespace{archive_worker.cpp}::looks_like_nested_archive_name | ( | const std::string & | name | ) |
Definition at line 104 of file archive_worker.cpp.
References looks_like_nested_archive_name().
Referenced by looks_like_nested_archive_name(), and main().
| bool anonymous_namespace{archive_worker.cpp}::parse_zip64_extra | ( | const std::vector< unsigned char > & | extra, |
| bool | uncomp_is_sentinel, | ||
| bool | comp_is_sentinel, | ||
| bool | offset_is_sentinel, | ||
| std::uint64_t * | out_uncomp, | ||
| std::uint64_t * | out_comp, | ||
| std::uint64_t * | out_offset ) |
Definition at line 186 of file archive_worker.cpp.
References parse_zip64_extra().
Referenced by main(), parse_zip64_extra(), and read_local_entry().
| void anonymous_namespace{archive_worker.cpp}::print_json_bool | ( | const char * | key, |
| bool | value, | ||
| bool | comma = true ) |
Definition at line 119 of file archive_worker.cpp.
References print_json_bool().
Referenced by main(), and print_json_bool().
| void anonymous_namespace{archive_worker.cpp}::print_json_int | ( | const char * | key, |
| int | value, | ||
| bool | comma = true ) |
Definition at line 126 of file archive_worker.cpp.
References print_json_int().
Referenced by main(), and print_json_int().
| void anonymous_namespace{archive_worker.cpp}::print_json_str | ( | const char * | key, |
| const std::string & | value, | ||
| bool | comma = true ) |
Definition at line 133 of file archive_worker.cpp.
References print_json_str().
Referenced by main(), and print_json_str().
| bool anonymous_namespace{archive_worker.cpp}::read_exact | ( | std::ifstream & | f, |
| char * | buf, | ||
| std::size_t | len ) |
Definition at line 65 of file archive_worker.cpp.
References read_exact().
Referenced by read_exact().
| bool anonymous_namespace{archive_worker.cpp}::read_local_entry | ( | std::ifstream & | f, |
| std::uint64_t | file_size, | ||
| std::uint64_t | local_offset, | ||
| uint16_t & | method, | ||
| uint32_t & | compressed_size, | ||
| uint32_t & | uncompressed_size, | ||
| uint16_t & | gp_flags_out, | ||
| std::string & | filename, | ||
| std::uint64_t & | data_offset, | ||
| std::uint64_t & | data_end, | ||
| std::uint64_t & | zip64_comp_size, | ||
| std::uint64_t & | zip64_uncomp_size, | ||
| bool & | has_zip64_extra ) |
Definition at line 233 of file archive_worker.cpp.
References parse_zip64_extra(), read_local_entry(), read_string(), read_u16_le(), read_u32_le(), and SIG_LOCAL_FILE_HEADER.
Referenced by main(), and read_local_entry().
| std::string anonymous_namespace{archive_worker.cpp}::read_string | ( | std::ifstream & | f, |
| std::size_t | len ) |
Definition at line 70 of file archive_worker.cpp.
References read_string().
Referenced by main(), read_local_entry(), and read_string().
| uint16_t anonymous_namespace{archive_worker.cpp}::read_u16_le | ( | std::ifstream & | f | ) |
Definition at line 48 of file archive_worker.cpp.
References read_u16_le().
Referenced by main(), read_local_entry(), and read_u16_le().
| uint32_t anonymous_namespace{archive_worker.cpp}::read_u32_le | ( | std::ifstream & | f | ) |
Definition at line 54 of file archive_worker.cpp.
References read_u32_le().
Referenced by main(), read_local_entry(), and read_u32_le().
|
constexpr |
Definition at line 45 of file archive_worker.cpp.
Referenced by main().
|
constexpr |
Definition at line 46 of file archive_worker.cpp.
Referenced by find_eocd(), and main().
|
constexpr |
Definition at line 44 of file archive_worker.cpp.
Referenced by main(), and read_local_entry().