From 98ac5a562ad6f347bcde307d56466b2668251908 Mon Sep 17 00:00:00 2001 From: HansHoogerwerf Date: Mon, 17 Oct 2022 15:46:40 +0200 Subject: Verify the linux OS supports nanoseconds Add extra check to verify the linux OS supports nanoseconds. This might not be the case with certain busybox implementations. --- include/functions | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/include/functions b/include/functions index 5b211707..db4c7ef8 100644 --- a/include/functions +++ b/include/functions @@ -2562,15 +2562,17 @@ GetTimestamp() { ts=0 - case "${OS}" in - "Linux") - ts=$(date "+%s%N") - ;; - *) - ts=$(date "+%s") - ;; - esac - echo $ts + # Detect if the implementation of date supports nanoseconds, + if [ "${OS}" = "Linux" ]; then + current_nanoseconds=$(date "+%N") + # Verify if the result of the command is a number + if [ -n "$current_nanoseconds" ] && [ "$current_nanoseconds" -eq "$current_nanoseconds" ] 2>/dev/null; then + ts=$(date "+%s%N") + else + ts=$(date "+%s") + fi + fi + echo $ts } Register() { -- cgit v1.2.3