1
0
mirror of https://github.com/facebook/zstd.git synced 2025-08-07 06:23:00 +03:00

updated fuzz tests to use FileNamesTable* abstraction

This commit is contained in:
Yann Collet
2019-11-06 14:42:13 -08:00
parent 31a0abbfda
commit a7e33e3e10
5 changed files with 46 additions and 52 deletions

View File

@@ -173,21 +173,10 @@ void data_buffer_free(data_buffer_t buffer) {
* data filenames helpers.
*/
data_filenames_t data_filenames_get(data_t const* data) {
data_filenames_t filenames = {.buffer = NULL, .size = 0};
char const* path = data->data.path;
filenames.filenames = UTIL_createFileList(
&path,
1,
&filenames.buffer,
&filenames.size,
/* followLinks */ 0);
return filenames;
}
void data_filenames_free(data_filenames_t filenames) {
UTIL_freeFileList(filenames.filenames, filenames.buffer);
FileNamesTable* data_filenames_get(data_t const* data)
{
char const* const path = data->data.path;
return UTIL_createExpandedFNT(&path, 1, 0 /* followLinks */ );
}
/**
@@ -196,26 +185,33 @@ void data_filenames_free(data_filenames_t filenames) {
data_buffers_t data_buffers_get(data_t const* data) {
data_buffers_t buffers = {.size = 0};
data_filenames_t filenames = data_filenames_get(data);
if (filenames.size == 0)
FileNamesTable* const filenames = data_filenames_get(data);
if (filenames == NULL) return buffers;
if (filenames->tableSize == 0) {
UTIL_freeFileNamesTable(filenames);
return buffers;
}
data_buffer_t* buffersPtr =
(data_buffer_t*)malloc(filenames.size * sizeof(data_buffer_t));
if (buffersPtr == NULL)
(data_buffer_t*)malloc(filenames->tableSize * sizeof(*buffersPtr));
if (buffersPtr == NULL) {
UTIL_freeFileNamesTable(filenames);
return buffers;
}
buffers.buffers = (data_buffer_t const*)buffersPtr;
buffers.size = filenames.size;
buffers.size = filenames->tableSize;
for (size_t i = 0; i < filenames.size; ++i) {
buffersPtr[i] = data_buffer_read(filenames.filenames[i]);
for (size_t i = 0; i < filenames->tableSize; ++i) {
buffersPtr[i] = data_buffer_read(filenames->fileNames[i]);
if (buffersPtr[i].data == NULL) {
data_buffers_t const kEmptyBuffer = {};
data_buffers_free(buffers);
UTIL_freeFileNamesTable(filenames);
return kEmptyBuffer;
}
}
UTIL_freeFileNamesTable(filenames);
return buffers;
}

View File

@@ -102,25 +102,6 @@ int data_buffer_compare(data_buffer_t buffer1, data_buffer_t buffer2);
*/
void data_buffer_free(data_buffer_t buffer);
typedef struct {
char* buffer;
char const** filenames;
unsigned size;
} data_filenames_t;
/**
* Get a recursive list of filenames in the data object. If it is a file, it
* will only contain one entry. If it is a directory, it will recursively walk
* the directory.
*
* @returns The list of filenames, which has size 0 and NULL pointers on error.
*/
data_filenames_t data_filenames_get(data_t const* data);
/**
* Frees the filenames table.
*/
void data_filenames_free(data_filenames_t filenames);
typedef struct {
data_buffer_t const* buffers;