asctime.c - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
asctime.c (894B)
---
1 #include <time.h>
2 #include <string.h>
3
4 static char *day[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
5 static char *mon[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
6 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
7
8 char *asctime(const struct tm *tm)
9 {
10 static char buf[20];
11 char *p;
12
13 p = buf;
14 memmove(p, day[tm->tm_wday], 3);
15 p += 3;
16 *p++ = ' ';
17 memmove(p, mon[tm->tm_mon], 3);
18 p += 3;
19 *p++ = ' ';
20 *p++ = '0' + tm->tm_mday / 10;
21 *p++ = '0' + tm->tm_mday % 10;
22 *p++ = ' ';
23 *p++ = '0' + tm->tm_hour / 10;
24 *p++ = '0' + tm->tm_hour % 10;
25 *p++ = ':';
26 *p++ = '0' + tm->tm_min / 10;
27 *p++ = '0' + tm->tm_min % 10;
28 *p++ = ':';
29 *p++ = '0' + tm->tm_sec / 10;
30 *p++ = '0' + tm->tm_sec % 10;
31 *p++ = ' ';
32 int y = tm->tm_year + 1900;
33 *p++ = '0' + y / 1000;
34 *p++ = '0' + (y / 100) % 10;
35 *p++ = '0' + (y / 10) % 10;
36 *p++ = '0' + y % 10;
37 *p++ = '\n';
38 *p = 0;
39
40 return buf;
41 }