TRACE("(0x%04x,0x%08x,%s,%p,%p,%d)\n", lcid, dwFlags, debugstr_w(lpszValue),
lpFormat, lpNumberStr, cchOut);
+ lcid = ConvertDefaultLocale(lcid);
+
if (!lpszValue || cchOut < 0 || (cchOut > 0 && !lpNumberStr) ||
- !IsValidLocale(lcid, 0) ||
+ !IsValidLocale(lcid, LCID_INSTALLED) ||
(lpFormat && (dwFlags || !lpFormat->lpDecimalSep || !lpFormat->lpThousandSep)))
{
goto error;
TRACE("(0x%04x,0x%08x,%s,%p,%p,%d)\n", lcid, dwFlags, debugstr_w(lpszValue),
lpFormat, lpCurrencyStr, cchOut);
+ lcid = ConvertDefaultLocale(lcid);
+
if (!lpszValue || cchOut < 0 || (cchOut > 0 && !lpCurrencyStr) ||
- !IsValidLocale(lcid, 0) ||
+ !IsValidLocale(lcid, LCID_INSTALLED) ||
(lpFormat && (dwFlags || !lpFormat->lpDecimalSep || !lpFormat->lpThousandSep ||
!lpFormat->lpCurrencySymbol || lpFormat->NegativeOrder > 15 ||
lpFormat->PositiveOrder > 3)))
* Format an integer according to the current locale
*
* RETURNS
- * The number of bytes written on success or 0 on failure
+ * The number of characters written on success or 0 on failure
*/
static int FormatInt(LONGLONG qdwValue, LPWSTR pszBuf, int cchBuf)
{
* after the decimal point
*
* RETURNS
- * The number of bytes written on success or 0 on failure
+ * The number of characters written on success or 0 on failure
*/
static int FormatDouble(double value, int decimals, LPWSTR pszBuf, int cchBuf)
{