diff options
Diffstat (limited to 'newlib/libc/time/wcsftime.c')
-rw-r--r-- | newlib/libc/time/wcsftime.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/newlib/libc/time/wcsftime.c b/newlib/libc/time/wcsftime.c new file mode 100644 index 000000000..323a6c2eb --- /dev/null +++ b/newlib/libc/time/wcsftime.c @@ -0,0 +1,64 @@ +/* + * wcsftime.c + * Original Author: Craig Howland, for Newlib + * + * Source actually uses strftime.c. + * Documentation for wcsftime() here, with minimal overlap. + */ + +/* +FUNCTION +<<wcsftime>>--convert date and time to a formatted wide-character string + +INDEX + wcsftime + +ANSI_SYNOPSIS + #include <time.h> + #include <wchar.h> + size_t wcsftime(wchar_t *<[s]>, size_t <[maxsize]>, + const wchar_t *<[format]>, const struct tm *<[timp]>); + +DESCRIPTION +<<strftime>> is equivalent to <<strftime>>, 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 <<strftime>> 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 <<wcsftime>>, but do not specify the contents of +<<*<[s]>>> when the formatted string would require more than +<[maxsize]> characters. Unrecognized specifiers and fields of +<<timp>> 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 <<s>> being NULL, nor overlapping +<<s>> and <<format>>. + +SEEALSO +<<strftime>> + +<<wcsftime>> requires no supporting OS subroutines. +*/ + +#include <time.h> +#include <wchar.h> +#define MAKE_WCSFTIME +#include "../time/strftime.c" |