summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-03-12 09:46:31 +0100
committerGitHub <noreply@github.com>2021-03-12 09:46:31 +0100
commit3231edb779f96a8e3217727ecfcb38b1acbfc0c0 (patch)
tree22ca38e3a8bdbf78f423a54b9ad05ae2bc2aa7ff
parent02ae0afe634a683417ff310cdcb13f45a2dca424 (diff)
parent1e820b3d9db58b6d72ad3ba227cd5e401893c72a (diff)
Merge pull request #46926 from unsignedFoo/46188/fix-get-unix-from-datetime-empty-dict
[46188] fix: get unix from datetime when empty dict
-rw-r--r--core/core_bind.cpp3
-rw-r--r--doc/classes/OS.xml1
2 files changed, 4 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp
index e7a77384da..2d6b8e5666 100644
--- a/core/core_bind.cpp
+++ b/core/core_bind.cpp
@@ -373,6 +373,9 @@ Dictionary _OS::get_time(bool utc) const {
* @return epoch calculated
*/
int64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const {
+ // if datetime is an empty Dictionary throws an error
+ ERR_FAIL_COND_V_MSG(datetime.is_empty(), 0, "Invalid datetime Dictionary: Dictionary is empty");
+
// Bunch of conversion constants
static const unsigned int SECONDS_PER_MINUTE = 60;
static const unsigned int MINUTES_PER_HOUR = 60;
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 057a2b8d1a..548147beab 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -367,6 +367,7 @@
<description>
Gets an epoch time value from a dictionary of time values.
[code]datetime[/code] must be populated with the following keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]hour[/code], [code]minute[/code], [code]second[/code].
+ If the dictionary is empty [code]0[/code] is returned.
You can pass the output from [method get_datetime_from_unix_time] directly into this function. Daylight Savings Time ([code]dst[/code]), if present, is ignored.
</description>
</method>