summaryrefslogtreecommitdiff
path: root/src/time/mktime.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-12 00:22:29 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-12 00:22:29 -0500
commit0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 (patch)
tree6eaef0d8a720fa3da580de87b647fff796fe80b3 /src/time/mktime.c
downloadmusl-0b44a0315b47dd8eced9f3b7f31580cf14bbfc01.tar.gz
initial check-in, version 0.5.0v0.5.0
Diffstat (limited to 'src/time/mktime.c')
-rw-r--r--src/time/mktime.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/time/mktime.c b/src/time/mktime.c
new file mode 100644
index 00000000..858cd50d
--- /dev/null
+++ b/src/time/mktime.c
@@ -0,0 +1,24 @@
+#include <time.h>
+
+#include "__time.h"
+
+time_t mktime(struct tm *tm)
+{
+ int isdst = tm->tm_isdst;
+ time_t t, lt;
+
+ __tzset();
+
+ tm->tm_sec += __timezone;
+ if (isdst > 0) tm->tm_sec += __dst_offset;
+
+ t = __tm_to_time(tm);
+
+ lt = t - __timezone;
+ if (isdst > 0) lt -= __dst_offset;
+ __time_to_tm(lt, tm);
+
+ __dst_adjust(tm);
+
+ return t;
+}