diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/misc/time/Makefile | 4 | ||||
| -rw-r--r-- | libc/misc/time/time.c | 32 | 
2 files changed, 36 insertions, 0 deletions
| diff --git a/libc/misc/time/Makefile b/libc/misc/time/Makefile index b47a97c33..1ed212cf0 100644 --- a/libc/misc/time/Makefile +++ b/libc/misc/time/Makefile @@ -38,6 +38,10 @@ ifeq ($(UCLIBC_HAS_XLOCALE),y)  endif  ifeq ($(UCLIBC_HAS_WCHAR),y) +	MOBJ += wcsftime.o +ifeq ($(UCLIBC_HAS_XLOCALE),y) +	MOBJx += wcsftime_l.o +endif  endif  CSRC= adjtime.c ftime.c clock_gettime.c diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c index c37874e28..e2f1f6c6d 100644 --- a/libc/misc/time/time.c +++ b/libc/misc/time/time.c @@ -2212,6 +2212,38 @@ time_t _time_mktime(struct tm *timeptr, int store_on_success)  #endif  /**********************************************************************/ +#if defined(L_wcsftime) || defined(L_wcsftime_l) + +#if defined(__UCLIBC_HAS_XLOCALE__) && !defined(__UCLIBC_DO_XLOCALE) + +extern size_t __wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, +			  __const wchar_t *__restrict __format, +			  __const struct tm *__restrict __timeptr, +			  __locale_t __loc) __THROW; + +size_t wcsftime(wchar_t *__restrict s, size_t maxsize, +				const wchar_t *__restrict format, +				const struct tm *__restrict timeptr) +{ +	return __wcsftime_l(s, maxsize, format, timeptr, __UCLIBC_CURLOCALE); +} + +#else  /* defined(__UCLIBC_HAS_XLOCALE__) && !defined(__UCLIBC_DO_XLOCALE) */ + +size_t __XL(wcsftime)(wchar_t *__restrict s, size_t maxsize, +					  const wchar_t *__restrict format, +					  const struct tm *__restrict timeptr   __LOCALE_PARAM ) +{ +#warning wcsftime always fails +	return 0;					/* always fail */ +} + +__XL_ALIAS(wcsftime) + +#endif /* defined(__UCLIBC_HAS_XLOCALE__) && !defined(__UCLIBC_DO_XLOCALE) */ + +#endif +/**********************************************************************/  #ifdef L_dysize  /* Return the number of days in YEAR.  */ | 
