Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/SoftEtherVPN/libhamcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Beatrici <git@davidebeatrici.dev>2021-03-10 03:56:55 +0300
committerDavide Beatrici <git@davidebeatrici.dev>2021-03-10 03:56:55 +0300
commit8b0b250f2cb9bdeef9730c432c002acd8e6f614f (patch)
tree354cfaa6d2b3850d38c8e6e7b861c560e6b4da2a
parentc798511e419ededd0cbe34a09f2aaca5111d9576 (diff)
Fix errors and warnings reported by MSVC, explicitly set C99
-rwxr-xr-xCMakeLists.txt8
-rwxr-xr-xFileSystem.c2
-rw-r--r--Hamcore.c2
-rw-r--r--Memory.c6
4 files changed, 14 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d508b1a..7c80405 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.11)
project(libhamcore LANGUAGES C)
+set(CMAKE_C_STANDARD 99)
+
include(TestBigEndian)
add_library(libhamcore STATIC)
@@ -11,6 +13,12 @@ if(BIG_ENDIAN)
target_compile_definitions(libhamcore PRIVATE "BYTE_ORDER_BIG_ENDIAN")
endif()
+if(MSVC)
+ # Suppress "warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.".
+ # fopen_s() is part of C11, but we want to stick with C99 for increased portability.
+ target_compile_definitions(libhamcore PRIVATE "_CRT_SECURE_NO_WARNINGS")
+endif()
+
target_include_directories(libhamcore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_sources(libhamcore
diff --git a/FileSystem.c b/FileSystem.c
index cb64fe5..b0eda22 100755
--- a/FileSystem.c
+++ b/FileSystem.c
@@ -51,7 +51,7 @@ bool FileSeek(FILE *file, const size_t offset)
return false;
}
- return fseek(file, offset, SEEK_SET) == 0;
+ return fseek(file, (long)offset, SEEK_SET) == 0;
}
size_t FileSize(const char *path)
diff --git a/Hamcore.c b/Hamcore.c
index 229129e..3475312 100644
--- a/Hamcore.c
+++ b/Hamcore.c
@@ -245,7 +245,7 @@ bool HamcoreBuild(const char *dst_path, const char *base_path, const char **src_
const size_t prev_size = buffer_size;
buffer_size = wanted_size;
buffer = realloc(buffer, buffer_size);
- memset(buffer + prev_size, 0, buffer_size - prev_size);
+ memset((uint8_t *)buffer + prev_size, 0, buffer_size - prev_size);
}
file->Size = buffer_size;
diff --git a/Memory.c b/Memory.c
index 661d729..237efb9 100644
--- a/Memory.c
+++ b/Memory.c
@@ -21,6 +21,8 @@ void WriteAndSeek(void **dst, const void *src, const size_t size)
return;
}
- memcpy(*dst, src, size);
- *dst += size;
+ uint8_t **buf = (uint8_t **)dst;
+
+ memcpy(*buf, src, size);
+ *buf += size;
}