Browse Source

[46188] fix: get unix from datetime when empty dict

(cherry picked from commit 1e820b3d9db58b6d72ad3ba227cd5e401893c72a)
Aitor Cereceto 4 years ago
parent
commit
7e5020b2fa
2 changed files with 3 additions and 0 deletions
  1. 2 0
      core/bind/core_bind.cpp
  2. 1 0
      doc/classes/OS.xml

+ 2 - 0
core/bind/core_bind.cpp

@@ -798,6 +798,8 @@ 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.empty(), 0, "Invalid datetime Dictionary: Dictionary is empty");
 
 	// Bunch of conversion constants
 	static const unsigned int SECONDS_PER_MINUTE = 60;

+ 1 - 0
doc/classes/OS.xml

@@ -549,6 +549,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>