*p2 = hlp;
}
+/* INTERNAL: returns _locale_t struct for current locale */
+MSVCRT__locale_t get_locale(void) {
+ thread_data_t *data = msvcrt_get_thread_data();
+
+ if(!data || !data->locale)
+ return MSVCRT_locale;
+
+ return data->locale;
+}
+
/*********************************************************************
* wsetlocale (MSVCRT.@)
HeapFree(GetProcessHeap(),0,tls->asctime_buffer);
HeapFree(GetProcessHeap(),0,tls->wasctime_buffer);
HeapFree(GetProcessHeap(),0,tls->strerror_buffer);
+ _free_locale(tls->locale);
}
HeapFree(GetProcessHeap(), 0, tls);
}
MSVCRT_unexpected_function unexpected_handler;
MSVCRT__se_translator_function se_translator;
EXCEPTION_RECORD *exc_record;
+ struct MSVCRT_localeinfo_struct *locale;
};
typedef struct __thread_data thread_data_t;
} MSVCRT__locale_tstruct, *MSVCRT__locale_t;
extern MSVCRT__locale_t MSVCRT_locale;
+MSVCRT__locale_t get_locale(void);
void __cdecl _free_locale(MSVCRT__locale_t);
#ifndef __WINE_MSVCRT_TEST