X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftime%2F__asctime.c;h=f114dfe78c04f0823ab5f4d37f59a28b2768e1f4;hb=aaa29c26eed4a09625e61c6af31d16b1a4163fc3;hp=d31f63477a5591127e4311505800bfe7a4c4e604;hpb=71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe;p=musl diff --git a/src/time/__asctime.c b/src/time/__asctime.c index d31f6347..f114dfe7 100644 --- a/src/time/__asctime.c +++ b/src/time/__asctime.c @@ -1,15 +1,16 @@ #include #include #include +#include "locale_impl.h" +#include "atomic.h" -const char *__langinfo(nl_item); +const char *__nl_langinfo_l(nl_item, locale_t); -char *__asctime(const struct tm *tm, char *buf) +char *__asctime(const struct tm *restrict tm, char *restrict buf) { - /* FIXME: change __langinfo to __C_langinfo once we have locales */ if (snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n", - __langinfo(ABDAY_1+tm->tm_wday), - __langinfo(ABMON_1+tm->tm_mon), + __nl_langinfo_l(ABDAY_1+tm->tm_wday, C_LOCALE), + __nl_langinfo_l(ABMON_1+tm->tm_mon, C_LOCALE), tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, 1900 + tm->tm_year) >= 26) @@ -21,7 +22,7 @@ char *__asctime(const struct tm *tm, char *buf) * application developers that they may not be so lucky * on other implementations (e.g. stack smashing..). */ - *(volatile int*)0 = 0; + a_crash(); } return buf; }