ni_nitdoc: simplified github option
[nit.git] / c_src / standard___time._ffi.c
1 /*
2 Extern implementation of Nit module time
3 */
4 #include "standard___time._ffi.h"
5
6 time_t new_TimeT___impl( )
7 {
8 #line 34 "../lib/standard/time.nit"
9
10 return time(NULL); }
11
12 time_t new_TimeT_from_i___impl( bigint i )
13 {
14 #line 35 "../lib/standard/time.nit"
15
16 return i; }
17
18 void TimeT_update___impl( time_t recv )
19 {
20 #line 37 "../lib/standard/time.nit"
21
22 time(&recv); }
23
24 String TimeT_ctime___impl( time_t recv )
25 {
26 #line 39 "../lib/standard/time.nit"
27
28
29 return NativeString_to_s_with_copy( ctime(&recv) );
30 }
31
32 float TimeT_difftime___impl( time_t recv, time_t start )
33 {
34 #line 44 "../lib/standard/time.nit"
35
36 return difftime(recv, start); }
37
38 bigint TimeT_to_i___impl( time_t recv )
39 {
40 #line 47 "../lib/standard/time.nit"
41
42 return (int)recv; }
43
44 struct tm * new_Tm_gmtime___impl( )
45 {
46 #line 52 "../lib/standard/time.nit"
47
48
49 struct tm *tm;
50 time_t t = time(NULL);
51 tm = gmtime(&t);
52 return tm;
53 }
54
55 struct tm * new_Tm_gmtime_from_timet___impl( time_t t )
56 {
57 #line 58 "../lib/standard/time.nit"
58
59
60 struct tm *tm;
61 tm = gmtime(&t);
62 return tm;
63 }
64
65 struct tm * new_Tm_localtime___impl( )
66 {
67 #line 64 "../lib/standard/time.nit"
68
69
70 struct tm *tm;
71 time_t t = time(NULL);
72 tm = localtime(&t);
73 return tm;
74 }
75
76 struct tm * new_Tm_localtime_from_timet___impl( time_t t )
77 {
78 #line 70 "../lib/standard/time.nit"
79
80
81 struct tm *tm;
82 tm = localtime(&t);
83 return tm;
84 }
85
86 time_t Tm_to_timet___impl( struct tm * recv )
87 {
88 #line 76 "../lib/standard/time.nit"
89
90 return mktime(recv); }
91
92 bigint Tm_sec___impl( struct tm * recv )
93 {
94 #line 78 "../lib/standard/time.nit"
95
96 return recv->tm_sec; }
97
98 bigint Tm_min___impl( struct tm * recv )
99 {
100 #line 79 "../lib/standard/time.nit"
101
102 return recv->tm_min; }
103
104 bigint Tm_hour___impl( struct tm * recv )
105 {
106 #line 80 "../lib/standard/time.nit"
107
108 return recv->tm_hour; }
109
110 bigint Tm_mday___impl( struct tm * recv )
111 {
112 #line 81 "../lib/standard/time.nit"
113
114 return recv->tm_mday; }
115
116 bigint Tm_mon___impl( struct tm * recv )
117 {
118 #line 82 "../lib/standard/time.nit"
119
120 return recv->tm_mon; }
121
122 bigint Tm_year___impl( struct tm * recv )
123 {
124 #line 83 "../lib/standard/time.nit"
125
126 return recv->tm_year; }
127
128 bigint Tm_wday___impl( struct tm * recv )
129 {
130 #line 84 "../lib/standard/time.nit"
131
132 return recv->tm_wday; }
133
134 bigint Tm_yday___impl( struct tm * recv )
135 {
136 #line 85 "../lib/standard/time.nit"
137
138 return recv->tm_yday; }
139
140 int Tm_is_dst___impl( struct tm * recv )
141 {
142 #line 86 "../lib/standard/time.nit"
143
144 return recv->tm_isdst; }
145
146 String Tm_asctime___impl( struct tm * recv )
147 {
148 #line 88 "../lib/standard/time.nit"
149
150
151 return NativeString_to_s_with_copy( asctime(recv) );
152 }
153
154 String Tm_strftime___impl( struct tm * recv, String format )
155 {
156 #line 91 "../lib/standard/time.nit"
157
158
159 char* buf, *c_format;
160 size_t res;
161
162 buf = (char*)malloc(100);
163 c_format = String_to_cstring(format);
164
165 res = strftime(buf, 100, c_format, recv);
166 return NativeString_to_s(buf);
167 }