From 7a43f0cb8f2dcc3766256ebc81a62ae71689657a Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 7 Dec 2011 13:49:09 +0100 Subject: [PATCH] msvcrt: Added _Getdays implementation. --- dlls/msvcrt/locale.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c index aa5fe843764..00cb0a99392 100644 --- a/dlls/msvcrt/locale.c +++ b/dlls/msvcrt/locale.c @@ -419,13 +419,33 @@ MSVCRT_wchar_t* CDECL MSVCRT__wsetlocale(int category, const MSVCRT_wchar_t* loc /********************************************************************* * _Getdays (MSVCRT.@) */ -const char* CDECL _Getdays(void) +char* CDECL _Getdays(void) { - static const char MSVCRT_days[] = ":Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:" - "Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday"; - /* FIXME: Use locale */ - TRACE("(void) semi-stub\n"); - return MSVCRT_days; + MSVCRT___lc_time_data *cur = get_locinfo()->lc_time_curr; + int i, len, size; + char *out; + + TRACE("\n"); + + size = cur->str[2*7]-cur->str[0]; + out = MSVCRT_malloc(size+1); + if(!out) + return NULL; + + size = 0; + for(i=0; i<7; i++) { + out[size++] = ':'; + len = strlen(cur->str[i]); + memcpy(&out[size], cur->str[i], len); + size += len; + + out[size++] = ':'; + len = strlen(cur->str[7+i]); + memcpy(&out[size], cur->str[7+i], len); + size += len; + } + + return out; } /*********************************************************************