diff options
Diffstat (limited to 'lang/erlang14/files/patch-lib_stdlib_src_calendar.erl')
-rw-r--r-- | lang/erlang14/files/patch-lib_stdlib_src_calendar.erl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lang/erlang14/files/patch-lib_stdlib_src_calendar.erl b/lang/erlang14/files/patch-lib_stdlib_src_calendar.erl new file mode 100644 index 0000000..1ab9565 --- /dev/null +++ b/lang/erlang14/files/patch-lib_stdlib_src_calendar.erl @@ -0,0 +1,29 @@ + +$FreeBSD$ + +--- lib/stdlib/src/calendar.erl.orig ++++ lib/stdlib/src/calendar.erl +@@ -215,11 +215,19 @@ + + -spec local_time_to_universal_time_dst(t_datetime1970()) -> [t_datetime1970()]. + local_time_to_universal_time_dst(DateTime) -> +- UtDst = erlang:localtime_to_universaltime(DateTime, true), +- Ut = erlang:localtime_to_universaltime(DateTime, false), + %% Reverse check the universal times +- LtDst = erlang:universaltime_to_localtime(UtDst), +- Lt = erlang:universaltime_to_localtime(Ut), ++ {UtDst, LtDst} = ++ try ++ UtDst0 = erlang:localtime_to_universaltime(DateTime, true), ++ {UtDst0, erlang:universaltime_to_localtime(UtDst0)} ++ catch error:badarg -> {error, error} ++ end, ++ {Ut, Lt} = ++ try ++ Ut0 = erlang:localtime_to_universaltime(DateTime, false), ++ {Ut0, erlang:universaltime_to_localtime(Ut0)} ++ catch error:badarg -> {error, error} ++ end, + %% Return the valid universal times + case {LtDst,Lt} of + {DateTime,DateTime} when UtDst =/= Ut -> |