pike.git
/
src
/
builtin.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/builtin.cmod:1:
/* -*- c -*- || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: builtin.cmod,v 1.
195
2008/
03
/
09
20
:
46
:
47
grubba
Exp $
+
|| $Id: builtin.cmod,v 1.
196
2008/
04
/
22
18
:
32
:
53
mast
Exp $
*/ #include "global.h" #include "interpret.h" #include "svalue.h" #include "pike_macros.h" #include "object.h" #include "program.h" #include "array.h" #include "pike_error.h"
pike.git/src/builtin.cmod:591:
*! *! Like @[localtime], this function might throw an error if the *! ctime(2) call failed on the system. It's platform dependent what *! time ranges that function can handle, e.g. Windows doesn't handle *! a negative @[timestamp]. *! *! @seealso *! @[time()], @[localtime()], @[mktime()], @[gmtime()] */ PMOD_EXPORT
-
PIKEFUN string ctime(
int
timestamp)
+
PIKEFUN string ctime(
longest
timestamp)
efun; optflags OPT_TRY_OPTIMIZE; {
-
time_t i=(time_t)timestamp;
-
char *
s = ctime (&i);
+
time_t i
;
+
char *s;
+
+
#if SIZEOF_TIME_T < SIZEOF_LONGEST
+
if (tt > MAX_TIME_T || tt < MIN_TIME_T)
+
SIMPLE_ARG_ERROR ("gmtime", 1, "Timestamp outside valid range.");
+
#endif
+
+
i
=
(time_t)
timestamp;
+
s = ctime (&i);
if (!s) Pike_error ("ctime() on this system cannot handle " "the timestamp %ld.\n", (long) i); RETURN make_shared_string(s); } /*! @decl mapping mkmapping(array ind, array val) *! *! Make a mapping from two arrays. *! *! Makes a mapping @[ind[x]]:@[val[x]], @tt{0 <= x < sizeof(ind)@}.