aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/node_flat_sql.erl13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/node_flat_sql.erl b/src/node_flat_sql.erl
index 724958eb1..240dc3760 100644
--- a/src/node_flat_sql.erl
+++ b/src/node_flat_sql.erl
@@ -1064,15 +1064,14 @@ rsm_page(Count, Index, Offset, Items) ->
last = Last}.
encode_stamp(Stamp) ->
- case catch xmpp_util:decode_timestamp(Stamp) of
- {MS,S,US} -> encode_now({MS,S,US});
- _ -> Stamp
+ try xmpp_util:decode_timestamp(Stamp) of
+ Now ->
+ encode_now(Now)
+ catch _:{bad_timestamp, _} ->
+ Stamp % We should return a proper error to the client instead.
end.
decode_stamp(Stamp) ->
- case catch xmpp_util:encode_timestamp(decode_now(Stamp)) of
- TimeStamp when is_binary(TimeStamp) -> TimeStamp;
- _ -> Stamp
- end.
+ xmpp_util:encode_timestamp(decode_now(Stamp)).
encode_now({T1, T2, T3}) ->
<<(misc:i2l(T1, 6))/binary, ":",