Skip to content

Commit

Permalink
BINDINGS/C++: Fix possible type error
Browse files Browse the repository at this point in the history
  • Loading branch information
HappySeaFox committed Nov 3, 2023
1 parent b11a20a commit 0307eb2
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 77 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ endif()

# Common configuration file
#
configure_file("${PROJECT_SOURCE_DIR}/src/config.h.in" "${PROJECT_BINARY_DIR}/include/config.h" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}/include/config.h" DESTINATION include/sail/sail-common)
configure_file("${PROJECT_SOURCE_DIR}/src/config.h.in" "${PROJECT_BINARY_DIR}/include/sail-common/config.h" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}/include/sail-common/config.h" DESTINATION include/sail/sail-common)

# Print configuration statistics
#
Expand Down
20 changes: 10 additions & 10 deletions src/bindings/sail-c++/io_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,68 +35,68 @@ io_base::io_base(struct sail_io *sail_io)

int io_base::features() const
{
return d->sail_io->features;
return d->sail_io_wrapper->features;
}

sail_status_t io_base::tolerant_read(void *buf, std::size_t size_to_read, std::size_t *read_size)
{
SAIL_TRY(d->sail_io->tolerant_read(d->sail_io->stream, buf, size_to_read, read_size));
SAIL_TRY(d->sail_io_wrapper->tolerant_read(d->sail_io_wrapper->stream, buf, size_to_read, read_size));

return SAIL_OK;
}

sail_status_t io_base::strict_read(void *buf, std::size_t size_to_read)
{
SAIL_TRY(d->sail_io->strict_read(d->sail_io->stream, buf, size_to_read));
SAIL_TRY(d->sail_io_wrapper->strict_read(d->sail_io_wrapper->stream, buf, size_to_read));

return SAIL_OK;
}

sail_status_t io_base::tolerant_write(const void *buf, std::size_t size_to_write, std::size_t *written_size)
{
SAIL_TRY(d->sail_io->tolerant_write(d->sail_io->stream, buf, size_to_write, written_size));
SAIL_TRY(d->sail_io_wrapper->tolerant_write(d->sail_io_wrapper->stream, buf, size_to_write, written_size));

return SAIL_OK;
}

sail_status_t io_base::strict_write(const void *buf, std::size_t size_to_write)
{
SAIL_TRY(d->sail_io->strict_write(d->sail_io->stream, buf, size_to_write));
SAIL_TRY(d->sail_io_wrapper->strict_write(d->sail_io_wrapper->stream, buf, size_to_write));

return SAIL_OK;
}

sail_status_t io_base::seek(long offset, int whence)
{
SAIL_TRY(d->sail_io->seek(d->sail_io->stream, offset, whence));
SAIL_TRY(d->sail_io_wrapper->seek(d->sail_io_wrapper->stream, offset, whence));

return SAIL_OK;
}

sail_status_t io_base::tell(std::size_t *offset)
{
SAIL_TRY(d->sail_io->tell(d->sail_io->stream, offset));
SAIL_TRY(d->sail_io_wrapper->tell(d->sail_io_wrapper->stream, offset));

return SAIL_OK;
}

sail_status_t io_base::flush()
{
SAIL_TRY(d->sail_io->flush(d->sail_io->stream));
SAIL_TRY(d->sail_io_wrapper->flush(d->sail_io_wrapper->stream));

return SAIL_OK;
}

sail_status_t io_base::close()
{
SAIL_TRY(d->sail_io->close(d->sail_io->stream));
SAIL_TRY(d->sail_io_wrapper->close(d->sail_io_wrapper->stream));

return SAIL_OK;
}

sail_status_t io_base::eof(bool *result)
{
SAIL_TRY(d->sail_io->eof(d->sail_io->stream, result));
SAIL_TRY(d->sail_io_wrapper->eof(d->sail_io_wrapper->stream, result));

return SAIL_OK;
}
Expand Down
4 changes: 2 additions & 2 deletions src/bindings/sail-c++/io_base_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ class SAIL_HIDDEN io_base::pimpl
{
public:
pimpl(struct sail_io *other_sail_io)
: sail_io(other_sail_io, sail_destroy_io)
: sail_io_wrapper(other_sail_io, sail_destroy_io)
{
}
~pimpl()
{
}

std::unique_ptr<struct sail_io, decltype(&sail_destroy_io)> sail_io;
std::unique_ptr<struct sail_io, decltype(&sail_destroy_io)> sail_io_wrapper;
};

}
Expand Down
8 changes: 4 additions & 4 deletions src/bindings/sail-c++/sail-c++.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@

// Universal include
//
#include <sail-common/sail-common.h>

#include <sail-manip/manip_common.h>

#ifdef SAIL_BUILD
#ifdef _MSC_VER
#pragma warning(push)
Expand All @@ -46,8 +50,6 @@
#include <sail-c++/utils_private.h>
#endif

#include <sail-common/sail-common.h>

#include <sail-c++/abstract_io.h>
#include <sail-c++/arbitrary_data.h>
#include <sail-c++/at_scope_exit.h>
Expand Down Expand Up @@ -77,8 +79,6 @@
#include <sail-c++/utils.h>
#include <sail-c++/variant.h>

#include <sail-manip/manip_common.h>

#ifdef SAIL_BUILD
#ifdef _MSC_VER
#pragma warning(pop)
Expand Down
6 changes: 1 addition & 5 deletions src/sail-common/export.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,7 @@
#ifndef SAIL_EXPORT_H
#define SAIL_EXPORT_H

#ifdef SAIL_BUILD
#include "config.h"
#else
#include <sail-common/config.h>
#endif
#include <sail-common/config.h>

#if defined _WIN32 || defined __CYGWIN__
#ifdef SAIL_STATIC
Expand Down
6 changes: 1 addition & 5 deletions src/sail-common/sail-common.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,7 @@

/* Universal sail-common include. */

#ifdef SAIL_BUILD
#include "config.h"
#else
#include <sail-common/config.h>
#endif
#include <sail-common/config.h>

#include <sail-common/common.h>
#include <sail-common/common_serialize.h>
Expand Down
3 changes: 1 addition & 2 deletions src/sail/threading.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
#ifndef SAIL_THREADING_H
#define SAIL_THREADING_H

#include "config.h"

#include <sail-common/config.h>
#include <sail-common/export.h>
#include <sail-common/status.h>

Expand Down
61 changes: 15 additions & 46 deletions tests/bindings/c++/can-load.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,42 +41,14 @@ static MunitResult test_can_load_path(const MunitParameter params[], void *user_
return MUNIT_OK;
}

static MunitResult test_can_load_memory1(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_memory(const MunitParameter params[], void *user_data) {

(void)user_data;

const char *path = munit_parameters_get(params, "path");

void *data;
size_t data_size;
munit_assert(sail_alloc_data_from_file_contents(path, &data, &data_size) == SAIL_OK);

const sail::codec_info codec_info = sail::codec_info::from_path(path);
munit_assert(codec_info.is_valid());

sail::image_input input(data, data_size);
input.with(codec_info);
sail::image image;

munit_assert(input.next_frame(&image) == SAIL_OK);
munit_assert(image.is_valid());

sail_free(data);

return MUNIT_OK;
}

static MunitResult test_can_load_memory2(const MunitParameter params[], void *user_data) {

(void)user_data;

const char *path = munit_parameters_get(params, "path");

void *data;
size_t data_size;
munit_assert(sail_alloc_data_from_file_contents(path, &data, &data_size) == SAIL_OK);

const sail::arbitrary_data arbitrary_data(reinterpret_cast<std::uint8_t *>(data), reinterpret_cast<std::uint8_t *>(data) + data_size);
sail::arbitrary_data arbitrary_data;
munit_assert(sail::read_file_contents(path, &arbitrary_data) == SAIL_OK);

const sail::codec_info codec_info = sail::codec_info::from_path(path);
munit_assert(codec_info.is_valid());
Expand All @@ -88,12 +60,10 @@ static MunitResult test_can_load_memory2(const MunitParameter params[], void *us
munit_assert(input.next_frame(&image) == SAIL_OK);
munit_assert(image.is_valid());

sail_free(data);

return MUNIT_OK;
}

static MunitResult test_can_load_abstract_io_path(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_io_file(const MunitParameter params[], void *user_data) {

(void)user_data;

Expand All @@ -109,7 +79,7 @@ static MunitResult test_can_load_abstract_io_path(const MunitParameter params[],
return MUNIT_OK;
}

static MunitResult test_can_load_abstract_io_memory1(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_io_memory1(const MunitParameter params[], void *user_data) {

(void)user_data;

Expand All @@ -132,7 +102,7 @@ static MunitResult test_can_load_abstract_io_memory1(const MunitParameter params
return MUNIT_OK;
}

static MunitResult test_can_load_abstract_io_memory2(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_io_memory2(const MunitParameter params[], void *user_data) {

(void)user_data;

Expand All @@ -155,7 +125,7 @@ static MunitResult test_can_load_abstract_io_memory2(const MunitParameter params
return MUNIT_OK;
}

static MunitResult test_can_load_abstract_io_memory3(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_io_memory3(const MunitParameter params[], void *user_data) {

(void)user_data;

Expand All @@ -178,7 +148,7 @@ static MunitResult test_can_load_abstract_io_memory3(const MunitParameter params
return MUNIT_OK;
}

static MunitResult test_can_load_abstract_io_memory4(const MunitParameter params[], void *user_data) {
static MunitResult test_can_load_io_memory4(const MunitParameter params[], void *user_data) {

(void)user_data;

Expand Down Expand Up @@ -206,14 +176,13 @@ static MunitParameterEnum test_params[] = {
};

static MunitTest test_suite_tests[] = {
{ (char *)"/can-load-path", test_can_load_path, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-memory1", test_can_load_memory1, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-memory2", test_can_load_memory2, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-abstract-io-path", test_can_load_abstract_io_path, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-abstract-io-memory1", test_can_load_abstract_io_memory1, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-abstract-io-memory2", test_can_load_abstract_io_memory2, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-abstract-io-memory3", test_can_load_abstract_io_memory3, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-abstract-io-memory4", test_can_load_abstract_io_memory4, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-path", test_can_load_path, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-memory", test_can_load_memory, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-io-file", test_can_load_io_file, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-io-memory1", test_can_load_io_memory1, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-io-memory2", test_can_load_io_memory2, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-io-memory3", test_can_load_io_memory3, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },
{ (char *)"/can-load-io-memory4", test_can_load_io_memory4, NULL, NULL, MUNIT_TEST_OPTION_NONE, test_params },

{ NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
};
Expand Down
2 changes: 1 addition & 1 deletion tests/images/test-images.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <stddef.h>

#include "config.h"
#include <sail-common/config.h>

static const char * const SAIL_TEST_IMAGES[] = {
#ifdef SAIL_HAVE_BUILTIN_AVIF
Expand Down

0 comments on commit 0307eb2

Please sign in to comment.