Skip to content

Commit

Permalink
Renamed _init_file() to _init_filename()
Browse files Browse the repository at this point in the history
  • Loading branch information
ludocode committed Jan 22, 2017
1 parent df17e83 commit d8f52be
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 24 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -16,6 +16,8 @@ New Features:

- The writer now supports a v4 compatibility mode. Call `mpack_writer_set_version(writer, mpack_version_v4);` to encode without using the `raw8` and `bin` types.

- The stdio helpers now allow reading from a `FILE*`. `_init_file()` functions have been renamed to `_init_filename()`. The old names will continue to work for a few more versions.

Changes:

- The reader's skip function is no longer ignored under `MPACK_OPTIMIZE_FOR_SIZE`.
Expand Down
2 changes: 1 addition & 1 deletion src/mpack/mpack-node.c
Expand Up @@ -970,7 +970,7 @@ void mpack_tree_init_stdfile(mpack_tree_t* tree, FILE* stdfile, size_t max_bytes
fclose(stdfile);
}

void mpack_tree_init_file(mpack_tree_t* tree, const char* filename, size_t max_bytes) {
void mpack_tree_init_filename(mpack_tree_t* tree, const char* filename, size_t max_bytes) {
if (!mpack_tree_file_check_max_bytes(tree, max_bytes))
return;

Expand Down
11 changes: 10 additions & 1 deletion src/mpack/mpack-node.h
Expand Up @@ -241,7 +241,16 @@ void mpack_tree_init_error(mpack_tree_t* tree, mpack_error_t error);
* @param filename The filename passed to fopen() to read the file
* @param max_bytes The maximum size of file to load, or 0 for unlimited size.
*/
void mpack_tree_init_file(mpack_tree_t* tree, const char* filename, size_t max_bytes);
void mpack_tree_init_filename(mpack_tree_t* tree, const char* filename, size_t max_bytes);

/**
* Deprecated.
*
* \deprecated Renamed to mpack_tree_init_filename().
*/
MPACK_INLINE void mpack_tree_init_file(mpack_tree_t* tree, const char* filename, size_t max_bytes) {
return mpack_tree_init_filename(tree, filename, max_bytes);
}

/**
* Initializes a tree to parse the given libc FILE. This can be used to
Expand Down
2 changes: 1 addition & 1 deletion src/mpack/mpack-reader.c
Expand Up @@ -167,7 +167,7 @@ void mpack_reader_init_stdfile(mpack_reader_t* reader, FILE* file, bool close_wh
mpack_file_reader_teardown);
}

void mpack_reader_init_file(mpack_reader_t* reader, const char* filename) {
void mpack_reader_init_filename(mpack_reader_t* reader, const char* filename) {
mpack_assert(filename != NULL, "filename is NULL");

FILE* file = fopen(filename, "rb");
Expand Down
11 changes: 10 additions & 1 deletion src/mpack/mpack-reader.h
Expand Up @@ -194,7 +194,16 @@ void mpack_reader_init_data(mpack_reader_t* reader, const char* data, size_t cou
*
* The file will be automatically opened and closed by the reader.
*/
void mpack_reader_init_file(mpack_reader_t* reader, const char* filename);
void mpack_reader_init_filename(mpack_reader_t* reader, const char* filename);

/**
* Deprecated.
*
* \deprecated Renamed to mpack_reader_init_filename().
*/
MPACK_INLINE void mpack_reader_init_file(mpack_reader_t* reader, const char* filename) {
return mpack_reader_init_filename(reader, filename);
}

/**
* Initializes an MPack reader that reads from a libc FILE. This can be used to
Expand Down
2 changes: 1 addition & 1 deletion src/mpack/mpack-writer.c
Expand Up @@ -284,7 +284,7 @@ void mpack_writer_init_stdfile(mpack_writer_t* writer, FILE* file, bool close_wh
mpack_file_writer_teardown);
}

void mpack_writer_init_file(mpack_writer_t* writer, const char* filename) {
void mpack_writer_init_filename(mpack_writer_t* writer, const char* filename) {
mpack_assert(filename != NULL, "filename is NULL");

FILE* file = fopen(filename, "wb");
Expand Down
11 changes: 10 additions & 1 deletion src/mpack/mpack-writer.h
Expand Up @@ -212,7 +212,16 @@ void mpack_writer_init_error(mpack_writer_t* writer, mpack_error_t error);
* @throws mpack_error_memory if allocation fails
* @throws mpack_error_io if the file cannot be opened
*/
void mpack_writer_init_file(mpack_writer_t* writer, const char* filename);
void mpack_writer_init_filename(mpack_writer_t* writer, const char* filename);

/**
* Deprecated.
*
* \deprecated Renamed to mpack_writer_init_filename().
*/
MPACK_INLINE void mpack_writer_init_file(mpack_writer_t* writer, const char* filename) {
return mpack_writer_init_filename(writer, filename);
}

/**
* Initializes an MPack writer that writes to a libc FILE. This can be used to
Expand Down
36 changes: 18 additions & 18 deletions test/test-file.c
Expand Up @@ -157,19 +157,19 @@ static void test_file_write_failures(void) {

// test invalid filename
(void)mkdir(test_dir, 0700);
mpack_writer_init_file(&writer, test_dir);
mpack_writer_init_filename(&writer, test_dir);
TEST_WRITER_DESTROY_ERROR(&writer, mpack_error_io);

// test close and flush failure
// (if we write more than libc's internal FILE buffer size, fwrite()
// fails, otherwise fclose() fails. we test both here.)

mpack_writer_init_file(&writer, "/dev/full");
mpack_writer_init_filename(&writer, "/dev/full");
mpack_write_cstr(&writer, quick_brown_fox);
TEST_WRITER_DESTROY_ERROR(&writer, mpack_error_io);

int count = UINT16_MAX / 20;
mpack_writer_init_file(&writer, "/dev/full");
mpack_writer_init_filename(&writer, "/dev/full");
mpack_start_array(&writer, (uint32_t)count);
for (int i = 0; i < count; ++i)
mpack_write_cstr(&writer, quick_brown_fox);
Expand All @@ -179,7 +179,7 @@ static void test_file_write_failures(void) {

static void test_file_write(void) {
mpack_writer_t writer;
mpack_writer_init_file(&writer, test_filename);
mpack_writer_init_file(&writer, test_filename); // test the deprecated function
TEST_TRUE(mpack_writer_error(&writer) == mpack_ok, "file open failed with %s",
mpack_error_to_string(mpack_writer_error(&writer)));

Expand Down Expand Up @@ -222,7 +222,7 @@ static bool test_file_write_failure(void) {
// allocator modes.

mpack_writer_t writer;
mpack_writer_init_file(&writer, test_filename);
mpack_writer_init_filename(&writer, test_filename);

mpack_start_array(&writer, 2);
mpack_start_array(&writer, 6);
Expand Down Expand Up @@ -318,7 +318,7 @@ static void test_node_print(void) {

// dump MessagePack to debug file

mpack_tree_init_file(&tree, TEST_PATH "test-file.mp", 0);
mpack_tree_init_filename(&tree, TEST_PATH "test-file.mp", 0);
mpack_tree_parse(&tree);

out = fopen(test_filename, "wb");
Expand All @@ -333,11 +333,11 @@ static void test_node_print(void) {
#if MPACK_READER
static void test_file_discard(void) {
mpack_reader_t reader;
mpack_reader_init_file(&reader, test_filename);
mpack_reader_init_filename(&reader, test_filename);
mpack_discard(&reader);
TEST_READER_DESTROY_NOERROR(&reader);

mpack_reader_init_file(&reader, test_filename);
mpack_reader_init_filename(&reader, test_filename);
reader.skip = NULL; // disable the skip callback to test skipping without it
mpack_discard(&reader);
TEST_READER_DESTROY_NOERROR(&reader);
Expand Down Expand Up @@ -440,14 +440,14 @@ static void test_file_read_contents(mpack_reader_t* reader) {
static void test_file_read_missing(void) {
// test missing file
mpack_reader_t reader;
mpack_reader_init_file(&reader, "invalid-filename");
mpack_reader_init_filename(&reader, "invalid-filename");
TEST_READER_DESTROY_ERROR(&reader, mpack_error_io);
}

static void test_file_read_helper(void) {
// test reading with the default file reader
mpack_reader_t reader;
mpack_reader_init_file(&reader, test_filename);
mpack_reader_init_file(&reader, test_filename); // test the deprecated function
test_file_read_contents(&reader);
TEST_READER_DESTROY_NOERROR(&reader);
}
Expand Down Expand Up @@ -533,7 +533,7 @@ static bool test_file_expect_failure(void) {
} \
} while (0)

mpack_reader_init_file(&reader, test_filename);
mpack_reader_init_filename(&reader, test_filename);
mpack_expect_array_match(&reader, 2);

uint32_t count;
Expand Down Expand Up @@ -595,7 +595,7 @@ static bool test_file_expect_failure(void) {

static void test_file_read_eof(void) {
mpack_reader_t reader;
mpack_reader_init_file(&reader, test_filename);
mpack_reader_init_filename(&reader, test_filename);
TEST_TRUE(mpack_reader_error(&reader) == mpack_ok, "file open failed with %s",
mpack_error_to_string(mpack_reader_error(&reader)));

Expand Down Expand Up @@ -714,27 +714,27 @@ static void test_file_node(void) {
mpack_tree_t tree;

// test maximum size
mpack_tree_init_file(&tree, test_filename, 100);
mpack_tree_init_filename(&tree, test_filename, 100);
TEST_TREE_DESTROY_ERROR(&tree, mpack_error_too_big);

// test blank file
mpack_tree_init_file(&tree, test_blank_filename, 0);
mpack_tree_init_filename(&tree, test_blank_filename, 0);
TEST_TREE_DESTROY_ERROR(&tree, mpack_error_invalid);

// test successful parse from filename
mpack_tree_init_file(&tree, test_filename, 0);
mpack_tree_init_file(&tree, test_filename, 0); // test the deprecated function
test_file_tree_successful_parse(&tree);

// test file size out of bounds
#if MPACK_DEBUG
if (sizeof(size_t) >= sizeof(long)) {
TEST_BREAK((mpack_tree_init_file(&tree, "invalid-filename", ((size_t)LONG_MAX) + 1), true));
TEST_BREAK((mpack_tree_init_filename(&tree, "invalid-filename", ((size_t)LONG_MAX) + 1), true));
TEST_TREE_DESTROY_ERROR(&tree, mpack_error_bug);
}
#endif

// test missing file
mpack_tree_init_file(&tree, "invalid-filename", 0);
mpack_tree_init_filename(&tree, "invalid-filename", 0);
TEST_TREE_DESTROY_ERROR(&tree, mpack_error_io);

// test successful parse from FILE with auto-close
Expand Down Expand Up @@ -768,7 +768,7 @@ static bool test_file_node_failure(void) {
} \
} while (0)

mpack_tree_init_file(&tree, test_filename, 0);
mpack_tree_init_filename(&tree, test_filename, 0);
mpack_tree_parse(&tree);
if (mpack_tree_error(&tree) == mpack_error_memory || mpack_tree_error(&tree) == mpack_error_io) {
mpack_tree_destroy(&tree);
Expand Down

0 comments on commit d8f52be

Please sign in to comment.