/* * wcsftime.c * Original Author: Craig Howland * * 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]>); TRAD_SYNOPSIS #include #include size_t wcsftime(<[s]>, <[maxsize]>, <[format]>, <[timp]>) wchar_t *<[s]>; size_t <[maxsize]>; wchar_t *<[format]>; struct tm *<[timp]>; DESCRIPTION <> is equivalent to <>, except that: The argument s points to the initial element of an array of wide characters into which the generated output is to be placed. The argument maxsize indicates the limiting number of wide characters. The argument format is a wide-character string and the conversion specifiers are replaced by corresponding sequences of wide characters. The return value indicates the number of wide 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. */ #include #include #define MAKE_WCSFTIME #include "../time/strftime.c"