From 77573522b34a0321ab4aabcce390fc1216c24a4b Mon Sep 17 00:00:00 2001 From: "Jesus Galan Lopez (yy)" Date: Sat, 4 Sep 2021 20:36:55 +0200 Subject: [PATCH] =?UTF-8?q?=E2=80=A2UnixTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/sysfn.c | 6 ++++++ src/utils/builtins.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/builtins/sysfn.c b/src/builtins/sysfn.c index 42810198..10a5c4c7 100644 --- a/src/builtins/sysfn.c +++ b/src/builtins/sysfn.c @@ -539,6 +539,11 @@ B list_c1(B d, B x) { return file_list(path_resolve(nfn_objU(d), x)); } +B unixTime_c1(B t, B x) { + dec(x); + B r = m_i32(time(NULL)); + return r; +} B delay_c1(B t, B x) { f64 sf = o2f(x); if (sf<0 || sf>1ULL<<63) thrF("•Delay: Bad argument: %f", sf); @@ -680,6 +685,7 @@ B sys_c1(B t, B x) { else if (eqStr(c, U"primind")) r.a[i] = inc(bi_primInd); else if (eqStr(c, U"bqn")) r.a[i] = inc(bi_bqn); else if (eqStr(c, U"cmp")) r.a[i] = inc(bi_cmp); + else if (eqStr(c, U"unixtime")) r.a[i] = inc(bi_unixTime); else if (eqStr(c, U"timed")) r.a[i] = inc(bi_timed); else if (eqStr(c, U"delay")) r.a[i] = inc(bi_delay); else if (eqStr(c, U"hash")) r.a[i] = inc(bi_hash); diff --git a/src/utils/builtins.h b/src/utils/builtins.h index 0e2c5c7e..37635a6e 100644 --- a/src/utils/builtins.h +++ b/src/utils/builtins.h @@ -9,7 +9,7 @@ /* everything before the definition of •Type is defined to be pure, and everything after is not */ \ /* sysfn.c*/M(type,"•Type") M(decp,"•Decompose") M(primInd,"•PrimInd") M(glyph,"•Glyph") A(fill,"•FillFn") M(sys,"•getsys") A(grLen,"•GroupLen") D(grOrd,"•groupOrd") \ /* sysfn.c*/M(repr,"•Repr") M(fmt,"•Fmt") A(asrt,"!") A(casrt,"!") M(out,"•Out") M(show,"•Show") M(bqn,"•BQN") M(sh,"•SH") M(fromUtf8,"•FromUTF8") \ -/* sysfn.c*/D(cmp,"•Cmp") A(hash,"•Hash") M(delay,"•Delay") M(makeRand,"•MakeRand") M(reBQN,"•ReBQN") M(exit,"•Exit") M(getLine,"•GetLine") \ +/* sysfn.c*/D(cmp,"•Cmp") A(hash,"•Hash") M(unixTime,"•UnixTime") M(delay,"•Delay") M(makeRand,"•MakeRand") M(reBQN,"•ReBQN") M(exit,"•Exit") M(getLine,"•GetLine") \ /*internal.c*/M(itype,"•internal.Type") M(refc,"•internal.Refc") M(squeeze,"•internal.Squeeze") M(isPure,"•internal.IsPure") A(info,"•internal.Info") \ /*internal.c*/D(variation,"•internal.Variation") A(listVariations,"•internal.ListVariations") M(clearRefs,"•internal.ClearRefs") M(unshare,"•internal.Unshare")