From e51588399d15cde7ee283e1f72f99ddefa60f83d Mon Sep 17 00:00:00 2001
From: Linus Nordberg <linus@nordu.net>
Date: Thu, 15 Sep 2016 16:26:52 +0200
Subject: Don't use erlang:timestamp/0 on R17.

---
 src/plop.erl        |  2 +-
 src/plop_compat.erl | 11 ++++++++++-
 src/util.erl        |  2 +-
 3 files changed, 12 insertions(+), 3 deletions(-)

(limited to 'src')

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.
-- 
cgit v1.1