diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 13:47:49 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 13:47:49 +0000 |
commit | f15aa3a552022743398a652165d76bf912c715e5 (patch) | |
tree | b58f8b4c47fc571fbb498d83a4bd4fca226ac6c4 /mdk-stage1/dietlibc/libugly/asctime_r.c | |
parent | 189b01c358a1181ddc951adba97a0258d5fc2cf1 (diff) | |
download | drakx-f15aa3a552022743398a652165d76bf912c715e5.tar drakx-f15aa3a552022743398a652165d76bf912c715e5.tar.gz drakx-f15aa3a552022743398a652165d76bf912c715e5.tar.bz2 drakx-f15aa3a552022743398a652165d76bf912c715e5.tar.xz drakx-f15aa3a552022743398a652165d76bf912c715e5.zip |
Initial revision
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/asctime_r.c')
-rw-r--r-- | mdk-stage1/dietlibc/libugly/asctime_r.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libugly/asctime_r.c b/mdk-stage1/dietlibc/libugly/asctime_r.c new file mode 100644 index 000000000..46325927c --- /dev/null +++ b/mdk-stage1/dietlibc/libugly/asctime_r.c @@ -0,0 +1,29 @@ +#include <time.h> + +static const char days[] = "Sun Mon Tue Wed Thu Fri Sat "; +static const char months[] = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec "; + +static void num2str(char *c,int i) { + c[0]=i/10+'0'; + c[1]=i%10+'0'; +} + +char *asctime_r(const struct tm *t, char *buf) { + /* "Wed Jun 30 21:49:08 1993\n" */ + *(int*)buf=*(int*)(days+(t->tm_wday<<2)); + *(int*)(buf+4)=*(int*)(months+(t->tm_mon<<2)); + num2str(buf+8,t->tm_mday); + if (buf[8]=='0') buf[8]=' '; + buf[10]=' '; + num2str(buf+11,t->tm_hour); + if (buf[11]=='0') buf[11]=' '; + buf[13]=':'; + num2str(buf+14,t->tm_min); + buf[16]=':'; + num2str(buf+17,t->tm_sec); + buf[19]=' '; + num2str(buf+20,(t->tm_year+1900)/100); + num2str(buf+22,(t->tm_year+1900)%100); + buf[24]='\n'; + return buf; +} |