perl 5.0 alpha 2
[p5sagit/p5-mst-13.2.git] / do / time
1 int
2 do_time(TARG,tmbuf,gimme,arglast)
3 STR *TARG;
4 struct tm *tmbuf;
5 int gimme;
6 int *arglast;
7 {
8     register ARRAY *ary = stack;
9     STR **st = ary->ary_array;
10     register int sp = arglast[0];
11
12     if (!tmbuf || gimme != G_ARRAY) {
13         str_sset(TARG,&str_undef);
14         STABSET(TARG);
15         st[++sp] = TARG;
16         return sp;
17     }
18     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_sec)));
19     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_min)));
20     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_hour)));
21     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_mday)));
22     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_mon)));
23     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_year)));
24     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_wday)));
25     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_yday)));
26     (void)astore(ary,++sp,str_2mortal(str_nmake((double)tmbuf->tm_isdst)));
27     return sp;
28 }
29