ReactOS 0.4.16-dev-1067-ge98bba2
strdate.cpp File Reference
Include dependency graph for strdate.cpp:

Go to the source code of this file.

Functions

template<typename Character >
static errno_t __cdecl common_strdate_s (_Out_writes_z_(size_in_chars) Character *const buffer, _In_ _In_range_(>=, 9) size_t const size_in_chars) throw ()
 
errno_t __cdecl _strdate_s (char *const buffer, size_t const size_in_chars)
 
errno_t __cdecl _wstrdate_s (wchar_t *const buffer, size_t const size_in_chars)
 
template<typename Character >
 _Success_ (return !=0) static Character *__cdecl common_strdate(_Out_writes_z_(9) Character *const buffer) throw ()
 
char *__cdecl _strdate (char *const buffer)
 
wchar_t *__cdecl _wstrdate (wchar_t *const buffer)
 

Function Documentation

◆ _strdate()

char *__cdecl _strdate ( char *const  buffer)

Definition at line 76 of file strdate.cpp.

77{
78 return common_strdate(buffer);
79}
GLuint buffer
Definition: glext.h:5915

◆ _strdate_s()

errno_t __cdecl _strdate_s ( char *const  buffer,
size_t const  size_in_chars 
)

Definition at line 50 of file strdate.cpp.

51{
52 return common_strdate_s(buffer, size_in_chars);
53}
static errno_t __cdecl common_strdate_s(_Out_writes_z_(size_in_chars) Character *const buffer, _In_ _In_range_(>=, 9) size_t const size_in_chars)
Definition: strdate.cpp:16

◆ _Success_()

template<typename Character >
_Success_ ( return = 0) const
throw (
)

Definition at line 66 of file strdate.cpp.

68{
70 if (status != 0)
71 return nullptr;
72
73 return buffer;
74}
Definition: ps.c:97
int errno_t
Definition: corecrt.h:615

◆ _wstrdate()

wchar_t *__cdecl _wstrdate ( wchar_t *const  buffer)

Definition at line 81 of file strdate.cpp.

82{
83 return common_strdate(buffer);
84}

◆ _wstrdate_s()

errno_t __cdecl _wstrdate_s ( wchar_t *const  buffer,
size_t const  size_in_chars 
)

Definition at line 55 of file strdate.cpp.

56{
57 return common_strdate_s(buffer, size_in_chars);
58}

◆ common_strdate_s()

template<typename Character >
static errno_t __cdecl common_strdate_s ( _Out_writes_z_(size_in_chars) Character *const  buffer,
_In_ _In_range_(>=, 9) size_t const  size_in_chars 
)
throw (
)
static

Definition at line 16 of file strdate.cpp.

20{
21 _VALIDATE_RETURN_ERRCODE(buffer != nullptr && size_in_chars > 0, EINVAL);
22 _RESET_STRING(buffer, size_in_chars);
23 _VALIDATE_RETURN_ERRCODE(size_in_chars >= 9, ERANGE);
24
27
28 int const month = local_time.wMonth;
29 int const day = local_time.wDay;
30 int const year = local_time.wYear % 100;
31
32 static Character const zero_char = static_cast<Character>('0');
33
34#pragma warning(disable:__WARNING_POTENTIAL_BUFFER_OVERFLOW_HIGH_PRIORITY) // 26015
35
36 // Store the components of the date into the string in MM/DD/YY form:
37 buffer[0] = static_cast<Character>(month / 10 + zero_char); // Tens of month
38 buffer[1] = static_cast<Character>(month % 10 + zero_char); // Units of month
39 buffer[2] = static_cast<Character>('/');
40 buffer[3] = static_cast<Character>(day / 10 + zero_char); // Tens of day
41 buffer[4] = static_cast<Character>(day % 10 + zero_char); // Units of day
42 buffer[5] = static_cast<Character>('/');
43 buffer[6] = static_cast<Character>(year / 10 + zero_char); // Tens of year
44 buffer[7] = static_cast<Character>(year % 10 + zero_char); // Units of year
45 buffer[8] = static_cast<Character>('\0');
46
47 return 0;
48}
#define EINVAL
Definition: acclib.h:90
#define ERANGE
Definition: acclib.h:92
#define _RESET_STRING(_String, _Size)
static DOUBLE local_time(DOUBLE time, DateInstance *date)
Definition: date.c:351
static DOUBLE day(DOUBLE time)
Definition: date.c:117
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:286
static const WCHAR month[12][4]
Definition: session.c:2150
#define _VALIDATE_RETURN_ERRCODE(expr, errorcode)

Referenced by _strdate_s(), _Success_(), and _wstrdate_s().