Skip to content

Commit 736a069

Browse files
committed
MSVC fixes
1 parent 516b180 commit 736a069

4 files changed

Lines changed: 20 additions & 10 deletions

File tree

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ install(
104104
FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.h"
105105
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
106106
)
107-
include(InstallRequiredSystemLibraries)
107+
if(CMAKE_HOST_WIN32)
108+
include(InstallRequiredSystemLibraries)
109+
endif()
108110
set(CPACK_BUNDLE_NAME "${PROJECT_NAME}")
109111
set(CPACK_PACKAGE_VENDOR "Samuel Marks")
110112
set(CPACK_PACKAGE_DESCRIPTION "string functions from newer standards / common non-standards for C89")

c89stringutils/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ source_group("Source Files" FILES "${Source_Files}")
3131

3232
add_executable("${EXEC_NAME}" "${Header_Files}" "${Source_Files}")
3333

34-
target_compile_definitions("${EXEC_NAME}" PRIVATE C89STRINGUTILS_TEST_MOCKS)
34+
target_compile_definitions("${EXEC_NAME}" PRIVATE C89STRINGUTILS_TEST_MOCKS C89STRINGUTILS_STATIC_DEFINE)
3535

3636
if (NOT CMAKE_C_COMPILER_ID STREQUAL "OpenWatcom")
3737
target_link_libraries("${EXEC_NAME}" PRIVATE "${PROJECT_NAME}_compiler_flags")

c89stringutils/tests/test.c

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@
33
* @brief Main entry point for greatest tests.
44
*/
55
/* clang-format off */
6+
#if defined(_MSC_VER)
7+
#define _CRT_SECURE_NO_WARNINGS
8+
#endif
69
#include <greatest.h>
710
#include <c89stringutils_log.h>
811
#include <stdlib.h>
912
#include <string.h>
1013
#include <stdio.h>
1114
#include <stdarg.h>
15+
#include "test_string_extras.h"
16+
/* clang-format on */
1217

1318
int g_mock_malloc_fail = 0;
1419
int g_mock_realloc_fail = 0;
@@ -17,12 +22,14 @@ int g_mock_vsnprintf_ret = 0;
1722
int g_mock_strerror_null = 0;
1823

1924
void *mock_malloc(size_t size) {
20-
if (g_mock_malloc_fail) return NULL;
25+
if (g_mock_malloc_fail)
26+
return NULL;
2127
return malloc(size);
2228
}
2329

2430
void *mock_realloc(void *ptr, size_t size) {
25-
if (g_mock_realloc_fail) return NULL;
31+
if (g_mock_realloc_fail)
32+
return NULL;
2633
return realloc(ptr, size);
2734
}
2835

@@ -32,19 +39,19 @@ int g_mock_vsnprintf_ret2 = 0; /* for second call */
3239

3340
int mock_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
3441
g_mock_vsnprintf_call_count++;
35-
if (g_mock_vsnprintf_fail_call == g_mock_vsnprintf_call_count) return g_mock_vsnprintf_ret2;
36-
if (g_mock_vsnprintf_fail) return g_mock_vsnprintf_ret < 0 ? -1 : g_mock_vsnprintf_ret;
42+
if (g_mock_vsnprintf_fail_call == g_mock_vsnprintf_call_count)
43+
return g_mock_vsnprintf_ret2;
44+
if (g_mock_vsnprintf_fail)
45+
return g_mock_vsnprintf_ret < 0 ? -1 : g_mock_vsnprintf_ret;
3746
return vsnprintf(str, size, format, ap);
3847
}
3948

4049
char *mock_strerror(int errnum) {
41-
if (g_mock_strerror_null) return NULL;
50+
if (g_mock_strerror_null)
51+
return NULL;
4252
return strerror(errnum);
4353
}
4454

45-
#include "test_string_extras.h"
46-
/* clang-format on */
47-
4855
/* Add definitions that need to be in the test runner's main file. */
4956
GREATEST_MAIN_DEFS();
5057

c89stringutils/tests/test_string_extras.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ extern int g_mock_strerror_null;
285285

286286
extern int g_mock_vsnprintf_fail_call;
287287
extern int g_mock_vsnprintf_call_count;
288+
extern int g_mock_vsnprintf_ret2;
288289

289290
TEST x_mock_failures(void) {
290291
char *s = NULL;

0 commit comments

Comments
 (0)