[KERNEL32] Apply Wine commit debd62c by Daniel Jelinski: Improved stub for GetCalenda...
[reactos.git] / reactos / dll / win32 / kernel32 / winnls / string / lcformat.c
index bf8b7ae..386f8fa 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-//#include "config.h"
-//#include "wine/port.h"
+#include <k32.h>
 
-#include <string.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "wine/unicode.h"
-#include "wine/debug.h"
-#include "winternl.h"
+#define NDEBUG
+#include <debug.h>
+DEBUG_CHANNEL(nls);
 
 #define CRITICAL_SECTION RTL_CRITICAL_SECTION
 #define CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG
 #define CALINFO_MAX_YEAR 2029
 
-#define HeapAlloc RtlAllocateHeap
-#define HeapReAlloc RtlReAllocateHeap
-#define HeapFree RtlFreeHeap
-
-WINE_DEFAULT_DEBUG_CHANNEL(nls);
-
 #define DATE_DATEVARSONLY 0x0100  /* only date stuff: yMdg */
 #define TIME_TIMEVARSONLY 0x0200  /* only time stuff: hHmst */
 
@@ -2152,11 +2138,14 @@ int WINAPI GetCalendarInfoW(LCID Locale, CALID Calendar, CALTYPE CalType,
      * for the CALTYPES not requiring GetLocaleInfoA */
     switch (CalType & ~(CAL_NOUSEROVERRIDE|CAL_RETURN_NUMBER|CAL_USE_CP_ACP)) {
        case CAL_ICALINTVALUE:
-            FIXME("Unimplemented caltype %d\n", CalType & 0xffff);
-           return 0;
+            if (CalType & CAL_RETURN_NUMBER)
+                return GetLocaleInfoW(Locale, LOCALE_RETURN_NUMBER | LOCALE_ICALENDARTYPE,
+                        (LPWSTR)lpValue, 2);
+            return GetLocaleInfoW(Locale, LOCALE_ICALENDARTYPE, lpCalData, cchData);
        case CAL_SCALNAME:
             FIXME("Unimplemented caltype %d\n", CalType & 0xffff);
-           return 0;
+            if (lpCalData) *lpCalData = 0;
+           return 1;
        case CAL_IYEAROFFSETRANGE:
             FIXME("Unimplemented caltype %d\n", CalType & 0xffff);
            return 0;