diff options
Diffstat (limited to 'tools/imagetool.c')
-rw-r--r-- | tools/imagetool.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/imagetool.c b/tools/imagetool.c index 08d191d9f8..855a096d0a 100644 --- a/tools/imagetool.c +++ b/tools/imagetool.c @@ -115,3 +115,23 @@ int imagetool_get_filesize(struct image_tool_params *params, const char *fname) return sbuf.st_size; } + +time_t imagetool_get_source_date( + struct image_tool_params *params, + time_t fallback) +{ + char *source_date_epoch = getenv("SOURCE_DATE_EPOCH"); + + if (source_date_epoch == NULL) + return fallback; + + time_t time = (time_t) strtol(source_date_epoch, NULL, 10); + + if (gmtime(&time) == NULL) { + fprintf(stderr, "%s: SOURCE_DATE_EPOCH is not valid\n", + params->cmdname); + time = 0; + } + + return time; +} |