summaryrefslogtreecommitdiff
path: root/tests/libfstree/epoch.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-12-04 21:12:06 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2022-03-30 22:31:30 +0200
commitbb526954f24b2be5c574810a72395461cadd2d0c (patch)
tree297ed4b856dd47dae636e0ebd16671841ef810e4 /tests/libfstree/epoch.c
parentadc4ee5ad033485a558bd219120e5231e7f9008f (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>
Diffstat (limited to 'tests/libfstree/epoch.c')
-rw-r--r--tests/libfstree/epoch.c21
1 files changed, 20 insertions, 1 deletions
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();