summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plop.erl2
-rw-r--r--src/plop_compat.erl11
-rw-r--r--src/util.erl2
3 files changed, 12 insertions, 3 deletions
diff --git a/src/plop.erl b/src/plop.erl
index c5c83bb..3c2b8a5 100644
--- a/src/plop.erl
+++ b/src/plop.erl
@@ -370,7 +370,7 @@ signature_alg_type(ecdsa) -> 3.
-spec generate_timestamp() -> integer().
generate_timestamp() ->
- {NowMegaSec, NowSec, NowMicroSec} = erlang:timestamp(),
+ {NowMegaSec, NowSec, NowMicroSec} = plop_compat:timestamp(),
trunc(NowMegaSec * 1.0e9
+ NowSec * 1.0e3
+ NowMicroSec / 1.0e3).
diff --git a/src/plop_compat.erl b/src/plop_compat.erl
index d9f3620..d59edf0 100644
--- a/src/plop_compat.erl
+++ b/src/plop_compat.erl
@@ -1,9 +1,12 @@
-module(plop_compat).
--export([unpack_spki/1]).
+-export([unpack_spki/1, timestamp/0]).
-include_lib("public_key/include/public_key.hrl").
unpack_spki(SPKI) ->
unpack_spki(erlang:system_info(otp_release), SPKI).
+timestamp() ->
+ timestamp(erlang:system_info(otp_release)).
+
unpack_spki("17", SPKI) ->
#'SubjectPublicKeyInfo'{subjectPublicKey = {_, Octets},
@@ -13,3 +16,9 @@ unpack_spki("18", SPKI) ->
#'SubjectPublicKeyInfo'{subjectPublicKey = Octets,
algorithm = Algorithm} = SPKI,
{Octets, Algorithm}.
+
+%% <=R17: now/0, >=R18 timestamp/0
+timestamp("17") ->
+ erlang:now();
+timestamp("18") ->
+ erlang:timestamp().
diff --git a/src/util.erl b/src/util.erl
index ac50eec..234b040 100644
--- a/src/util.erl
+++ b/src/util.erl
@@ -10,7 +10,7 @@
-spec tempfilename(string()) -> string().
tempfilename(Base) ->
- {MegaSecs, Secs, MicroSecs} = erlang:timestamp(),
+ {MegaSecs, Secs, MicroSecs} = plop_compat:timestamp(),
Filename = io_lib:format("~s-~s-~p.~p", [Base, os:getpid(),
MegaSecs * 1000000 + Secs, MicroSecs]),
Filename.