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 /tests/libfstree/epoch.c | |
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>
Diffstat (limited to 'tests/libfstree/epoch.c')
-rw-r--r-- | tests/libfstree/epoch.c | 21 |
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(); |