r8582: added sys.httptime() call, to display a NTTIME as a http time string
authorAndrew Tridgell <tridge@samba.org>
Tue, 19 Jul 2005 06:07:34 +0000 (06:07 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:29:41 +0000 (13:29 -0500)
(This used to be commit 632f7bbe3e81af1ee89301765f8bfb72d4c9f3d7)

source4/scripting/ejs/smbcalls_sys.c

index af51c815dc3781749c376edcf44c36e6f8af303d..b1fb854dfb867722eff0863269bb15be3f08ce68 100644 (file)
@@ -117,6 +117,24 @@ static int ejs_sys_ldaptime(MprVarHandle eid, int argc, struct MprVar **argv)
        return 0;
 }
 
+/*
+  return a http time string from a nttime
+*/
+static int ejs_sys_httptime(MprVarHandle eid, int argc, struct MprVar **argv)
+{
+       char *s;
+       time_t t;
+       if (argc != 1 || !mprVarIsNumber(argv[0]->type)) {
+               ejsSetErrorMsg(eid, "sys_httptime invalid arguments");
+               return -1;
+       }
+       t = nt_time_to_unix(mprVarToNumber(argv[0]));
+       s = http_timestring(mprMemCtx(), t);
+       mpr_Return(eid, mprString(s));
+       talloc_free(s);
+       return 0;
+}
+
 /*
   unlink a file
    ok = unlink(fname);
@@ -182,6 +200,7 @@ static int ejs_sys_init(MprVarHandle eid, int argc, struct MprVar **argv)
        mprSetCFunction(&obj, "nttime", ejs_sys_nttime);
        mprSetCFunction(&obj, "gmtime", ejs_sys_gmtime);
        mprSetCFunction(&obj, "ldaptime", ejs_sys_ldaptime);
+       mprSetCFunction(&obj, "httptime", ejs_sys_httptime);
        mprSetStringCFunction(&obj, "unlink", ejs_sys_unlink);
        mprSetStringCFunction(&obj, "file_load", ejs_sys_file_load);
        mprSetStringCFunction(&obj, "file_save", ejs_sys_file_save);