/* * wcsftime.c * Original Author: Craig Howland, for Newlib * * Source actually uses strftime.c. * Documentation for wcsftime() here, with minimal overlap. */ /* FUNCTION <>---convert date and time to a formatted wide-character string INDEX wcsftime ANSI_SYNOPSIS #include #include size_t wcsftime(wchar_t *<[s]>, size_t <[maxsize]>, const wchar_t *<[format]>, const struct tm *<[timp]>); DESCRIPTION <> is equivalent to <>, except that: O+ o The argument s points to the initial element of an array of wide characters into which the generated output is to be placed. o The argument maxsize indicates the limiting number of wide characters. o The argument format is a wide-character string and the conversion specifiers are replaced by corresponding sequences of wide characters. o The return value indicates the number of wide characters. O- (The difference in all of the above being wide characters versus regular characters.) See <> for the details of the format specifiers. RETURNS When the formatted time takes up no more than <[maxsize]> wide characters, the result is the length of the formatted wide string. Otherwise, if the formatting operation was abandoned due to lack of room, the result is <<0>>, and the wide-character string starting at <[s]> corresponds to just those parts of <<*<[format]>>> that could be completely filled in within the <[maxsize]> limit. PORTABILITY C99 and POSIX require <>, but do not specify the contents of <<*<[s]>>> when the formatted string would require more than <[maxsize]> characters. Unrecognized specifiers and fields of <> that are out of range cause undefined results. Since some formats expand to 0 bytes, it is wise to set <<*<[s]>>> to a nonzero value beforehand to distinguish between failure and an empty string. This implementation does not support <> being NULL, nor overlapping <> and <>. <> requires no supporting OS subroutines. SEEALSO <> */ #include #include #define MAKE_WCSFTIME #include "../time/strftime.c"