summaryrefslogtreecommitdiff
path: root/src/time/__asctime.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-09-06 13:51:10 -0400
committerRich Felker <dalias@aerifal.cx>2018-09-12 14:34:28 -0400
commitb5dbf4d424efdbe54daa939aae80d69c4244c023 (patch)
treef023d22580b1e074aa926dfaca38fa69fbd44cfa /src/time/__asctime.c
parentcb229f614f937515b78e40701f36c26c7def01b7 (diff)
downloadmusl-b5dbf4d424efdbe54daa939aae80d69c4244c023.tar.gz
use idiomatic weak alias approach for defining asctime_r
get rid of a gratuitous translation unit and call frame between asctime_r and the actual implementation of the function. this is the way gmtime_r and localtime_r are already done.
Diffstat (limited to 'src/time/__asctime.c')
-rw-r--r--src/time/__asctime.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/time/__asctime.c b/src/time/__asctime.c
deleted file mode 100644
index f114dfe7..00000000
--- a/src/time/__asctime.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <time.h>
-#include <stdio.h>
-#include <langinfo.h>
-#include "locale_impl.h"
-#include "atomic.h"
-
-const char *__nl_langinfo_l(nl_item, locale_t);
-
-char *__asctime(const struct tm *restrict tm, char *restrict buf)
-{
- if (snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
- __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)
- {
- /* ISO C requires us to use the above format string,
- * even if it will not fit in the buffer. Thus asctime_r
- * is _supposed_ to crash if the fields in tm are too large.
- * We follow this behavior and crash "gracefully" to warn
- * application developers that they may not be so lucky
- * on other implementations (e.g. stack smashing..).
- */
- a_crash();
- }
- return buf;
-}