diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-12-04 21:12:06 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2022-03-30 22:31:30 +0200 |
commit | bb526954f24b2be5c574810a72395461cadd2d0c (patch) | |
tree | 297ed4b856dd47dae636e0ebd16671841ef810e4 | |
parent | adc4ee5ad033485a558bd219120e5231e7f9008f (diff) |
Fix: unit test and sample program Windows build
Now that there is a wrapper for main() on Windows, all executable
programs must use a common, cannonical signature for main().
Furthermore, the Windows version of the epoch test needs wrappers
for setenv/unsetenv.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | tests/libfstree/Makemodule.am | 1 | ||||
-rw-r--r-- | tests/libfstree/epoch.c | 21 | ||||
-rw-r--r-- | tests/libfstree/sort_file.c | 3 |
3 files changed, 23 insertions, 2 deletions
diff --git a/tests/libfstree/Makemodule.am b/tests/libfstree/Makemodule.am index c7ecdd5..594ef7e 100644 --- a/tests/libfstree/Makemodule.am +++ b/tests/libfstree/Makemodule.am @@ -60,6 +60,7 @@ test_filename_sane_w32_LDADD = libcompat.a test_fstree_epoch_SOURCES = tests/libfstree/epoch.c test_fstree_epoch_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/lib/fstree test_fstree_epoch_SOURCES += lib/fstree/source_date_epoch.c +test_fstree_epoch_LDADD = libcompat.a test_sort_file_SOURCES = tests/libfstree/sort_file.c test_sort_file_LDADD = libfstree.a libfstream.a libcompat.a diff --git a/tests/libfstree/epoch.c b/tests/libfstree/epoch.c index e36cd5b..354a33f 100644 --- a/tests/libfstree/epoch.c +++ b/tests/libfstree/epoch.c @@ -8,9 +8,28 @@ #include "internal.h" #include "../test.h" -int main(void) +#if defined(_WIN32) || defined(__WINDOWS__) +static void setenv(const char *key, const char *value, int overwrite) +{ + char buffer[128]; + (void)overwrite; + + snprintf(buffer, sizeof(buffer) - 1, "%s=%s", key, value); + buffer[sizeof(buffer) - 1] = '\0'; + + _putenv(buffer); +} + +static void unsetenv(const char *key) +{ + setenv(key, "", 0); +} +#endif + +int main(int argc, char **argv) { sqfs_u32 ts; + (void)argc; (void)argv; unsetenv("SOURCE_DATE_EPOCH"); ts = get_source_date_epoch(); diff --git a/tests/libfstree/sort_file.c b/tests/libfstree/sort_file.c index 39e4f23..686ee68 100644 --- a/tests/libfstree/sort_file.c +++ b/tests/libfstree/sort_file.c @@ -147,11 +147,12 @@ static istream_t memstream = { /*****************************************************************************/ -int main(void) +int main(int argc, char **argv) { file_info_t *fi; fstree_t fs; size_t i; + (void)argc; (void)argv; input_file = listing; memstream.buffer_used = 0; |